Title: [126090] trunk/Source/WebCore
- Revision
- 126090
- Author
- [email protected]
- Date
- 2012-08-20 16:43:14 -0700 (Mon, 20 Aug 2012)
Log Message
Assertion going back to results.html page from an image diff result
https://bugs.webkit.org/show_bug.cgi?id=94143
Reviewed by Adam Barth.
Avoid redundantly setting the DOMWindow on a JSDOMWindow shell in
ScriptCachedFrameData::restore(), as we may have already done this
in ScriptController::clearWindowShell(). This avoids an assertion
on some platforms when going Back to the test results page from
a diff image.
* bindings/js/ScriptCachedFrameData.cpp:
(WebCore::ScriptCachedFrameData::restore):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (126089 => 126090)
--- trunk/Source/WebCore/ChangeLog 2012-08-20 23:39:39 UTC (rev 126089)
+++ trunk/Source/WebCore/ChangeLog 2012-08-20 23:43:14 UTC (rev 126090)
@@ -1,3 +1,19 @@
+2012-08-20 Simon Fraser <[email protected]>
+
+ Assertion going back to results.html page from an image diff result
+ https://bugs.webkit.org/show_bug.cgi?id=94143
+
+ Reviewed by Adam Barth.
+
+ Avoid redundantly setting the DOMWindow on a JSDOMWindow shell in
+ ScriptCachedFrameData::restore(), as we may have already done this
+ in ScriptController::clearWindowShell(). This avoids an assertion
+ on some platforms when going Back to the test results page from
+ a diff image.
+
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::restore):
+
2012-08-20 Dean Jackson <[email protected]>
[WebGL] OES_vertex_array_object is not correctly un/binding or deleting
Modified: trunk/Source/WebCore/bindings/js/ScriptCachedFrameData.cpp (126089 => 126090)
--- trunk/Source/WebCore/bindings/js/ScriptCachedFrameData.cpp 2012-08-20 23:39:39 UTC (rev 126089)
+++ trunk/Source/WebCore/bindings/js/ScriptCachedFrameData.cpp 2012-08-20 23:43:14 UTC (rev 126090)
@@ -80,8 +80,12 @@
if (JSDOMWindow* window = m_windows.get(world).get())
windowShell->setWindow(window->globalData(), window);
else {
- windowShell->setWindow(frame->document()->domWindow());
+ DOMWindow* domWindow = frame->document()->domWindow();
+ if (windowShell->window()->impl() == domWindow)
+ continue;
+ windowShell->setWindow(domWindow);
+
if (Page* page = frame->page()) {
scriptController->attachDebugger(windowShell, page->debugger());
windowShell->window()->setProfileGroup(page->group().identifier());
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes