Title: [122054] trunk
- Revision
- 122054
- Author
- [email protected]
- Date
- 2012-07-07 12:49:34 -0700 (Sat, 07 Jul 2012)
Log Message
REGRESSION (r122035): fullscreen/exit-full-screen-iframe.html failing on GTK Linux 64-bit Release
https://bugs.webkit.org/show_bug.cgi?id=90719
Reviewed by Martin Robinson.
Source/WebKit/gtk:
Follow the approach of the BlackBerry port outlined in r122035, using in exitFullScreenForElement
the fullscreen element to which the reference was saved when enterFullScreenForElement was called.
* WebCoreSupport/ChromeClientGtk.cpp:
(WebKit::ChromeClient::exitFullScreenForElement):
LayoutTests:
Remove the crashing test expectation for the affected test.
* platform/gtk/TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (122053 => 122054)
--- trunk/LayoutTests/ChangeLog 2012-07-07 08:27:36 UTC (rev 122053)
+++ trunk/LayoutTests/ChangeLog 2012-07-07 19:49:34 UTC (rev 122054)
@@ -1,3 +1,14 @@
+2012-07-07 Zan Dobersek <[email protected]>
+
+ REGRESSION (r122035): fullscreen/exit-full-screen-iframe.html failing on GTK Linux 64-bit Release
+ https://bugs.webkit.org/show_bug.cgi?id=90719
+
+ Reviewed by Martin Robinson.
+
+ Remove the crashing test expectation for the affected test.
+
+ * platform/gtk/TestExpectations:
+
2012-07-07 Filip Pizlo <[email protected]>
media/media-blocked-by-beforeload.html is flaky
Modified: trunk/LayoutTests/platform/gtk/TestExpectations (122053 => 122054)
--- trunk/LayoutTests/platform/gtk/TestExpectations 2012-07-07 08:27:36 UTC (rev 122053)
+++ trunk/LayoutTests/platform/gtk/TestExpectations 2012-07-07 19:49:34 UTC (rev 122054)
@@ -373,8 +373,6 @@
BUGWK90589 RELEASE : fast/css/user-drag-none.html = CRASH TIMEOUT
-BUGWK90719 : fullscreen/exit-full-screen-iframe.html = CRASH
-
//////////////////////////////////////////////////////////////////////////////////////////
// End of Crashing tests
//////////////////////////////////////////////////////////////////////////////////////////
Modified: trunk/Source/WebKit/gtk/ChangeLog (122053 => 122054)
--- trunk/Source/WebKit/gtk/ChangeLog 2012-07-07 08:27:36 UTC (rev 122053)
+++ trunk/Source/WebKit/gtk/ChangeLog 2012-07-07 19:49:34 UTC (rev 122054)
@@ -1,3 +1,16 @@
+2012-07-07 Zan Dobersek <[email protected]>
+
+ REGRESSION (r122035): fullscreen/exit-full-screen-iframe.html failing on GTK Linux 64-bit Release
+ https://bugs.webkit.org/show_bug.cgi?id=90719
+
+ Reviewed by Martin Robinson.
+
+ Follow the approach of the BlackBerry port outlined in r122035, using in exitFullScreenForElement
+ the fullscreen element to which the reference was saved when enterFullScreenForElement was called.
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::exitFullScreenForElement):
+
2012-07-02 Benjamin Poulain <[email protected]>
Do not do any logging initialization when logging is disabled
Modified: trunk/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp (122053 => 122054)
--- trunk/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp 2012-07-07 08:27:36 UTC (rev 122053)
+++ trunk/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp 2012-07-07 19:49:34 UTC (rev 122054)
@@ -945,10 +945,15 @@
element->document()->webkitDidEnterFullScreenForElement(element);
}
-void ChromeClient::exitFullScreenForElement(WebCore::Element* element)
+void ChromeClient::exitFullScreenForElement(WebCore::Element*)
{
+ // The element passed into this function is not reliable, i.e. it could
+ // be null. In addition the parameter may be disappearing in the future.
+ // So we use the reference to the element we saved above.
+ ASSERT(m_fullScreenElement);
+
gboolean returnValue;
- GRefPtr<WebKitDOMHTMLElement> kitElement(adoptGRef(kit(reinterpret_cast<HTMLElement*>(element))));
+ GRefPtr<WebKitDOMHTMLElement> kitElement(adoptGRef(kit(reinterpret_cast<HTMLElement*>(m_fullScreenElement.get()))));
g_signal_emit_by_name(m_webView, "leaving-fullscreen", kitElement.get(), &returnValue);
if (returnValue)
return;
@@ -957,10 +962,10 @@
ASSERT(widgetIsOnscreenToplevelWindow(window));
g_signal_handlers_disconnect_by_func(window, reinterpret_cast<void*>(onFullscreenGtkKeyPressEvent), this);
- element->document()->webkitWillExitFullScreenForElement(element);
+ m_fullScreenElement->document()->webkitWillExitFullScreenForElement(m_fullScreenElement.get());
gtk_window_unfullscreen(GTK_WINDOW(window));
m_adjustmentWatcher.enableAllScrollbars();
- element->document()->webkitDidExitFullScreenForElement(element);
+ m_fullScreenElement->document()->webkitDidExitFullScreenForElement(m_fullScreenElement.get());
m_fullScreenElement.clear();
}
#endif
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes