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

Unified Diff: Source/bindings/core/dart/DartNativeUtilities.cpp

Issue 1663753002: Apply all blink changes between @202695 and tip of trunk (Closed) Base URL: svn://svn.chromium.org/blink/branches/dart/2454_1
Patch Set: Created 4 years, 11 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
Index: Source/bindings/core/dart/DartNativeUtilities.cpp
diff --git a/Source/bindings/core/dart/DartNativeUtilities.cpp b/Source/bindings/core/dart/DartNativeUtilities.cpp
index f26c4d2cd876bfcf8f1c2e3505a670e3a9a929fd..d09b710513710931e4c614e206bc1bb6c0ca480c 100644
--- a/Source/bindings/core/dart/DartNativeUtilities.cpp
+++ b/Source/bindings/core/dart/DartNativeUtilities.cpp
@@ -133,37 +133,37 @@ fail:
// element just created and call the custom Dart class created constructor.
void customConstructorCreate(Dart_NativeArguments args)
{
- Dart_Handle exception = 0;
- {
- DartDOMData* domData = DartDOMData::current();
+ Dart_Handle dartElementType = Dart_GetNativeArgument(args, 0);
+ ASSERT(Dart_IsType(dartElementType));
- Dart_Handle dartElementType = Dart_GetNativeArgument(args, 0);
- ASSERT(Dart_IsType(dartElementType));
+ Dart_Handle blinkJsObject = Dart_GetNativeArgument(args, 1);
- Dart_Handle blinkJsObject = Dart_GetNativeArgument(args, 1);
+ Dart_Handle newObject = Dart_Allocate(dartElementType);
+ ASSERT(!Dart_IsError(newObject));
- Dart_Handle newObject = Dart_Allocate(dartElementType);
- ASSERT(!Dart_IsError(newObject));
-
- Dart_Handle jsObject = Dart_SetField(newObject, Dart_NewStringFromCString("blink_jsObject"), blinkJsObject);
- if (Dart_IsError(jsObject)) {
- DartUtilities::reportProblem(domData->scriptExecutionContext(), jsObject);
- goto fail;
- }
+ Dart_Handle jsObject = Dart_SetField(newObject, Dart_NewStringFromCString("blink_jsObject"), blinkJsObject);
+ if (Dart_IsError(jsObject)) {
+ Dart_PropagateError(jsObject);
+ return;
+ }
- newObject = Dart_InvokeConstructor(newObject, Dart_NewStringFromCString("created"), 0, 0);
- if (Dart_IsError(newObject)) {
- DartUtilities::reportProblem(domData->scriptExecutionContext(), newObject);
- goto fail;
- }
+ // Setup the DartHtmlWrapper that we're allocating.
+ DartDOMData* domData = DartDOMData::current();
+ Dart_Handle htmlWrapperArgs[2] = { blinkJsObject, newObject };
+ Dart_Handle ret = Dart_Invoke(domData->jsLibrary(), Dart_NewStringFromCString("setDartHtmlWrapperFor"), 2, htmlWrapperArgs);
+ if (Dart_IsError(ret)) {
+ Dart_PropagateError(ret);
+ return;
+ }
- Dart_SetReturnValue(args, newObject);
+ newObject = Dart_InvokeConstructor(newObject, Dart_NewStringFromCString("created"), 0, 0);
+ if (Dart_IsError(newObject)) {
+ Dart_PropagateError(newObject);
return;
}
-fail:
- Dart_ThrowException(exception);
- ASSERT_NOT_REACHED();
+ Dart_SetReturnValue(args, newObject);
+ return;
}
void initializeCustomElement(Dart_NativeArguments args)
« no previous file with comments | « Source/bindings/core/dart/DartJsInteropData.cpp ('k') | Source/bindings/core/dart/DartScriptDebugServer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698