本文整理汇总了C++中TrackExceptionState::message方法的典型用法代码示例。如果您正苦于以下问题:C++ TrackExceptionState::message方法的具体用法?C++ TrackExceptionState::message怎么用?C++ TrackExceptionState::message使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TrackExceptionState
的用法示例。
在下文中一共展示了TrackExceptionState::message方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: populateForm
TEST_F(PasswordCredentialTest, CreateFromFormNoId)
{
HTMLFormElement* form = populateForm("multipart/form-data",
"<!-- No username field. -->"
"<input type='text' name='thePassword' value='sekrit' autocomplete='current-password'>"
"<input type='text' name='theIcon' value='https://example.com/photo' autocomplete='photo'>"
"<input type='text' name='theName' value='friendly name' autocomplete='name'>");
TrackExceptionState exceptionState;
PasswordCredential* credential = PasswordCredential::create(form, exceptionState);
EXPECT_EQ(nullptr, credential);
EXPECT_TRUE(exceptionState.hadException());
EXPECT_EQ(V8TypeError, exceptionState.code());
EXPECT_EQ("'id' must not be empty.", exceptionState.message());
}
示例2: query
ScriptPromise Permissions::query(ScriptState* scriptState, const ScriptValue& rawPermission)
{
WebPermissionClient* client = permissionClient(scriptState->executionContext());
if (!client)
return ScriptPromise::rejectWithDOMException(scriptState, DOMException::create(InvalidStateError, "In its current state, the global scope can't query permissions."));
TrackExceptionState exceptionState;
PermissionDescriptor permission = NativeValueTraits<PermissionDescriptor>::nativeValue(scriptState->isolate(), rawPermission.v8Value(), exceptionState);
if (exceptionState.hadException())
return ScriptPromise::reject(scriptState, v8::Exception::TypeError(v8String(scriptState->isolate(), exceptionState.message())));
RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scriptState);
ScriptPromise promise = resolver->promise();
String name = permission.name();
WebPermissionType type;
if (name == "geolocation") {
type = WebPermissionTypeGeolocation;
} else if (name == "notifications") {
type = WebPermissionTypeNotifications;
} else if (name == "push") {
PushPermissionDescriptor pushPermission = NativeValueTraits<PushPermissionDescriptor>::nativeValue(scriptState->isolate(), rawPermission.v8Value(), exceptionState);
// Only "userVisible" push is supported for now.
if (!pushPermission.userVisible()) {
resolver->resolve(PermissionStatus::create(scriptState->executionContext(), WebPermissionStatusDenied, WebPermissionTypePush));
return promise;
}
type = WebPermissionTypePushNotifications;
} else if (name == "midi") {
MidiPermissionDescriptor midiPermission = NativeValueTraits<MidiPermissionDescriptor>::nativeValue(scriptState->isolate(), rawPermission.v8Value(), exceptionState);
// Only sysex usage requires a permission for now.
if (!midiPermission.sysex()) {
resolver->resolve(PermissionStatus::create(scriptState->executionContext(), WebPermissionStatusGranted, WebPermissionTypeMidi));
return promise;
}
type = WebPermissionTypeMidiSysEx;
} else {
ASSERT_NOT_REACHED();
type = WebPermissionTypeGeolocation;
}
// If the current origin is a file scheme, it will unlikely return a
// meaningful value because most APIs are broken on file scheme and no
// permission prompt will be shown even if the returned permission will most
// likely be "prompt".
client->queryPermission(type, KURL(KURL(), scriptState->executionContext()->securityOrigin()->toString()), new PermissionQueryCallback(resolver, type));
return promise;
}
示例3: query
ScriptPromise Permissions::query(ScriptState* scriptState, const Dictionary& rawPermission)
{
WebPermissionClient* client = getClient(scriptState->executionContext());
if (!client)
return ScriptPromise::rejectWithDOMException(scriptState, DOMException::create(InvalidStateError, "In its current state, the global scope can't query permissions."));
TrackExceptionState exceptionState;
PermissionDescriptor permission = NativeValueTraits<PermissionDescriptor>::nativeValue(scriptState->isolate(), rawPermission.v8Value(), exceptionState);
if (exceptionState.hadException())
return ScriptPromise::reject(scriptState, v8::Exception::TypeError(v8String(scriptState->isolate(), exceptionState.message())));
ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState);
ScriptPromise promise = resolver->promise();
WebPermissionType type = getPermissionType(scriptState, rawPermission, permission, exceptionState);
if (handleNotSupportedPermission(scriptState, rawPermission, resolver, type, exceptionState))
return promise;
// If the current origin is a file scheme, it will unlikely return a
// meaningful value because most APIs are broken on file scheme and no
// permission prompt will be shown even if the returned permission will most
// likely be "prompt".
client->queryPermission(type, KURL(KURL(), scriptState->executionContext()->securityOrigin()->toString()), new PermissionCallback(resolver, type));
return promise;
}
示例4: revoke
ScriptPromise Permissions::revoke(ScriptState* scriptState, const Dictionary& rawPermission)
{
WebPermissionClient* client = getClient(scriptState->executionContext());
if (!client)
return ScriptPromise::rejectWithDOMException(scriptState, DOMException::create(InvalidStateError, "In its current state, the global scope can't query permissions."));
TrackExceptionState exceptionState;
PermissionDescriptor permission = NativeValueTraits<PermissionDescriptor>::nativeValue(scriptState->isolate(), rawPermission.v8Value(), exceptionState);
if (exceptionState.hadException())
return ScriptPromise::reject(scriptState, v8::Exception::TypeError(v8String(scriptState->isolate(), exceptionState.message())));
ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState);
ScriptPromise promise = resolver->promise();
WebPermissionType type = getPermissionType(scriptState, rawPermission, permission, exceptionState);
if (handleNotSupportedPermission(scriptState, rawPermission, resolver, type, exceptionState))
return promise;
client->revokePermission(type, KURL(KURL(), scriptState->executionContext()->securityOrigin()->toString()), new PermissionCallback(resolver, type));
return promise;
}
示例5: request
ScriptPromise Permissions::request(ScriptState* scriptState, const Vector<Dictionary>& rawPermissions)
{
WebPermissionClient* client = getClient(scriptState->executionContext());
if (!client)
return ScriptPromise::rejectWithDOMException(scriptState, DOMException::create(InvalidStateError, "In its current state, the global scope can't query permissions."));
TrackExceptionState exceptionState;
OwnPtr<WebVector<WebPermissionType>> permissions = adoptPtr(new WebVector<WebPermissionType>(rawPermissions.size()));
for (size_t i = 0; i < rawPermissions.size(); ++i) {
const Dictionary& rawPermission = rawPermissions[i];
PermissionDescriptor permission = NativeValueTraits<PermissionDescriptor>::nativeValue(scriptState->isolate(), rawPermission.v8Value(), exceptionState);
if (exceptionState.hadException())
return ScriptPromise::reject(scriptState, v8::Exception::TypeError(v8String(scriptState->isolate(), exceptionState.message())));
permissions->operator[](i) = getPermissionType(scriptState, rawPermission, permission, exceptionState);
}
ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState);
ScriptPromise promise = resolver->promise();
// We need to do this is a separate loop because we can't create the Resolver and Promise untile we are clear of all parsing/type errors.
for (size_t i = 0; i < rawPermissions.size(); ++i) {
if (handleNotSupportedPermission(scriptState, rawPermissions[i], resolver, (*permissions)[i], exceptionState))
return promise;
}
client->requestPermissions(*permissions, KURL(KURL(), scriptState->executionContext()->securityOrigin()->toString()), new PermissionsCallback(resolver, permissions.release()));
return promise;
}
示例6: fetch
ScriptPromise ServiceWorkerGlobalScope::fetch(ScriptState* scriptState, const String& urlstring, const Dictionary& requestInit)
{
if (!m_fetchManager)
return ScriptPromise::reject(scriptState, V8ThrowException::createTypeError(scriptState->isolate(), "ServiceWorkerGlobalScope is shutting down."));
// "Let |r| be the associated request of the result of invoking the initial
// value of Request as constructor with |input| and |init| as arguments. If
// this throws an exception, reject |p| with it."
TrackExceptionState exceptionState;
Request* r = Request::create(this, urlstring, requestInit, exceptionState);
if (exceptionState.hadException()) {
// FIXME: We should throw the caught error.
return ScriptPromise::reject(scriptState, V8ThrowException::createTypeError(scriptState->isolate(), exceptionState.message()));
}
return m_fetchManager->fetch(scriptState, r->request());
}