Title: [140270] trunk/Source/WebCore
Revision
140270
Author
[email protected]
Date
2013-01-20 02:35:00 -0800 (Sun, 20 Jan 2013)

Log Message

[V8] Create a persistent wrapper for Window.prototype and innerGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=107253

Reviewed by Adam Barth.

This is one of steps to avoid hitting an ASSERT()
that will be added in https://bugs.webkit.org/show_bug.cgi?id=107137 .
We should have a persistent wrapper for all DOM objects
and set a class id on the wrapper.

No tests. No change in behavior.

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::installDOMWindow):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (140269 => 140270)


--- trunk/Source/WebCore/ChangeLog	2013-01-20 09:40:09 UTC (rev 140269)
+++ trunk/Source/WebCore/ChangeLog	2013-01-20 10:35:00 UTC (rev 140270)
@@ -1,3 +1,20 @@
+2013-01-20  Kentaro Hara  <[email protected]>
+
+        [V8] Create a persistent wrapper for Window.prototype and innerGlobalObject
+        https://bugs.webkit.org/show_bug.cgi?id=107253
+
+        Reviewed by Adam Barth.
+
+        This is one of steps to avoid hitting an ASSERT()
+        that will be added in https://bugs.webkit.org/show_bug.cgi?id=107137 .
+        We should have a persistent wrapper for all DOM objects
+        and set a class id on the wrapper.
+
+        No tests. No change in behavior.
+
+        * bindings/v8/V8DOMWindowShell.cpp:
+        (WebCore::V8DOMWindowShell::installDOMWindow):
+
 2013-01-19  Philip Rogers  <[email protected]>
 
         Refactor SVGSVGElement to inherit from SVGStyledTransformableElement

Modified: trunk/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp (140269 => 140270)


--- trunk/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp	2013-01-20 09:40:09 UTC (rev 140269)
+++ trunk/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp	2013-01-20 10:35:00 UTC (rev 140270)
@@ -317,7 +317,7 @@
 
     V8DOMWindow::installPerContextProperties(windowWrapper, window);
 
-    V8DOMWrapper::setNativeInfo(v8::Handle<v8::Object>::Cast(windowWrapper->GetPrototype()), &V8DOMWindow::info, window);
+    V8DOMWrapper::associateObjectWithWrapper(PassRefPtr<DOMWindow>(window), &V8DOMWindow::info, v8::Handle<v8::Object>::Cast(windowWrapper->GetPrototype()), m_isolate);
 
     // Install the windowWrapper as the prototype of the innerGlobalObject.
     // The full structure of the global object is as follows:
@@ -333,7 +333,7 @@
     //       _javascript_ object.
     //
     v8::Handle<v8::Object> innerGlobalObject = toInnerGlobalObject(m_context.get());
-    V8DOMWrapper::setNativeInfo(innerGlobalObject, &V8DOMWindow::info, window);
+    V8DOMWrapper::associateObjectWithWrapper(PassRefPtr<DOMWindow>(window), &V8DOMWindow::info, innerGlobalObject, m_isolate);
     innerGlobalObject->SetPrototype(windowWrapper);
     V8DOMWrapper::associateObjectWithWrapper(PassRefPtr<DOMWindow>(window), &V8DOMWindow::info, windowWrapper, m_isolate);
     return true;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to