Title: [261252] trunk/Source
Revision
261252
Author
[email protected]
Date
2020-05-06 15:05:54 -0700 (Wed, 06 May 2020)

Log Message

REGRESSION (r260684): Reader background is lost after multitasking
https://bugs.webkit.org/show_bug.cgi?id=211533
<rdar://problem/62941837>

Unreviewed, revert r260684 due to regression.


Source/WebCore:

* dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
* page/FrameView.cpp:
(WebCore::FrameView::sendResizeEventIfNeeded):
* page/Page.h:
(WebCore::Page::shouldFireResizeEvents const):
(WebCore::Page::setShouldFireResizeEvents):

Source/WebKit:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setShouldFireResizeEvents):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKApplicationStateTrackingView.mm:
(-[WKApplicationStateTrackingView _willBeginSnapshotSequence]):
(-[WKApplicationStateTrackingView _didCompleteSnapshotSequence]):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setShouldFireResizeEvents):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (261251 => 261252)


--- trunk/Source/WebCore/ChangeLog	2020-05-06 21:54:02 UTC (rev 261251)
+++ trunk/Source/WebCore/ChangeLog	2020-05-06 22:05:54 UTC (rev 261252)
@@ -1,3 +1,19 @@
+2020-05-06  Chris Dumez  <[email protected]>
+
+        REGRESSION (r260684): Reader background is lost after multitasking
+        https://bugs.webkit.org/show_bug.cgi?id=211533
+        <rdar://problem/62941837>
+
+        Unreviewed, revert r260684 due to regression.
+
+        * dom/EventTarget.cpp:
+        (WebCore::EventTarget::fireEventListeners):
+        * page/FrameView.cpp:
+        (WebCore::FrameView::sendResizeEventIfNeeded):
+        * page/Page.h:
+        (WebCore::Page::shouldFireResizeEvents const):
+        (WebCore::Page::setShouldFireResizeEvents):
+
 2020-05-06  Chris Fleizach  <[email protected]>
 
         AX: Implement accessibility of HTML 5.1 Drag & Drop

Modified: trunk/Source/WebCore/dom/EventTarget.cpp (261251 => 261252)


--- trunk/Source/WebCore/dom/EventTarget.cpp	2020-05-06 21:54:02 UTC (rev 261251)
+++ trunk/Source/WebCore/dom/EventTarget.cpp	2020-05-06 22:05:54 UTC (rev 261252)
@@ -40,7 +40,6 @@
 #include "InspectorInstrumentation.h"
 #include "JSEventListener.h"
 #include "JSLazyEventListener.h"
-#include "Logging.h"
 #include "Quirks.h"
 #include "ScriptController.h"
 #include "ScriptDisallowedScope.h"
@@ -252,15 +251,6 @@
     if (!data)
         return;
 
-    // FIXME: Remove once <rdar://problem/62344280> is fixed.
-    if (is<Document>(scriptExecutionContext())) {
-        auto* page = downcast<Document>(*scriptExecutionContext()).page();
-        if (page && !page->shouldFireEvents()) {
-            RELEASE_LOG_IF(page->isAlwaysOnLoggingAllowed(), Events, "%p - EventTarget::fireEventListeners: Not firing %{public}s event because events are temporarily disabled for this page", this, event.type().string().utf8().data());
-            return;
-        }
-    }
-
     SetForScope<bool> firingEventListenersScope(data->isFiringEventListeners, true);
 
     if (auto* listenersVector = data->eventListenerMap.find(event.type())) {

Modified: trunk/Source/WebCore/page/FrameView.cpp (261251 => 261252)


--- trunk/Source/WebCore/page/FrameView.cpp	2020-05-06 21:54:02 UTC (rev 261251)
+++ trunk/Source/WebCore/page/FrameView.cpp	2020-05-06 22:05:54 UTC (rev 261252)
@@ -3376,6 +3376,11 @@
     }
 #endif
 
+    if (page && !page->shouldFireResizeEvents()) {
+        FRAMEVIEW_RELEASE_LOG_IF_ALLOWED(Events, "sendResizeEventIfNeeded: Not firing resize events because they are temporarily disabled for this page");
+        return;
+    }
+
     LOG_WITH_STREAM(Events, stream << "FrameView" << this << "sendResizeEventIfNeeded scheduling resize event for document" << frame().document() << ", size " << currentSize);
     frame().document()->setNeedsDOMWindowResizeEvent();
 

Modified: trunk/Source/WebCore/page/Page.h (261251 => 261252)


--- trunk/Source/WebCore/page/Page.h	2020-05-06 21:54:02 UTC (rev 261251)
+++ trunk/Source/WebCore/page/Page.h	2020-05-06 22:05:54 UTC (rev 261252)
@@ -750,8 +750,8 @@
     WEBCORE_EXPORT void injectUserStyleSheet(UserStyleSheet&);
     WEBCORE_EXPORT void removeInjectedUserStyleSheet(UserStyleSheet&);
 
-    bool shouldFireEvents() const { return m_shouldFireEvents; }
-    void setShouldFireEvents(bool shouldFireEvents) { m_shouldFireEvents = shouldFireEvents; }
+    bool shouldFireResizeEvents() const { return m_shouldFireResizeEvents; }
+    void setShouldFireResizeEvents(bool shouldFireResizeEvents) { m_shouldFireResizeEvents = shouldFireResizeEvents; }
 
     bool hasBeenNotifiedToInjectUserScripts() const { return m_hasBeenNotifiedToInjectUserScripts; }
     WEBCORE_EXPORT void notifyToInjectUserScripts();
@@ -1042,7 +1042,7 @@
 
     Vector<UserContentURLPattern> m_corsDisablingPatterns;
     Vector<UserStyleSheet> m_userStyleSheetsPendingInjection;
-    bool m_shouldFireEvents { true };
+    bool m_shouldFireResizeEvents { true };
     bool m_loadsSubresources { true };
     bool m_loadsFromNetwork { true };
     bool m_hasBeenNotifiedToInjectUserScripts { false };

Modified: trunk/Source/WebKit/ChangeLog (261251 => 261252)


--- trunk/Source/WebKit/ChangeLog	2020-05-06 21:54:02 UTC (rev 261251)
+++ trunk/Source/WebKit/ChangeLog	2020-05-06 22:05:54 UTC (rev 261252)
@@ -1,3 +1,22 @@
+2020-05-06  Chris Dumez  <[email protected]>
+
+        REGRESSION (r260684): Reader background is lost after multitasking
+        https://bugs.webkit.org/show_bug.cgi?id=211533
+        <rdar://problem/62941837>
+
+        Unreviewed, revert r260684 due to regression.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::setShouldFireResizeEvents):
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/ios/WKApplicationStateTrackingView.mm:
+        (-[WKApplicationStateTrackingView _willBeginSnapshotSequence]):
+        (-[WKApplicationStateTrackingView _didCompleteSnapshotSequence]):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::setShouldFireResizeEvents):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+
 2020-05-06  Kate Cheney  <[email protected]>
 
         ResourceLoadStatistics data summary call should create a web process pool if one doesn't exist

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (261251 => 261252)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2020-05-06 21:54:02 UTC (rev 261251)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2020-05-06 22:05:54 UTC (rev 261252)
@@ -10121,9 +10121,9 @@
     send(Messages::WebPage::SetOverriddenMediaType(mediaType));
 }
 
-void WebPageProxy::setShouldFireEvents(bool shouldFireEvents)
+void WebPageProxy::setShouldFireResizeEvents(bool shouldFireResizeEvents)
 {
-    send(Messages::WebPage::SetShouldFireEvents(shouldFireEvents));
+    send(Messages::WebPage::SetShouldFireResizeEvents(shouldFireResizeEvents));
 }
 
 void WebPageProxy::setNeedsDOMWindowResizeEvent()

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (261251 => 261252)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.h	2020-05-06 21:54:02 UTC (rev 261251)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h	2020-05-06 22:05:54 UTC (rev 261252)
@@ -1738,7 +1738,7 @@
     void grantAccessToPreferenceService();
 #endif
 
-    void setShouldFireEvents(bool);
+    void setShouldFireResizeEvents(bool);
     void setNeedsDOMWindowResizeEvent();
 
     void isNavigatingToAppBoundDomainTesting(CompletionHandler<void(bool)>&&);

Modified: trunk/Source/WebKit/UIProcess/ios/WKApplicationStateTrackingView.mm (261251 => 261252)


--- trunk/Source/WebKit/UIProcess/ios/WKApplicationStateTrackingView.mm	2020-05-06 21:54:02 UTC (rev 261251)
+++ trunk/Source/WebKit/UIProcess/ios/WKApplicationStateTrackingView.mm	2020-05-06 22:05:54 UTC (rev 261252)
@@ -109,7 +109,7 @@
     if (!page)
         return;
 
-    page->setShouldFireEvents(false);
+    page->setShouldFireResizeEvents(false);
 }
 
 - (void)_didCompleteSnapshotSequence
@@ -118,7 +118,7 @@
     if (!page)
         return;
 
-    page->setShouldFireEvents(true);
+    page->setShouldFireResizeEvents(true);
 }
 
 - (BOOL)isBackground

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (261251 => 261252)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2020-05-06 21:54:02 UTC (rev 261251)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2020-05-06 22:05:54 UTC (rev 261252)
@@ -3311,12 +3311,12 @@
     send(Messages::WebPageProxy::ShowPage());
 }
 
-void WebPage::setShouldFireEvents(bool shouldFireEvents)
+void WebPage::setShouldFireResizeEvents(bool shouldFireResizeEvents)
 {
-    RELEASE_LOG_IF_ALLOWED(Resize, "setShouldFireEvents(%d)", shouldFireEvents);
+    RELEASE_LOG_IF_ALLOWED(Resize, "setShouldFireResizeEvents(%d)", shouldFireResizeEvents);
 
     if (m_page)
-        m_page->setShouldFireEvents(shouldFireEvents);
+        m_page->setShouldFireResizeEvents(shouldFireResizeEvents);
 }
 
 void WebPage::setNeedsDOMWindowResizeEvent()

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (261251 => 261252)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2020-05-06 21:54:02 UTC (rev 261251)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2020-05-06 22:05:54 UTC (rev 261252)
@@ -1702,7 +1702,7 @@
     void urlSchemeTaskDidReceiveData(uint64_t handlerIdentifier, uint64_t taskIdentifier, const IPC::SharedBufferDataReference&);
     void urlSchemeTaskDidComplete(uint64_t handlerIdentifier, uint64_t taskIdentifier, const WebCore::ResourceError&);
 
-    void setShouldFireEvents(bool);
+    void setShouldFireResizeEvents(bool);
     void setNeedsDOMWindowResizeEvent();
 
     void setIsSuspended(bool);

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (261251 => 261252)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2020-05-06 21:54:02 UTC (rev 261251)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2020-05-06 22:05:54 UTC (rev 261252)
@@ -603,7 +603,7 @@
 
     UpdateCORSDisablingPatterns(Vector<String> patterns)
 
-    SetShouldFireEvents(bool shouldFireEvents)
+    SetShouldFireResizeEvents(bool shouldFireResizeEvents)
     SetNeedsDOMWindowResizeEvent()
 
     SetHasResourceLoadClient(bool has)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to