Title: [158034] trunk/Source/WebKit2
Revision
158034
Author
[email protected]
Date
2013-10-25 12:44:51 -0700 (Fri, 25 Oct 2013)

Log Message

Merge viewInWindowStateDidChange into viewStateDidChange
https://bugs.webkit.org/show_bug.cgi?id=123351

Reviewed by Tim Horton.

* UIProcess/API/mac/WKView.mm:
(-[WKView endDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChangesSync]):
    - viewInWindowStateDidChange -> viewStateDidChange
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewStateDidChange):
    - removed viewInWindowStateDidChange, renamed parameter to viewStateDidChange
* UIProcess/WebPageProxy.h:
    - removed viewInWindowStateDidChange, named parameter to viewStateDidChange

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (158033 => 158034)


--- trunk/Source/WebKit2/ChangeLog	2013-10-25 19:15:05 UTC (rev 158033)
+++ trunk/Source/WebKit2/ChangeLog	2013-10-25 19:44:51 UTC (rev 158034)
@@ -1,3 +1,20 @@
+2013-10-25  Gavin Barraclough  <[email protected]>
+
+        Merge viewInWindowStateDidChange into viewStateDidChange
+        https://bugs.webkit.org/show_bug.cgi?id=123351
+
+        Reviewed by Tim Horton.
+
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView endDeferringViewInWindowChanges]):
+        (-[WKView endDeferringViewInWindowChangesSync]):
+            - viewInWindowStateDidChange -> viewStateDidChange
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::viewStateDidChange):
+            - removed viewInWindowStateDidChange, renamed parameter to viewStateDidChange
+        * UIProcess/WebPageProxy.h:
+            - removed viewInWindowStateDidChange, named parameter to viewStateDidChange
+
 2013-10-25  Csaba Osztrogonác  <[email protected]>
 
         One more URTBF for GTK after r158028.

Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm (158033 => 158034)


--- trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm	2013-10-25 19:15:05 UTC (rev 158033)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm	2013-10-25 19:44:51 UTC (rev 158034)
@@ -3157,7 +3157,7 @@
     _data->_shouldDeferViewInWindowChanges = NO;
 
     if (_data->_viewInWindowChangeWasDeferred) {
-        _data->_page->viewInWindowStateDidChange();
+        _data->_page->viewStateDidChange(ViewState::IsInWindow);
         _data->_viewInWindowChangeWasDeferred = NO;
     }
 }
@@ -3175,7 +3175,7 @@
     _data->_shouldDeferViewInWindowChanges = NO;
 
     if (_data->_viewInWindowChangeWasDeferred) {
-        _data->_page->viewInWindowStateDidChange(hasPendingViewInWindowChange ? WebPageProxy::WantsReplyOrNot::DoesWantReply : WebPageProxy::WantsReplyOrNot::DoesNotWantReply);
+        _data->_page->viewStateDidChange(ViewState::IsInWindow, hasPendingViewInWindowChange ? WebPageProxy::WantsReplyOrNot::DoesWantReply : WebPageProxy::WantsReplyOrNot::DoesNotWantReply);
         _data->_viewInWindowChangeWasDeferred = NO;
     }
 

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (158033 => 158034)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2013-10-25 19:15:05 UTC (rev 158033)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2013-10-25 19:44:51 UTC (rev 158034)
@@ -964,52 +964,28 @@
     m_pageClient->scrollView(scrollRect, scrollOffset);
 }
 
-void WebPageProxy::viewInWindowStateDidChange(WantsReplyOrNot wantsReply)
+void WebPageProxy::viewStateDidChange(ViewState::Flags mayHaveChanged, WantsReplyOrNot wantsReply)
 {
-    if (!isValid())
-        return;
+    // Wants reply currently only applies to the IsInWindow flag, so check only this is set.
+    ASSERT(wantsReply == WantsReplyOrNot::DoesNotWantReply || mayHaveChanged == ViewState::IsInWindow);
 
-    bool isInWindow = m_pageClient->isViewInWindow();
-    if (m_isInWindow != isInWindow) {
-        m_isInWindow = isInWindow;
-        m_process->send(Messages::WebPage::SetIsInWindow(isInWindow, wantsReply == WantsReplyOrNot::DoesWantReply), m_pageID);
-    }
-
-    if (isInWindow) {
-        LayerHostingMode layerHostingMode = m_pageClient->viewLayerHostingMode();
-        if (m_layerHostingMode != layerHostingMode) {
-            m_layerHostingMode = layerHostingMode;
-            m_drawingArea->layerHostingModeDidChange();
-        }
-    }
-#if ENABLE(INPUT_TYPE_COLOR_POPOVER)
-    else {
-        // When leaving the current page, close the popover color well.
-        if (m_colorPicker)
-            endColorPicker();
-    }
-#endif
-}
-
-void WebPageProxy::viewStateDidChange(ViewState::Flags flags)
-{
     if (!isValid())
         return;
 
-    if (flags & ViewState::WindowIsVisible)
+    if (mayHaveChanged & ViewState::WindowIsVisible)
         process()->send(Messages::WebPage::SetWindowIsVisible(m_pageClient->isWindowVisible()), m_pageID);
 
-    if (flags & ViewState::IsFocused)
+    if (mayHaveChanged & ViewState::IsFocused)
         m_process->send(Messages::WebPage::SetFocused(m_pageClient->isViewFocused()), m_pageID);
 
     // We want to make sure to update the active state while hidden, so if the view is hidden then update the active state
     // early (in case it becomes visible), and if the view was visible then update active state later (in case it hides).
     bool viewWasVisible = m_isVisible;
     
-    if (flags & ViewState::WindowIsActive && !viewWasVisible)
+    if (mayHaveChanged & ViewState::WindowIsActive && !viewWasVisible)
         m_process->send(Messages::WebPage::SetActive(m_pageClient->isViewWindowActive()), m_pageID);
 
-    if (flags & ViewState::IsVisible) {
+    if (mayHaveChanged & ViewState::IsVisible) {
         bool isVisible = m_pageClient->isViewVisible();
         if (isVisible != m_isVisible) {
             m_isVisible = isVisible;
@@ -1030,12 +1006,32 @@
         }
     }
 
-    if (flags & ViewState::WindowIsActive && viewWasVisible)
+    if (mayHaveChanged & ViewState::WindowIsActive && viewWasVisible)
         m_process->send(Messages::WebPage::SetActive(m_pageClient->isViewWindowActive()), m_pageID);
 
-    if (flags & ViewState::IsInWindow)
-        viewInWindowStateDidChange();
+    if (mayHaveChanged & ViewState::IsInWindow) {
+        bool isInWindow = m_pageClient->isViewInWindow();
+        if (m_isInWindow != isInWindow) {
+            m_isInWindow = isInWindow;
+            m_process->send(Messages::WebPage::SetIsInWindow(isInWindow, wantsReply == WantsReplyOrNot::DoesWantReply), m_pageID);
+        }
 
+        if (isInWindow) {
+            LayerHostingMode layerHostingMode = m_pageClient->viewLayerHostingMode();
+            if (m_layerHostingMode != layerHostingMode) {
+                m_layerHostingMode = layerHostingMode;
+                m_drawingArea->layerHostingModeDidChange();
+            }
+        }
+#if ENABLE(INPUT_TYPE_COLOR_POPOVER)
+        else {
+            // When leaving the current page, close the popover color well.
+            if (m_colorPicker)
+                endColorPicker();
+        }
+#endif
+    }
+
 #if ENABLE(PAGE_VISIBILITY_API)
     PageVisibilityState visibilityState = PageVisibilityStateHidden;
 

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (158033 => 158034)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h	2013-10-25 19:15:05 UTC (rev 158033)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h	2013-10-25 19:44:51 UTC (rev 158034)
@@ -324,9 +324,8 @@
     bool canScrollView();
     void scrollView(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset);
 
-    void viewStateDidChange(ViewState::Flags);
     enum class WantsReplyOrNot { DoesNotWantReply, DoesWantReply };
-    void viewInWindowStateDidChange(WantsReplyOrNot = WantsReplyOrNot::DoesNotWantReply);
+    void viewStateDidChange(ViewState::Flags mayHaveChanged, WantsReplyOrNot = WantsReplyOrNot::DoesNotWantReply);
     bool isInWindow() const { return m_isInWindow; }
     void waitForDidUpdateInWindowState();
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to