Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(204)

Unified Diff: Source/bindings/tests/results/core/V8TestInterface3.cpp

Issue 938403007: Support [TypeChecking] on dependent/partial interfaces. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: follow naming convention for to_list helper Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/bindings/tests/idls/core/TestPartialInterface4.idl ('k') | Tools/Scripts/webkitpy/bindings/main.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/bindings/tests/results/core/V8TestInterface3.cpp
diff --git a/Source/bindings/tests/results/core/V8TestInterface3.cpp b/Source/bindings/tests/results/core/V8TestInterface3.cpp
index b8a65a94c9e87f6f44c9c395e4984802f8adb1f4..14153ac35aaf1231f270c3599b9646d460d53c69 100644
--- a/Source/bindings/tests/results/core/V8TestInterface3.cpp
+++ b/Source/bindings/tests/results/core/V8TestInterface3.cpp
@@ -11,10 +11,12 @@
#include "bindings/core/v8/ScriptState.h"
#include "bindings/core/v8/ScriptValue.h"
#include "bindings/core/v8/V8DOMConfiguration.h"
+#include "bindings/core/v8/V8Document.h"
#include "bindings/core/v8/V8HiddenValue.h"
#include "bindings/core/v8/V8Iterator.h"
#include "bindings/core/v8/V8Node.h"
#include "bindings/core/v8/V8ObjectConstructor.h"
+#include "bindings/tests/idls/core/TestPartialInterface4.h"
#include "core/dom/ContextFeatures.h"
#include "core/dom/Document.h"
#include "platform/RuntimeEnabledFeatures.h"
@@ -33,6 +35,27 @@ const WrapperTypeInfo& TestInterface3::s_wrapperTypeInfo = V8TestInterface3::wra
namespace TestInterface3V8Internal {
+static void voidMethodDocumentMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
+{
+ if (UNLIKELY(info.Length() < 1)) {
+ V8ThrowException::throwException(createMinimumArityTypeErrorForMethod(info.GetIsolate(), "voidMethodDocument", "TestInterface3", 1, info.Length()), info.GetIsolate());
+ return;
+ }
+ TestInterface3* impl = V8TestInterface3::toImpl(info.Holder());
+ Document* document;
+ {
+ document = V8Document::toImplWithTypeCheck(info.GetIsolate(), info[0]);
+ }
+ impl->voidMethodDocument(document);
+}
+
+static void voidMethodDocumentMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
+{
+ TRACE_EVENT_SET_SAMPLING_STATE("blink", "DOMMethod");
+ TestInterface3V8Internal::voidMethodDocumentMethod(info);
+ TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution");
+}
+
static void keysMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
{
ExceptionState exceptionState(ExceptionState::ExecutionContext, "keys", "TestInterface3", info.Holder(), info.GetIsolate());
@@ -53,6 +76,39 @@ static void keysMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution");
}
+#if ENABLE(BAR)
+static void voidMethodDocumentMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
+{
+ ExceptionState exceptionState(ExceptionState::ExecutionContext, "voidMethodDocument", "TestInterface3", info.Holder(), info.GetIsolate());
+ if (UNLIKELY(info.Length() < 2)) {
+ setMinimumArityTypeError(exceptionState, 2, info.Length());
+ exceptionState.throwIfNeeded();
+ return;
+ }
+ Document* document;
+ double d;
+ {
+ document = V8Document::toImplWithTypeCheck(info.GetIsolate(), info[0]);
+ if (!document) {
+ exceptionState.throwTypeError("parameter 1 is not of type 'Document'.");
+ exceptionState.throwIfNeeded();
+ return;
+ }
+ TONATIVE_VOID_EXCEPTIONSTATE_INTERNAL(d, toRestrictedDouble(info[1], exceptionState), exceptionState);
+ }
+ TestPartialInterface4::voidMethodDocument(document, d);
+}
+#endif // ENABLE(BAR)
+
+#if ENABLE(BAR)
+static void voidMethodDocumentMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
+{
+ TRACE_EVENT_SET_SAMPLING_STATE("blink", "DOMMethod");
+ TestInterface3V8Internal::voidMethodDocumentMethod(info);
+ TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution");
+}
+#endif // ENABLE(BAR)
+
static void valuesMethod(const v8::FunctionCallbackInfo<v8::Value>& info)
{
ExceptionState exceptionState(ExceptionState::ExecutionContext, "values", "TestInterface3", info.Holder(), info.GetIsolate());
@@ -206,6 +262,10 @@ static void namedPropertyEnumeratorCallback(const v8::PropertyCallbackInfo<v8::A
} // namespace TestInterface3V8Internal
+static const V8DOMConfiguration::MethodConfiguration V8TestInterface3Methods[] = {
+ {"voidMethodDocument", TestInterface3V8Internal::voidMethodDocumentMethodCallback, 0, 1, V8DOMConfiguration::ExposedToAllScripts},
+};
+
static void installV8TestInterface3Template(v8::Local<v8::FunctionTemplate> functionTemplate, v8::Isolate* isolate)
{
functionTemplate->ReadOnlyPrototype();
@@ -214,7 +274,7 @@ static void installV8TestInterface3Template(v8::Local<v8::FunctionTemplate> func
defaultSignature = V8DOMConfiguration::installDOMClassTemplate(isolate, functionTemplate, "TestInterface3", v8::Local<v8::FunctionTemplate>(), V8TestInterface3::internalFieldCount,
0, 0,
0, 0,
- 0, 0);
+ V8TestInterface3Methods, WTF_ARRAY_LENGTH(V8TestInterface3Methods));
v8::Local<v8::ObjectTemplate> instanceTemplate = functionTemplate->InstanceTemplate();
ALLOW_UNUSED_LOCAL(instanceTemplate);
v8::Local<v8::ObjectTemplate> prototypeTemplate = functionTemplate->PrototypeTemplate();
@@ -237,6 +297,12 @@ static void installV8TestInterface3Template(v8::Local<v8::FunctionTemplate> func
};
V8DOMConfiguration::installMethod(isolate, prototypeTemplate, defaultSignature, v8::None, keysMethodConfiguration);
}
+#if ENABLE(BAR)
+ const V8DOMConfiguration::MethodConfiguration voidMethodDocumentMethodConfiguration = {
+ "voidMethodDocument", TestInterface3V8Internal::voidMethodDocumentMethodCallback, 0, 2, V8DOMConfiguration::ExposedToAllScripts,
+ };
+ V8DOMConfiguration::installMethod(isolate, functionTemplate, v8::Local<v8::Signature>(), v8::None, voidMethodDocumentMethodConfiguration);
+#endif // ENABLE(BAR)
if (RuntimeEnabledFeatures::featureNameEnabled()) {
const V8DOMConfiguration::MethodConfiguration valuesMethodConfiguration = {
"values", TestInterface3V8Internal::valuesMethodCallback, 0, 0, V8DOMConfiguration::ExposedToAllScripts,
« no previous file with comments | « Source/bindings/tests/idls/core/TestPartialInterface4.idl ('k') | Tools/Scripts/webkitpy/bindings/main.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698