Diff
Modified: trunk/Source/WebCore/ChangeLog (211041 => 211042)
--- trunk/Source/WebCore/ChangeLog 2017-01-23 18:30:25 UTC (rev 211041)
+++ trunk/Source/WebCore/ChangeLog 2017-01-23 18:39:48 UTC (rev 211042)
@@ -1,3 +1,18 @@
+2017-01-23 Chris Dumez <[email protected]>
+
+ REGRESSION (r211033): ASSERTION FAILED: m_ptr in com.apple.WebCore: WTF::RefPtr<WebCore::Element>::operator* const + 70
+ https://bugs.webkit.org/show_bug.cgi?id=167308
+ <rdar://problem/30144964>
+
+ Unreviewed, do a partial revert of r211033 to fix assertion.
+
+ No new tests, already covered by:
+ fullscreen/exit-full-screen-iframe.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::webkitExitFullscreen):
+ * page/ChromeClient.h:
+
2017-01-23 Gustavo Noronha Silva <[email protected]>
[GTK] asserting on unknown locale for hyphenation is wrong
Modified: trunk/Source/WebCore/dom/Document.cpp (211041 => 211042)
--- trunk/Source/WebCore/dom/Document.cpp 2017-01-23 18:30:25 UTC (rev 211041)
+++ trunk/Source/WebCore/dom/Document.cpp 2017-01-23 18:39:48 UTC (rev 211042)
@@ -5720,7 +5720,7 @@
// Only exit out of full screen window mode if there are no remaining elements in the
// full screen stack.
if (!newTop) {
- page()->chrome().client().exitFullScreenForElement(*m_fullScreenElement);
+ page()->chrome().client().exitFullScreenForElement(m_fullScreenElement.get());
return;
}
Modified: trunk/Source/WebCore/page/ChromeClient.h (211041 => 211042)
--- trunk/Source/WebCore/page/ChromeClient.h 2017-01-23 18:30:25 UTC (rev 211041)
+++ trunk/Source/WebCore/page/ChromeClient.h 2017-01-23 18:39:48 UTC (rev 211042)
@@ -350,7 +350,7 @@
#if ENABLE(FULLSCREEN_API)
virtual bool supportsFullScreenForElement(const Element&, bool) { return false; }
virtual void enterFullScreenForElement(Element&) { }
- virtual void exitFullScreenForElement(Element&) { }
+ virtual void exitFullScreenForElement(Element*) { }
virtual void setRootFullScreenLayer(GraphicsLayer*) { }
#endif
Modified: trunk/Source/WebKit/mac/ChangeLog (211041 => 211042)
--- trunk/Source/WebKit/mac/ChangeLog 2017-01-23 18:30:25 UTC (rev 211041)
+++ trunk/Source/WebKit/mac/ChangeLog 2017-01-23 18:39:48 UTC (rev 211042)
@@ -1,3 +1,15 @@
+2017-01-23 Chris Dumez <[email protected]>
+
+ REGRESSION (r211033): ASSERTION FAILED: m_ptr in com.apple.WebCore: WTF::RefPtr<WebCore::Element>::operator* const + 70
+ https://bugs.webkit.org/show_bug.cgi?id=167308
+ <rdar://problem/30144964>
+
+ Unreviewed, do a partial revert of r211033 to fix assertion.
+
+ * WebCoreSupport/WebChromeClient.h:
+ * WebCoreSupport/WebChromeClient.mm:
+ (WebChromeClient::exitFullScreenForElement):
+
2017-01-23 Joseph Pecoraro <[email protected]>
Remove allowWindowOpenWithoutUserGesture setting
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h (211041 => 211042)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h 2017-01-23 18:30:25 UTC (rev 211041)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h 2017-01-23 18:39:48 UTC (rev 211042)
@@ -191,7 +191,7 @@
#if ENABLE(FULLSCREEN_API)
bool supportsFullScreenForElement(const WebCore::Element&, bool withKeyboard) final;
void enterFullScreenForElement(WebCore::Element&) final;
- void exitFullScreenForElement(WebCore::Element&) final;
+ void exitFullScreenForElement(WebCore::Element*) final;
#endif
bool selectItemWritingDirectionIsNatural() override;
Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm (211041 => 211042)
--- trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm 2017-01-23 18:30:25 UTC (rev 211041)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm 2017-01-23 18:39:48 UTC (rev 211042)
@@ -1013,17 +1013,17 @@
#endif
}
-void WebChromeClient::exitFullScreenForElement(Element& element)
+void WebChromeClient::exitFullScreenForElement(Element* element)
{
SEL selector = @selector(webView:exitFullScreenForElement:listener:);
if ([[m_webView UIDelegate] respondsToSelector:selector]) {
- WebKitFullScreenListener* listener = [[WebKitFullScreenListener alloc] initWithElement:&element];
- CallUIDelegate(m_webView, selector, kit(&element), listener);
+ WebKitFullScreenListener* listener = [[WebKitFullScreenListener alloc] initWithElement:element];
+ CallUIDelegate(m_webView, selector, kit(element), listener);
[listener release];
}
#if !PLATFORM(IOS)
else
- [m_webView _exitFullScreenForElement:&element];
+ [m_webView _exitFullScreenForElement:element];
#endif
}
Modified: trunk/Source/WebKit/win/ChangeLog (211041 => 211042)
--- trunk/Source/WebKit/win/ChangeLog 2017-01-23 18:30:25 UTC (rev 211041)
+++ trunk/Source/WebKit/win/ChangeLog 2017-01-23 18:39:48 UTC (rev 211042)
@@ -1,3 +1,14 @@
+2017-01-23 Chris Dumez <[email protected]>
+
+ REGRESSION (r211033): ASSERTION FAILED: m_ptr in com.apple.WebCore: WTF::RefPtr<WebCore::Element>::operator* const + 70
+ https://bugs.webkit.org/show_bug.cgi?id=167308
+ <rdar://problem/30144964>
+
+ Unreviewed, do a partial revert of r211033 to fix assertion.
+
+ * WebCoreSupport/WebChromeClient.cpp:
+ (WebChromeClient::exitFullScreenForElement):
+
2017-01-20 Darin Adler <[email protected]>
Remove PassRefPtr from "page" directory of WebCore, also deploy references
Modified: trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp (211041 => 211042)
--- trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp 2017-01-23 18:30:25 UTC (rev 211041)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp 2017-01-23 18:39:48 UTC (rev 211042)
@@ -822,17 +822,17 @@
m_webView->fullScreenController()->enterFullScreen();
}
-void WebChromeClient::exitFullScreenForElement(Element& element)
+void WebChromeClient::exitFullScreenForElement(Element* element)
{
COMPtr<IWebUIDelegate> uiDelegate;
if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
COMPtr<IWebUIDelegatePrivate4> uiDelegatePrivate4(Query, uiDelegate);
- COMPtr<IDOMElement> domElement(AdoptCOM, DOMElement::createInstance(&element));
+ COMPtr<IDOMElement> domElement(AdoptCOM, DOMElement::createInstance(element));
if (uiDelegatePrivate4 && SUCCEEDED(uiDelegatePrivate4->exitFullScreenForElement(domElement.get())))
return;
}
- ASSERT(&element == m_webView->fullScreenElement());
+ ASSERT(element == m_webView->fullScreenElement());
m_webView->fullScreenController()->exitFullScreen();
}
Modified: trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.h (211041 => 211042)
--- trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.h 2017-01-23 18:30:25 UTC (rev 211041)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.h 2017-01-23 18:39:48 UTC (rev 211042)
@@ -157,7 +157,7 @@
#if ENABLE(FULLSCREEN_API)
bool supportsFullScreenForElement(const WebCore::Element&, bool withKeyboard) final;
void enterFullScreenForElement(WebCore::Element&) final;
- void exitFullScreenForElement(WebCore::Element&) final;
+ void exitFullScreenForElement(WebCore::Element*) final;
#endif
void wheelEventHandlersChanged(bool) final { }
Modified: trunk/Source/WebKit2/ChangeLog (211041 => 211042)
--- trunk/Source/WebKit2/ChangeLog 2017-01-23 18:30:25 UTC (rev 211041)
+++ trunk/Source/WebKit2/ChangeLog 2017-01-23 18:39:48 UTC (rev 211042)
@@ -1,3 +1,15 @@
+2017-01-23 Chris Dumez <[email protected]>
+
+ REGRESSION (r211033): ASSERTION FAILED: m_ptr in com.apple.WebCore: WTF::RefPtr<WebCore::Element>::operator* const + 70
+ https://bugs.webkit.org/show_bug.cgi?id=167308
+ <rdar://problem/30144964>
+
+ Unreviewed, do a partial revert of r211033 to fix assertion.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::exitFullScreenForElement):
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
2017-01-20 Gustavo Noronha Silva <[email protected]>
urlParserEnabled parameter is only encoded for COCOA ports
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (211041 => 211042)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp 2017-01-23 18:30:25 UTC (rev 211041)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp 2017-01-23 18:39:48 UTC (rev 211042)
@@ -964,9 +964,9 @@
m_page.fullScreenManager()->enterFullScreenForElement(&element);
}
-void WebChromeClient::exitFullScreenForElement(Element& element)
+void WebChromeClient::exitFullScreenForElement(Element* element)
{
- m_page.fullScreenManager()->exitFullScreenForElement(&element);
+ m_page.fullScreenManager()->exitFullScreenForElement(element);
}
#endif
Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h (211041 => 211042)
--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h 2017-01-23 18:30:25 UTC (rev 211041)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h 2017-01-23 18:39:48 UTC (rev 211042)
@@ -255,7 +255,7 @@
#if ENABLE(FULLSCREEN_API)
bool supportsFullScreenForElement(const WebCore::Element&, bool withKeyboard) final;
void enterFullScreenForElement(WebCore::Element&) final;
- void exitFullScreenForElement(WebCore::Element&) final;
+ void exitFullScreenForElement(WebCore::Element*) final;
#endif
#if PLATFORM(COCOA)