| Index: Source/bindings/dart/custom/DartWindowCustom.cpp
|
| diff --git a/Source/bindings/dart/custom/DartWindowCustom.cpp b/Source/bindings/dart/custom/DartWindowCustom.cpp
|
| index d962408be3bdcb3b3857232291ec01fc0f8acd59..5f8811f1d8e3a1e0eb93661b53717ba30e9c91d1 100644
|
| --- a/Source/bindings/dart/custom/DartWindowCustom.cpp
|
| +++ b/Source/bindings/dart/custom/DartWindowCustom.cpp
|
| @@ -75,6 +75,12 @@ void historyCrossFrameGetter(Dart_NativeArguments args)
|
| DOMWindow* receiver = DartDOMWrapper::receiver<DOMWindow>(args);
|
| DartDOMData* domData = static_cast<DartDOMData*>(Dart_GetNativeIsolateData(args));
|
|
|
| + Dart_WeakPersistentHandle existingWrapper = DartDOMWrapper::lookupWrapper<DartHistory>(domData, &receiver->history());
|
| + if (existingWrapper) {
|
| + Dart_SetWeakHandleReturnValue(args, existingWrapper);
|
| + return;
|
| + }
|
| +
|
| Dart_Handle result = DartDOMWrapper::createWrapper<DartHistory>(
|
| domData, &receiver->history(), _HistoryCrossFrameClassId);
|
| if (result)
|
| @@ -88,6 +94,12 @@ void locationCrossFrameGetter(Dart_NativeArguments args)
|
| DOMWindow* receiver = DartDOMWrapper::receiver<DOMWindow>(args);
|
| DartDOMData* domData = static_cast<DartDOMData*>(Dart_GetNativeIsolateData(args));
|
|
|
| + Dart_WeakPersistentHandle existingWrapper = DartDOMWrapper::lookupWrapper<DartLocation>(domData, &receiver->location());
|
| + if (existingWrapper) {
|
| + Dart_SetWeakHandleReturnValue(args, existingWrapper);
|
| + return;
|
| + }
|
| +
|
| Dart_Handle result = DartDOMWrapper::createWrapper<DartLocation>(
|
| domData, &receiver->location(), _LocationCrossFrameClassId);
|
| if (result)
|
|
|