<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[208225] trunk/Source</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/208225">208225</a></dd>
<dt>Author</dt> <dd>barraclough@apple.com</dd>
<dt>Date</dt> <dd>2016-11-01 11:05:28 -0700 (Tue, 01 Nov 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Rename ViewState to ActivityState
https://bugs.webkit.org/show_bug.cgi?id=164254
Reviewed by Andreas Kling.
We plan to add a couple more flags to ViewState that aren't directly related to the view
itself - whether there is an ongoing page load, and whether whether there is audio playback.
This will allow viewState (now activityState) to fully drive throttling decisions.
Renaming this bitfield accordingly.
Source/WebCore:
* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::GeolocationController):
(WebCore::GeolocationController::~GeolocationController):
(WebCore::GeolocationController::activityStateDidChange):
(WebCore::GeolocationController::viewStateDidChange): Deleted.
* Modules/geolocation/GeolocationController.h:
* WebCore.xcodeproj/project.pbxproj:
* page/ActivityState.h: Copied from Source/WebCore/page/ViewState.h.
* page/ActivityStateChangeObserver.h: Copied from Source/WebCore/page/ViewStateChangeObserver.h.
(WebCore::ActivityStateChangeObserver::~ActivityStateChangeObserver):
(WebCore::ViewStateChangeObserver::~ViewStateChangeObserver): Deleted.
* page/FocusController.cpp:
(WebCore::FocusController::FocusController):
(WebCore::FocusController::setFocused):
(WebCore::FocusController::setActivityState):
(WebCore::FocusController::setActive):
(WebCore::FocusController::setViewState): Deleted.
* page/FocusController.h:
(WebCore::FocusController::isActive):
(WebCore::FocusController::isFocused):
(WebCore::FocusController::contentIsVisible):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::setIsInWindow):
(WebCore::Page::addActivityStateChangeObserver):
(WebCore::Page::removeActivityStateChangeObserver):
(WebCore::Page::updateTimerThrottlingState):
(WebCore::Page::setActivityState):
(WebCore::Page::isVisibleAndActive):
(WebCore::Page::setIsVisible):
(WebCore::Page::addViewStateChangeObserver): Deleted.
(WebCore::Page::removeViewStateChangeObserver): Deleted.
(WebCore::Page::setViewState): Deleted.
* page/Page.h:
(WebCore::Page::isVisible):
(WebCore::Page::isInWindow):
* page/PageThrottler.h:
* page/ViewState.h: Removed.
* page/ViewStateChangeObserver.h: Removed.
Source/WebKit2:
* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView didMoveToWindow]):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
(_WebKitWebViewBasePrivate::updateActivityStateTimerFired):
(webkitWebViewBaseScheduleUpdateActivityState):
(toplevelWindowFocusInEvent):
(toplevelWindowFocusOutEvent):
(toplevelWindowStateEvent):
(webkitWebViewBaseSetToplevelOnScreenWindow):
(webkitWebViewBaseMap):
(webkitWebViewBaseUnmap):
(webkitWebViewBaseSetFocus):
(webkitWebViewBaseIsInWindowActive):
(webkitWebViewBaseIsFocused):
(webkitWebViewBaseIsVisible):
(webkitWebViewBaseIsInWindow):
(_WebKitWebViewBasePrivate::updateViewStateTimerFired): Deleted.
(webkitWebViewBaseScheduleUpdateViewState): Deleted.
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::resignFirstResponder):
(WebKit::WebViewImpl::windowDidOrderOffScreen):
(WebKit::WebViewImpl::windowDidOrderOnScreen):
(WebKit::WebViewImpl::windowDidBecomeKey):
(WebKit::WebViewImpl::windowDidResignKey):
(WebKit::WebViewImpl::windowDidMiniaturize):
(WebKit::WebViewImpl::windowDidDeminiaturize):
(WebKit::WebViewImpl::windowDidChangeOcclusionState):
(WebKit::WebViewImpl::viewDidMoveToWindow):
(WebKit::WebViewImpl::viewDidHide):
(WebKit::WebViewImpl::viewDidUnhide):
(WebKit::WebViewImpl::activeSpaceDidChange):
(WebKit::WebViewImpl::endDeferringViewInWindowChanges):
(WebKit::WebViewImpl::endDeferringViewInWindowChangesSync):
(WebKit::WebViewImpl::prepareForMoveToWindow):
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::waitForDidUpdateActivityState):
(WebKit::DrawingAreaProxy::waitForDidUpdateViewState): Deleted.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::setSuppressVisibilityUpdates):
(WebKit::WebPageProxy::updateActivityState):
(WebKit::WebPageProxy::activityStateDidChange):
(WebKit::WebPageProxy::dispatchActivityStateChange):
(WebKit::WebPageProxy::updateThrottleState):
(WebKit::WebPageProxy::waitForDidUpdateActivityState):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::installActivityStateChangeCompletionHandler):
(WebKit::WebPageProxy::updateViewState): Deleted.
(WebKit::WebPageProxy::viewStateDidChange): Deleted.
(WebKit::WebPageProxy::dispatchViewStateChange): Deleted.
(WebKit::WebPageProxy::waitForDidUpdateViewState): Deleted.
(WebKit::WebPageProxy::installViewStateChangeCompletionHandler): Deleted.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::isInWindow):
(WebKit::WebPageProxy::didUpdateActivityState):
(WebKit::WebPageProxy::isViewVisible):
(WebKit::WebPageProxy::didUpdateViewState): Deleted.
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::windowServerConnectionStateChanged):
* UIProcess/efl/WebView.cpp:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _applicationDidEnterBackground]):
(-[WKContentView _applicationWillEnterForeground]):
* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView _applicationDidEnterBackground]):
(-[WKPDFView _applicationWillEnterForeground]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::synchronizeDynamicViewportUpdate):
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay):
(WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateActivityState):
(WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState): Deleted.
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateActivityState):
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateViewState): Deleted.
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::activityStateDidChange):
(WebKit::PluginView::viewStateDidChange): Deleted.
* WebProcess/Plugins/PluginView.h:
* WebProcess/WebPage/AcceleratedDrawingArea.cpp:
(WebKit::AcceleratedDrawingArea::activityStateDidChange):
(WebKit::AcceleratedDrawingArea::viewStateDidChange): Deleted.
* WebProcess/WebPage/AcceleratedDrawingArea.h:
* WebProcess/WebPage/DrawingArea.h:
(WebKit::DrawingArea::activityStateDidChange):
(WebKit::DrawingArea::viewStateDidChange): Deleted.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_userInterfaceLayoutDirection):
(WebKit::WebPage::reinitializeWebPage):
(WebKit::WebPage::updateIsInWindow):
(WebKit::WebPage::setActivityState):
(WebKit::WebPage::setViewState): Deleted.
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::isVisible):
(WebKit::WebPage::isVisibleOrOccluded):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::activityStateDidChange):
(WebKit::RemoteLayerTreeDrawingArea::viewStateDidChange): Deleted.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::activityStateDidChange):
(WebKit::TiledCoreAnimationDrawingArea::didUpdateActivityStateTimerFired):
(WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange): Deleted.
(WebKit::TiledCoreAnimationDrawingArea::didUpdateViewStateTimerFired): Deleted.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesgeolocationGeolocationControllercpp">trunk/Source/WebCore/Modules/geolocation/GeolocationController.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesgeolocationGeolocationControllerh">trunk/Source/WebCore/Modules/geolocation/GeolocationController.h</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorepageFocusControllercpp">trunk/Source/WebCore/page/FocusController.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFocusControllerh">trunk/Source/WebCore/page/FocusController.h</a></li>
<li><a href="#trunkSourceWebCorepagePagecpp">trunk/Source/WebCore/page/Page.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePageh">trunk/Source/WebCore/page/Page.h</a></li>
<li><a href="#trunkSourceWebCorepagePageThrottlerh">trunk/Source/WebCore/page/PageThrottler.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedWebPageCreationParameterscpp">trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedWebPageCreationParametersh">trunk/Source/WebKit2/Shared/WebPageCreationParameters.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIgtkWebKitWebViewBasecpp">trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessCocoaWebViewImplmm">trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessDrawingAreaProxyh">trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxycpp">trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxyh">trunk/Source/WebKit2/UIProcess/WebPageProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxymessagesin">trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebProcessProxycpp">trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcesseflWebViewcpp">trunk/Source/WebKit2/UIProcess/efl/WebView.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosWKContentViewmm">trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosWKPDFViewmm">trunk/Source/WebKit2/UIProcess/ios/WKPDFView.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessiosWebPageProxyIOSmm">trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacRemoteLayerTreeDrawingAreaProxyh">trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacRemoteLayerTreeDrawingAreaProxymm">trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacTiledCoreAnimationDrawingAreaProxyh">trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessmacTiledCoreAnimationDrawingAreaProxymm">trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm</a></li>
<li><a href="#trunkSourceWebKit2WebProcessPluginsPluginViewcpp">trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessPluginsPluginViewh">trunk/Source/WebKit2/WebProcess/Plugins/PluginView.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageAcceleratedDrawingAreacpp">trunk/Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageAcceleratedDrawingAreah">trunk/Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageDrawingAreah">trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPageh">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagemessagesin">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPagemacRemoteLayerTreeDrawingAreah">trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPagemacRemoteLayerTreeDrawingAreamm">trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPagemacTiledCoreAnimationDrawingAreah">trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPagemacTiledCoreAnimationDrawingAreamm">trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorepageActivityStateh">trunk/Source/WebCore/page/ActivityState.h</a></li>
<li><a href="#trunkSourceWebCorepageActivityStateChangeObserverh">trunk/Source/WebCore/page/ActivityStateChangeObserver.h</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorepageViewStateh">trunk/Source/WebCore/page/ViewState.h</a></li>
<li><a href="#trunkSourceWebCorepageViewStateChangeObserverh">trunk/Source/WebCore/page/ViewStateChangeObserver.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebCore/ChangeLog        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -1,3 +1,55 @@
</span><ins>+2016-10-31 Gavin Barraclough <barraclough@apple.com>
+
+ Rename ViewState to ActivityState
+ https://bugs.webkit.org/show_bug.cgi?id=164254
+
+ Reviewed by Andreas Kling.
+
+ We plan to add a couple more flags to ViewState that aren't directly related to the view
+ itself - whether there is an ongoing page load, and whether whether there is audio playback.
+ This will allow viewState (now activityState) to fully drive throttling decisions.
+
+ Renaming this bitfield accordingly.
+ * Modules/geolocation/GeolocationController.cpp:
+ (WebCore::GeolocationController::GeolocationController):
+ (WebCore::GeolocationController::~GeolocationController):
+ (WebCore::GeolocationController::activityStateDidChange):
+ (WebCore::GeolocationController::viewStateDidChange): Deleted.
+ * Modules/geolocation/GeolocationController.h:
+ * WebCore.xcodeproj/project.pbxproj:
+ * page/ActivityState.h: Copied from Source/WebCore/page/ViewState.h.
+ * page/ActivityStateChangeObserver.h: Copied from Source/WebCore/page/ViewStateChangeObserver.h.
+ (WebCore::ActivityStateChangeObserver::~ActivityStateChangeObserver):
+ (WebCore::ViewStateChangeObserver::~ViewStateChangeObserver): Deleted.
+ * page/FocusController.cpp:
+ (WebCore::FocusController::FocusController):
+ (WebCore::FocusController::setFocused):
+ (WebCore::FocusController::setActivityState):
+ (WebCore::FocusController::setActive):
+ (WebCore::FocusController::setViewState): Deleted.
+ * page/FocusController.h:
+ (WebCore::FocusController::isActive):
+ (WebCore::FocusController::isFocused):
+ (WebCore::FocusController::contentIsVisible):
+ * page/Page.cpp:
+ (WebCore::Page::Page):
+ (WebCore::Page::setIsInWindow):
+ (WebCore::Page::addActivityStateChangeObserver):
+ (WebCore::Page::removeActivityStateChangeObserver):
+ (WebCore::Page::updateTimerThrottlingState):
+ (WebCore::Page::setActivityState):
+ (WebCore::Page::isVisibleAndActive):
+ (WebCore::Page::setIsVisible):
+ (WebCore::Page::addViewStateChangeObserver): Deleted.
+ (WebCore::Page::removeViewStateChangeObserver): Deleted.
+ (WebCore::Page::setViewState): Deleted.
+ * page/Page.h:
+ (WebCore::Page::isVisible):
+ (WebCore::Page::isInWindow):
+ * page/PageThrottler.h:
+ * page/ViewState.h: Removed.
+ * page/ViewStateChangeObserver.h: Removed.
+
</ins><span class="cx"> 2016-11-01 Ryan Haddad <ryanhaddad@apple.com>
</span><span class="cx">
</span><span class="cx"> Unreviewed, rolling out r208100.
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesgeolocationGeolocationControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/geolocation/GeolocationController.cpp (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/geolocation/GeolocationController.cpp        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebCore/Modules/geolocation/GeolocationController.cpp        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> : m_page(page)
</span><span class="cx"> , m_client(client)
</span><span class="cx"> {
</span><del>- m_page.addViewStateChangeObserver(*this);
</del><ins>+ m_page.addActivityStateChangeObserver(*this);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> GeolocationController::~GeolocationController()
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(m_observers.isEmpty());
</span><span class="cx">
</span><del>- // NOTE: We don't have to remove ourselves from page's ViewStateChangeObserver set, since
</del><ins>+ // NOTE: We don't have to remove ourselves from page's ActivityStateChangeObserver set, since
</ins><span class="cx"> // we are supplement of the Page, and our destructor getting called means the page is being
</span><span class="cx"> // torn down.
</span><span class="cx">
</span><span class="lines">@@ -124,12 +124,12 @@
</span><span class="cx"> return m_client.lastPosition();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void GeolocationController::viewStateDidChange(ViewState::Flags oldViewState, ViewState::Flags newViewState)
</del><ins>+void GeolocationController::activityStateDidChange(ActivityState::Flags oldActivityState, ActivityState::Flags newActivityState)
</ins><span class="cx"> {
</span><span class="cx"> // Toggle GPS based on page visibility to save battery.
</span><del>- ViewState::Flags changed = oldViewState ^ newViewState;
- if (changed & ViewState::IsVisible && !m_observers.isEmpty()) {
- if (newViewState & ViewState::IsVisible)
</del><ins>+ ActivityState::Flags changed = oldActivityState ^ newActivityState;
+ if (changed & ActivityState::IsVisible && !m_observers.isEmpty()) {
+ if (newActivityState & ActivityState::IsVisible)
</ins><span class="cx"> m_client.startUpdating();
</span><span class="cx"> else
</span><span class="cx"> m_client.stopUpdating();
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesgeolocationGeolocationControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/geolocation/GeolocationController.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/geolocation/GeolocationController.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebCore/Modules/geolocation/GeolocationController.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -28,9 +28,9 @@
</span><span class="cx">
</span><span class="cx"> #if ENABLE(GEOLOCATION)
</span><span class="cx">
</span><ins>+#include "ActivityStateChangeObserver.h"
</ins><span class="cx"> #include "Geolocation.h"
</span><span class="cx"> #include "Page.h"
</span><del>-#include "ViewStateChangeObserver.h"
</del><span class="cx"> #include <wtf/HashSet.h>
</span><span class="cx"> #include <wtf/Noncopyable.h>
</span><span class="cx"> #include <wtf/RefPtr.h>
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> class GeolocationPosition;
</span><span class="cx"> class Page;
</span><span class="cx">
</span><del>-class GeolocationController : public Supplement<Page>, private ViewStateChangeObserver {
</del><ins>+class GeolocationController : public Supplement<Page>, private ActivityStateChangeObserver {
</ins><span class="cx"> WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> WTF_MAKE_NONCOPYABLE(GeolocationController);
</span><span class="cx"> public:
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx"> Page& m_page;
</span><span class="cx"> GeolocationClient& m_client;
</span><span class="cx">
</span><del>- void viewStateDidChange(ViewState::Flags oldViewState, ViewState::Flags newViewState) override;
</del><ins>+ void activityStateDidChange(ActivityState::Flags oldActivityState, ActivityState::Flags newActivityState) override;
</ins><span class="cx">
</span><span class="cx"> RefPtr<GeolocationPosition> m_lastPosition;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -2686,6 +2686,8 @@
</span><span class="cx">                 724ED32C1A3A7E5400F5F13C /* EXTBlendMinMax.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 724ED3291A3A7E5400F5F13C /* EXTBlendMinMax.cpp */; };
</span><span class="cx">                 724ED3311A3A8B2300F5F13C /* JSEXTBlendMinMax.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 724ED32F1A3A8B2300F5F13C /* JSEXTBlendMinMax.cpp */; };
</span><span class="cx">                 724ED3321A3A8B2300F5F13C /* JSEXTBlendMinMax.h in Headers */ = {isa = PBXBuildFile; fileRef = 724ED3301A3A8B2300F5F13C /* JSEXTBlendMinMax.h */; };
</span><ins>+                724EE5501DC80D7F00A91FFB /* ActivityState.h in Headers */ = {isa = PBXBuildFile; fileRef = 724EE54E1DC7F25B00A91FFB /* ActivityState.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                724EE5511DC80D8400A91FFB /* ActivityStateChangeObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 724EE54F1DC7F25B00A91FFB /* ActivityStateChangeObserver.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 727AFED41A2EA6AE000442E8 /* EXTsRGB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 727AFED11A2EA6A0000442E8 /* EXTsRGB.cpp */; };
</span><span class="cx">                 72E417631A2E8D2F004C562A /* JSEXTsRGB.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72E417611A2E8D2F004C562A /* JSEXTsRGB.cpp */; };
</span><span class="cx">                 72F1ADA21A3904DC00014E18 /* EXTFragDepth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72F1AD9F1A3904C300014E18 /* EXTFragDepth.cpp */; };
</span><span class="lines">@@ -2851,7 +2853,6 @@
</span><span class="cx">                 7CD0BA051B8F79C9005CEBBE /* ActiveDOMCallbackMicrotask.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CD0BA031B8F79C9005CEBBE /* ActiveDOMCallbackMicrotask.h */; };
</span><span class="cx">                 7CD494CC1A86EB1D000A87EC /* RenderAttachment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CD494CA1A86EB1D000A87EC /* RenderAttachment.cpp */; };
</span><span class="cx">                 7CD494CD1A86EB1D000A87EC /* RenderAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CD494CB1A86EB1D000A87EC /* RenderAttachment.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                7CDEEE1E197610D700E352CD /* ViewStateChangeObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CDEEE1D197610D700E352CD /* ViewStateChangeObserver.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 7CE68344192143A800F4D928 /* UserMessageHandlerDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CE68342192143A800F4D928 /* UserMessageHandlerDescriptor.cpp */; };
</span><span class="cx">                 7CE68345192143A800F4D928 /* UserMessageHandlerDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CE68343192143A800F4D928 /* UserMessageHandlerDescriptor.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 7CE683471921821500F4D928 /* UserMessageHandlerDescriptorTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CE683461921821500F4D928 /* UserMessageHandlerDescriptorTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -3125,7 +3126,6 @@
</span><span class="cx">                 862F12A018C1DD02005C54AF /* HysteresisActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 862F129F18C1DCE4005C54AF /* HysteresisActivity.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 86512EDE154A2AEF00A90426 /* PerformanceResourceTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86512EDB154A2AEE00A90426 /* PerformanceResourceTiming.cpp */; };
</span><span class="cx">                 86512EDF154A2AEF00A90426 /* PerformanceResourceTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 86512EDC154A2AEF00A90426 /* PerformanceResourceTiming.h */; };
</span><del>-                8678D0BB1878E891003ABDE6 /* ViewState.h in Headers */ = {isa = PBXBuildFile; fileRef = 8678D0BA1878E810003ABDE6 /* ViewState.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 868160D418766A0A0021E79D /* UserActivity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 868160D1187669C40021E79D /* UserActivity.cpp */; };
</span><span class="cx">                 868160D518766A0E0021E79D /* UserActivityMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 868160D3187669E70021E79D /* UserActivityMac.mm */; };
</span><span class="cx">                 868160D618766A130021E79D /* UserActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 868160D2187669C40021E79D /* UserActivity.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -10012,6 +10012,8 @@
</span><span class="cx">                 724ED32B1A3A7E5400F5F13C /* EXTBlendMinMax.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = EXTBlendMinMax.idl; sourceTree = "<group>"; };
</span><span class="cx">                 724ED32F1A3A8B2300F5F13C /* JSEXTBlendMinMax.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSEXTBlendMinMax.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 724ED3301A3A8B2300F5F13C /* JSEXTBlendMinMax.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSEXTBlendMinMax.h; sourceTree = "<group>"; };
</span><ins>+                724EE54E1DC7F25B00A91FFB /* ActivityState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActivityState.h; sourceTree = "<group>"; };
+                724EE54F1DC7F25B00A91FFB /* ActivityStateChangeObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActivityStateChangeObserver.h; sourceTree = "<group>"; };
</ins><span class="cx">                 727AFED11A2EA6A0000442E8 /* EXTsRGB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EXTsRGB.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 727AFED21A2EA6A0000442E8 /* EXTsRGB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EXTsRGB.h; sourceTree = "<group>"; };
</span><span class="cx">                 727AFED31A2EA6A0000442E8 /* EXTsRGB.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = EXTsRGB.idl; sourceTree = "<group>"; };
</span><span class="lines">@@ -10206,7 +10208,6 @@
</span><span class="cx">                 7CD0BA031B8F79C9005CEBBE /* ActiveDOMCallbackMicrotask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActiveDOMCallbackMicrotask.h; sourceTree = "<group>"; };
</span><span class="cx">                 7CD494CA1A86EB1D000A87EC /* RenderAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderAttachment.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 7CD494CB1A86EB1D000A87EC /* RenderAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderAttachment.h; sourceTree = "<group>"; };
</span><del>-                7CDEEE1D197610D700E352CD /* ViewStateChangeObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewStateChangeObserver.h; sourceTree = "<group>"; };
</del><span class="cx">                 7CE68342192143A800F4D928 /* UserMessageHandlerDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UserMessageHandlerDescriptor.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 7CE68343192143A800F4D928 /* UserMessageHandlerDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserMessageHandlerDescriptor.h; sourceTree = "<group>"; };
</span><span class="cx">                 7CE683461921821500F4D928 /* UserMessageHandlerDescriptorTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserMessageHandlerDescriptorTypes.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -10539,7 +10540,6 @@
</span><span class="cx">                 86512EDB154A2AEE00A90426 /* PerformanceResourceTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PerformanceResourceTiming.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 86512EDC154A2AEF00A90426 /* PerformanceResourceTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PerformanceResourceTiming.h; sourceTree = "<group>"; };
</span><span class="cx">                 86512EDD154A2AEF00A90426 /* PerformanceResourceTiming.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PerformanceResourceTiming.idl; sourceTree = "<group>"; };
</span><del>-                8678D0BA1878E810003ABDE6 /* ViewState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewState.h; sourceTree = "<group>"; };
</del><span class="cx">                 868160D1187669C40021E79D /* UserActivity.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UserActivity.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 868160D2187669C40021E79D /* UserActivity.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UserActivity.h; sourceTree = "<group>"; };
</span><span class="cx">                 868160D3187669E70021E79D /* UserActivityMac.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = UserActivityMac.mm; sourceTree = "<group>"; };
</span><span class="lines">@@ -17597,6 +17597,8 @@
</span><span class="cx">                                 18A6CD6F0D8F2025001DC3CE /* ios */,
</span><span class="cx">                                 93C09A820B064F05005ABD4D /* mac */,
</span><span class="cx">                                 1AF62EE114DA22A70041556C /* scrolling */,
</span><ins>+                                724EE54E1DC7F25B00A91FFB /* ActivityState.h */,
+                                724EE54F1DC7F25B00A91FFB /* ActivityStateChangeObserver.h */,
</ins><span class="cx">                                 BCF48CE61370D114004E87D6 /* AdjustViewSizeOrNot.h */,
</span><span class="cx">                                 CEDA12D6152CA1CB00D9E08D /* AlternativeTextClient.h */,
</span><span class="cx">                                 45830D4B1679B4F800ACF8C3 /* AutoscrollController.cpp */,
</span><span class="lines">@@ -17796,8 +17798,6 @@
</span><span class="cx">                                 F513A3E915FF4841001526DB /* ValidationMessageClient.h */,
</span><span class="cx">                                 26F9A83618A046AC00AEB88A /* ViewportConfiguration.cpp */,
</span><span class="cx">                                 26F9A83718A046AC00AEB88A /* ViewportConfiguration.h */,
</span><del>-                                8678D0BA1878E810003ABDE6 /* ViewState.h */,
-                                7CDEEE1D197610D700E352CD /* ViewStateChangeObserver.h */,
</del><span class="cx">                                 1AF4CEEB18BC3C1B00BC2D34 /* VisitedLinkStore.cpp */,
</span><span class="cx">                                 1ABA7FFF1897341200DCE9D6 /* VisitedLinkStore.h */,
</span><span class="cx">                                 BE983D95052A2E0A00892D85 /* WebCoreKeyboardUIMode.h */,
</span><span class="lines">@@ -26405,6 +26405,7 @@
</span><span class="cx">                                 C90843D01B18E47D00B68564 /* MediaRemoteControls.h in Headers */,
</span><span class="cx">                                 CD8ACA8F1D23971900ECC59E /* MediaRemoteSoftLink.h in Headers */,
</span><span class="cx">                                 CD8ACA8B1D23946400ECC59E /* MediaRemoteSPI.h in Headers */,
</span><ins>+                                724EE5511DC80D8400A91FFB /* ActivityStateChangeObserver.h in Headers */,
</ins><span class="cx">                                 CEEFCD7A19DB31F7003876D7 /* MediaResourceLoader.h in Headers */,
</span><span class="cx">                                 1BF9DB3C1D3973AD0026AEB7 /* MediaSample.h in Headers */,
</span><span class="cx">                                 1B124D8D1D380B7000ECDFB0 /* MediaSampleAVFObjC.h in Headers */,
</span><span class="lines">@@ -27711,8 +27712,6 @@
</span><span class="cx">                                 CEF418CF1179678C009D112C /* ViewportArguments.h in Headers */,
</span><span class="cx">                                 26F9A83918A046AC00AEB88A /* ViewportConfiguration.h in Headers */,
</span><span class="cx">                                 3FFFF9AE159D9B060020BBD5 /* ViewportStyleResolver.h in Headers */,
</span><del>-                                8678D0BB1878E891003ABDE6 /* ViewState.h in Headers */,
-                                7CDEEE1E197610D700E352CD /* ViewStateChangeObserver.h in Headers */,
</del><span class="cx">                                 93309E20099E64920056E581 /* VisiblePosition.h in Headers */,
</span><span class="cx">                                 A883DF280F3D045D00F19BF6 /* VisibleSelection.h in Headers */,
</span><span class="cx">                                 93309E1E099E64920056E581 /* VisibleUnits.h in Headers */,
</span><span class="lines">@@ -27874,6 +27873,7 @@
</span><span class="cx">                                 B10B6980140C174000BC1C26 /* WebVTTToken.h in Headers */,
</span><span class="cx">                                 B10B6982140C174000BC1C26 /* WebVTTTokenizer.h in Headers */,
</span><span class="cx">                                 CD8203101395ACE700F956C6 /* WebWindowAnimation.h in Headers */,
</span><ins>+                                724EE5501DC80D7F00A91FFB /* ActivityState.h in Headers */,
</ins><span class="cx">                                 F55B3DE01251F12D003EF269 /* WeekInputType.h in Headers */,
</span><span class="cx">                                 85031B510A44EFC700F992E0 /* WheelEvent.h in Headers */,
</span><span class="cx">                                 2EBBC3D81B65988300F5253D /* WheelEventDeltaFilter.h in Headers */,
</span></span></pre></div>
<a id="trunkSourceWebCorepageActivityStatehfromrev208224trunkSourceWebCorepageViewStateh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/page/ActivityState.h (from rev 208224, trunk/Source/WebCore/page/ViewState.h) (0 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ActivityState.h         (rev 0)
+++ trunk/Source/WebCore/page/ActivityState.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+namespace WebCore {
+
+struct ActivityState {
+ enum {
+ WindowIsActive = 1 << 0,
+ IsFocused = 1 << 1,
+ IsVisible = 1 << 2,
+ IsVisibleOrOccluded = 1 << 3,
+ IsInWindow = 1 << 4,
+ IsVisuallyIdle = 1 << 5,
+ };
+
+ typedef unsigned Flags;
+
+ static const Flags NoFlags = 0;
+ static const Flags AllFlags = WindowIsActive | IsFocused | IsVisible | IsVisibleOrOccluded | IsInWindow | IsVisuallyIdle;
+};
+
+} // namespace WebCore
</ins></span></pre></div>
<a id="trunkSourceWebCorepageActivityStateChangeObserverhfromrev208224trunkSourceWebCorepageViewStateChangeObserverh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/page/ActivityStateChangeObserver.h (from rev 208224, trunk/Source/WebCore/page/ViewStateChangeObserver.h) (0 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ActivityStateChangeObserver.h         (rev 0)
+++ trunk/Source/WebCore/page/ActivityStateChangeObserver.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "ActivityState.h"
+
+namespace WebCore {
+
+class ActivityStateChangeObserver {
+public:
+ virtual ~ActivityStateChangeObserver()
+ {
+ }
+
+ virtual void activityStateDidChange(ActivityState::Flags oldActivityState, ActivityState::Flags newActivityState) = 0;
+};
+
+} // namespace WebCore
</ins></span></pre></div>
<a id="trunkSourceWebCorepageFocusControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FocusController.cpp (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FocusController.cpp        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebCore/page/FocusController.cpp        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -313,10 +313,10 @@
</span><span class="cx"> return element.tabIndex();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-FocusController::FocusController(Page& page, ViewState::Flags viewState)
</del><ins>+FocusController::FocusController(Page& page, ActivityState::Flags activityState)
</ins><span class="cx"> : m_page(page)
</span><span class="cx"> , m_isChangingFocusedFrame(false)
</span><del>- , m_viewState(viewState)
</del><ins>+ , m_activityState(activityState)
</ins><span class="cx"> , m_focusRepaintTimer(*this, &FocusController::focusRepaintTimerFired)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -359,7 +359,7 @@
</span><span class="cx">
</span><span class="cx"> void FocusController::setFocused(bool focused)
</span><span class="cx"> {
</span><del>- m_page.setViewState(focused ? m_viewState | ViewState::IsFocused : m_viewState & ~ViewState::IsFocused);
</del><ins>+ m_page.setActivityState(focused ? m_activityState | ActivityState::IsFocused : m_activityState & ~ActivityState::IsFocused);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void FocusController::setFocusedInternal(bool focused)
</span><span class="lines">@@ -825,23 +825,23 @@
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void FocusController::setViewState(ViewState::Flags viewState)
</del><ins>+void FocusController::setActivityState(ActivityState::Flags activityState)
</ins><span class="cx"> {
</span><del>- ViewState::Flags changed = m_viewState ^ viewState;
- m_viewState = viewState;
</del><ins>+ ActivityState::Flags changed = m_activityState ^ activityState;
+ m_activityState = activityState;
</ins><span class="cx">
</span><del>- if (changed & ViewState::IsFocused)
- setFocusedInternal(viewState & ViewState::IsFocused);
- if (changed & ViewState::WindowIsActive) {
- setActiveInternal(viewState & ViewState::WindowIsActive);
- if (changed & ViewState::IsVisible)
- setIsVisibleAndActiveInternal(viewState & ViewState::WindowIsActive);
</del><ins>+ if (changed & ActivityState::IsFocused)
+ setFocusedInternal(activityState & ActivityState::IsFocused);
+ if (changed & ActivityState::WindowIsActive) {
+ setActiveInternal(activityState & ActivityState::WindowIsActive);
+ if (changed & ActivityState::IsVisible)
+ setIsVisibleAndActiveInternal(activityState & ActivityState::WindowIsActive);
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void FocusController::setActive(bool active)
</span><span class="cx"> {
</span><del>- m_page.setViewState(active ? m_viewState | ViewState::WindowIsActive : m_viewState & ~ViewState::WindowIsActive);
</del><ins>+ m_page.setActivityState(active ? m_activityState | ActivityState::WindowIsActive : m_activityState & ~ActivityState::WindowIsActive);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void FocusController::setActiveInternal(bool active)
</span></span></pre></div>
<a id="trunkSourceWebCorepageFocusControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FocusController.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FocusController.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebCore/page/FocusController.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -25,10 +25,10 @@
</span><span class="cx">
</span><span class="cx"> #pragma once
</span><span class="cx">
</span><ins>+#include "ActivityState.h"
</ins><span class="cx"> #include "FocusDirection.h"
</span><span class="cx"> #include "LayoutRect.h"
</span><span class="cx"> #include "Timer.h"
</span><del>-#include "ViewState.h"
</del><span class="cx"> #include <wtf/Forward.h>
</span><span class="cx"> #include <wtf/Noncopyable.h>
</span><span class="cx"> #include <wtf/RefPtr.h>
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> class FocusController {
</span><span class="cx"> WTF_MAKE_NONCOPYABLE(FocusController); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>- explicit FocusController(Page&, ViewState::Flags);
</del><ins>+ explicit FocusController(Page&, ActivityState::Flags);
</ins><span class="cx">
</span><span class="cx"> WEBCORE_EXPORT void setFocusedFrame(PassRefPtr<Frame>);
</span><span class="cx"> Frame* focusedFrame() const { return m_focusedFrame.get(); }
</span><span class="lines">@@ -62,15 +62,15 @@
</span><span class="cx">
</span><span class="cx"> WEBCORE_EXPORT bool setFocusedElement(Element*, PassRefPtr<Frame>, FocusDirection = FocusDirectionNone);
</span><span class="cx">
</span><del>- void setViewState(ViewState::Flags);
</del><ins>+ void setActivityState(ActivityState::Flags);
</ins><span class="cx">
</span><span class="cx"> WEBCORE_EXPORT void setActive(bool);
</span><del>- bool isActive() const { return m_viewState & ViewState::WindowIsActive; }
</del><ins>+ bool isActive() const { return m_activityState & ActivityState::WindowIsActive; }
</ins><span class="cx">
</span><span class="cx"> WEBCORE_EXPORT void setFocused(bool);
</span><del>- bool isFocused() const { return m_viewState & ViewState::IsFocused; }
</del><ins>+ bool isFocused() const { return m_activityState & ActivityState::IsFocused; }
</ins><span class="cx">
</span><del>- bool contentIsVisible() const { return m_viewState & ViewState::IsVisible; }
</del><ins>+ bool contentIsVisible() const { return m_activityState & ActivityState::IsVisible; }
</ins><span class="cx">
</span><span class="cx"> // These methods are used in WebCore/bindings/objc/DOM.mm.
</span><span class="cx"> WEBCORE_EXPORT Element* nextFocusableElement(Node&);
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx"> Page& m_page;
</span><span class="cx"> RefPtr<Frame> m_focusedFrame;
</span><span class="cx"> bool m_isChangingFocusedFrame;
</span><del>- ViewState::Flags m_viewState;
</del><ins>+ ActivityState::Flags m_activityState;
</ins><span class="cx">
</span><span class="cx"> Timer m_focusRepaintTimer;
</span><span class="cx"> double m_focusSetTime;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.cpp (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.cpp        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebCore/page/Page.cpp        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -20,6 +20,7 @@
</span><span class="cx"> #include "config.h"
</span><span class="cx"> #include "Page.h"
</span><span class="cx">
</span><ins>+#include "ActivityStateChangeObserver.h"
</ins><span class="cx"> #include "AlternativeTextClient.h"
</span><span class="cx"> #include "AnimationController.h"
</span><span class="cx"> #include "ApplicationCacheStorage.h"
</span><span class="lines">@@ -94,7 +95,6 @@
</span><span class="cx"> #include "TextResourceDecoder.h"
</span><span class="cx"> #include "UserContentProvider.h"
</span><span class="cx"> #include "UserInputBridge.h"
</span><del>-#include "ViewStateChangeObserver.h"
</del><span class="cx"> #include "VisitedLinkState.h"
</span><span class="cx"> #include "VisitedLinkStore.h"
</span><span class="cx"> #include "VoidCallback.h"
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-static const ViewState::Flags PageInitialViewState = ViewState::IsVisible | ViewState::IsInWindow;
</del><ins>+static const ActivityState::Flags PageInitialActivityState = ActivityState::IsVisible | ActivityState::IsInWindow;
</ins><span class="cx">
</span><span class="cx"> Page::Page(PageConfiguration&& pageConfiguration)
</span><span class="cx"> : m_chrome(std::make_unique<Chrome>(*this, *pageConfiguration.chromeClient))
</span><span class="lines">@@ -164,7 +164,7 @@
</span><span class="cx"> #if ENABLE(DRAG_SUPPORT)
</span><span class="cx"> , m_dragController(std::make_unique<DragController>(*this, *pageConfiguration.dragClient))
</span><span class="cx"> #endif
</span><del>- , m_focusController(std::make_unique<FocusController>(*this, PageInitialViewState))
</del><ins>+ , m_focusController(std::make_unique<FocusController>(*this, PageInitialActivityState))
</ins><span class="cx"> #if ENABLE(CONTEXT_MENUS)
</span><span class="cx"> , m_contextMenuController(std::make_unique<ContextMenuController>(*this, *pageConfiguration.contextMenuClient))
</span><span class="cx"> #endif
</span><span class="lines">@@ -214,7 +214,7 @@
</span><span class="cx"> , m_timerAlignmentIntervalIncreaseTimer(*this, &Page::timerAlignmentIntervalIncreaseTimerFired)
</span><span class="cx"> , m_isEditable(false)
</span><span class="cx"> , m_isPrerender(false)
</span><del>- , m_viewState(PageInitialViewState)
</del><ins>+ , m_activityState(PageInitialActivityState)
</ins><span class="cx"> , m_requestedLayoutMilestones(0)
</span><span class="cx"> , m_headerHeight(0)
</span><span class="cx"> , m_footerHeight(0)
</span><span class="lines">@@ -1013,7 +1013,7 @@
</span><span class="cx">
</span><span class="cx"> void Page::setIsInWindow(bool isInWindow)
</span><span class="cx"> {
</span><del>- setViewState(isInWindow ? m_viewState | ViewState::IsInWindow : m_viewState & ~ViewState::IsInWindow);
</del><ins>+ setActivityState(isInWindow ? m_activityState | ActivityState::IsInWindow : m_activityState & ~ActivityState::IsInWindow);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Page::setIsInWindowInternal(bool isInWindow)
</span><span class="lines">@@ -1027,14 +1027,14 @@
</span><span class="cx"> resumeAnimatingImages();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Page::addViewStateChangeObserver(ViewStateChangeObserver& observer)
</del><ins>+void Page::addActivityStateChangeObserver(ActivityStateChangeObserver& observer)
</ins><span class="cx"> {
</span><del>- m_viewStateChangeObservers.add(&observer);
</del><ins>+ m_activityStateChangeObservers.add(&observer);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void Page::removeViewStateChangeObserver(ViewStateChangeObserver& observer)
</del><ins>+void Page::removeActivityStateChangeObserver(ActivityStateChangeObserver& observer)
</ins><span class="cx"> {
</span><del>- m_viewStateChangeObservers.remove(&observer);
</del><ins>+ m_activityStateChangeObservers.remove(&observer);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Page::suspendScriptedAnimations()
</span><span class="lines">@@ -1220,7 +1220,7 @@
</span><span class="cx"> void Page::updateTimerThrottlingState()
</span><span class="cx"> {
</span><span class="cx"> // Timer throttling disabled if page is visually active, or disabled by setting.
</span><del>- if (!m_settings->hiddenPageDOMTimerThrottlingEnabled() || !(m_viewState & ViewState::IsVisuallyIdle)) {
</del><ins>+ if (!m_settings->hiddenPageDOMTimerThrottlingEnabled() || !(m_activityState & ActivityState::IsVisuallyIdle)) {
</ins><span class="cx"> setTimerThrottlingState(TimerThrottlingState::Disabled);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1227,7 +1227,7 @@
</span><span class="cx">
</span><span class="cx"> // If the page is visible (but idle), there is any activity (loading, media playing, etc), or per setting,
</span><span class="cx"> // we allow timer throttling, but not increasing timer throttling.
</span><del>- if (!m_settings->hiddenPageDOMTimerThrottlingAutoIncreases() || m_viewState & ViewState::IsVisible || m_pageThrottler.activityState()) {
</del><ins>+ if (!m_settings->hiddenPageDOMTimerThrottlingAutoIncreases() || m_activityState & ActivityState::IsVisible || m_pageThrottler.activityState()) {
</ins><span class="cx"> setTimerThrottlingState(TimerThrottlingState::Enabled);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -1438,31 +1438,31 @@
</span><span class="cx"> view->resumeVisibleImageAnimationsIncludingSubframes();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void Page::setViewState(ViewState::Flags viewState)
</del><ins>+void Page::setActivityState(ActivityState::Flags activityState)
</ins><span class="cx"> {
</span><del>- ViewState::Flags changed = m_viewState ^ viewState;
</del><ins>+ ActivityState::Flags changed = m_activityState ^ activityState;
</ins><span class="cx"> if (!changed)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- ViewState::Flags oldViewState = m_viewState;
</del><ins>+ ActivityState::Flags oldActivityState = m_activityState;
</ins><span class="cx">
</span><span class="cx"> bool wasVisibleAndActive = isVisibleAndActive();
</span><del>- m_viewState = viewState;
</del><ins>+ m_activityState = activityState;
</ins><span class="cx">
</span><del>- m_focusController->setViewState(viewState);
</del><ins>+ m_focusController->setActivityState(activityState);
</ins><span class="cx">
</span><del>- if (changed & ViewState::IsVisible)
- setIsVisibleInternal(viewState & ViewState::IsVisible);
- if (changed & ViewState::IsInWindow)
- setIsInWindowInternal(viewState & ViewState::IsInWindow);
- if (changed & ViewState::IsVisuallyIdle)
- setIsVisuallyIdleInternal(viewState & ViewState::IsVisuallyIdle);
</del><ins>+ if (changed & ActivityState::IsVisible)
+ setIsVisibleInternal(activityState & ActivityState::IsVisible);
+ if (changed & ActivityState::IsInWindow)
+ setIsInWindowInternal(activityState & ActivityState::IsInWindow);
+ if (changed & ActivityState::IsVisuallyIdle)
+ setIsVisuallyIdleInternal(activityState & ActivityState::IsVisuallyIdle);
</ins><span class="cx">
</span><del>- if (changed & (ViewState::IsVisible | ViewState::IsVisuallyIdle))
</del><ins>+ if (changed & (ActivityState::IsVisible | ActivityState::IsVisuallyIdle))
</ins><span class="cx"> updateTimerThrottlingState();
</span><span class="cx">
</span><del>- for (auto* observer : m_viewStateChangeObservers)
- observer->viewStateDidChange(oldViewState, m_viewState);
</del><ins>+ for (auto* observer : m_activityStateChangeObservers)
+ observer->activityStateDidChange(oldActivityState, m_activityState);
</ins><span class="cx">
</span><span class="cx"> if (wasVisibleAndActive != isVisibleAndActive())
</span><span class="cx"> PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary();
</span><span class="lines">@@ -1470,15 +1470,15 @@
</span><span class="cx">
</span><span class="cx"> bool Page::isVisibleAndActive() const
</span><span class="cx"> {
</span><del>- return (m_viewState & ViewState::IsVisible) && (m_viewState & ViewState::WindowIsActive);
</del><ins>+ return (m_activityState & ActivityState::IsVisible) && (m_activityState & ActivityState::WindowIsActive);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Page::setIsVisible(bool isVisible)
</span><span class="cx"> {
</span><span class="cx"> if (isVisible)
</span><del>- setViewState((m_viewState & ~ViewState::IsVisuallyIdle) | ViewState::IsVisible | ViewState::IsVisibleOrOccluded);
</del><ins>+ setActivityState((m_activityState & ~ActivityState::IsVisuallyIdle) | ActivityState::IsVisible | ActivityState::IsVisibleOrOccluded);
</ins><span class="cx"> else
</span><del>- setViewState((m_viewState & ~(ViewState::IsVisible | ViewState::IsVisibleOrOccluded)) | ViewState::IsVisuallyIdle);
</del><ins>+ setActivityState((m_activityState & ~(ActivityState::IsVisible | ActivityState::IsVisibleOrOccluded)) | ActivityState::IsVisuallyIdle);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void Page::setIsVisibleInternal(bool isVisible)
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/Page.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/Page.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebCore/page/Page.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -20,6 +20,7 @@
</span><span class="cx">
</span><span class="cx"> #pragma once
</span><span class="cx">
</span><ins>+#include "ActivityState.h"
</ins><span class="cx"> #include "FindOptions.h"
</span><span class="cx"> #include "FrameLoaderTypes.h"
</span><span class="cx"> #include "LayoutMilestones.h"
</span><span class="lines">@@ -34,7 +35,6 @@
</span><span class="cx"> #include "SessionID.h"
</span><span class="cx"> #include "Supplementable.h"
</span><span class="cx"> #include "UserInterfaceLayoutDirection.h"
</span><del>-#include "ViewState.h"
</del><span class="cx"> #include "ViewportArguments.h"
</span><span class="cx"> #include "WheelEventTestTrigger.h"
</span><span class="cx"> #include <memory>
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx"> class StorageNamespaceProvider;
</span><span class="cx"> class UserContentProvider;
</span><span class="cx"> class ValidationMessageClient;
</span><del>-class ViewStateChangeObserver;
</del><ins>+class ActivityStateChangeObserver;
</ins><span class="cx"> class VisitedLinkStore;
</span><span class="cx">
</span><span class="cx"> typedef uint64_t LinkHash;
</span><span class="lines">@@ -334,22 +334,22 @@
</span><span class="cx"> WEBCORE_EXPORT DiagnosticLoggingClient& diagnosticLoggingClient() const;
</span><span class="cx">
</span><span class="cx"> // Notifications when the Page starts and stops being presented via a native window.
</span><del>- WEBCORE_EXPORT void setViewState(ViewState::Flags);
</del><ins>+ WEBCORE_EXPORT void setActivityState(ActivityState::Flags);
</ins><span class="cx"> bool isVisibleAndActive() const;
</span><span class="cx"> void pageActivityStateChanged() { updateTimerThrottlingState(); }
</span><span class="cx"> WEBCORE_EXPORT void setIsVisible(bool);
</span><span class="cx"> WEBCORE_EXPORT void setIsPrerender();
</span><del>- bool isVisible() const { return m_viewState & ViewState::IsVisible; }
</del><ins>+ bool isVisible() const { return m_activityState & ActivityState::IsVisible; }
</ins><span class="cx">
</span><span class="cx"> // Notification that this Page was moved into or out of a native window.
</span><span class="cx"> WEBCORE_EXPORT void setIsInWindow(bool);
</span><del>- bool isInWindow() const { return m_viewState & ViewState::IsInWindow; }
</del><ins>+ bool isInWindow() const { return m_activityState & ActivityState::IsInWindow; }
</ins><span class="cx">
</span><span class="cx"> void setIsClosing() { m_isClosing = true; }
</span><span class="cx"> bool isClosing() const { return m_isClosing; }
</span><span class="cx">
</span><del>- void addViewStateChangeObserver(ViewStateChangeObserver&);
- void removeViewStateChangeObserver(ViewStateChangeObserver&);
</del><ins>+ void addActivityStateChangeObserver(ActivityStateChangeObserver&);
+ void removeActivityStateChangeObserver(ActivityStateChangeObserver&);
</ins><span class="cx">
</span><span class="cx"> WEBCORE_EXPORT void suspendScriptedAnimations();
</span><span class="cx"> WEBCORE_EXPORT void resumeScriptedAnimations();
</span><span class="lines">@@ -666,7 +666,7 @@
</span><span class="cx">
</span><span class="cx"> bool m_isEditable;
</span><span class="cx"> bool m_isPrerender;
</span><del>- ViewState::Flags m_viewState;
</del><ins>+ ActivityState::Flags m_activityState;
</ins><span class="cx"> PageActivityState::Flags m_pageActivityState;
</span><span class="cx">
</span><span class="cx"> LayoutMilestones m_requestedLayoutMilestones;
</span><span class="lines">@@ -711,7 +711,7 @@
</span><span class="cx"> Ref<VisitedLinkStore> m_visitedLinkStore;
</span><span class="cx"> RefPtr<WheelEventTestTrigger> m_testTrigger;
</span><span class="cx">
</span><del>- HashSet<ViewStateChangeObserver*> m_viewStateChangeObservers;
</del><ins>+ HashSet<ActivityStateChangeObserver*> m_activityStateChangeObservers;
</ins><span class="cx">
</span><span class="cx"> #if ENABLE(RESOURCE_USAGE)
</span><span class="cx"> std::unique_ptr<ResourceUsageOverlay> m_resourceUsageOverlay;
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageThrottlerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageThrottler.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageThrottler.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebCore/page/PageThrottler.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -25,10 +25,9 @@
</span><span class="cx">
</span><span class="cx"> #pragma once
</span><span class="cx">
</span><ins>+#include "ActivityState.h"
</ins><span class="cx"> #include "Timer.h"
</span><del>-
</del><span class="cx"> #include "UserActivity.h"
</span><del>-#include "ViewState.h"
</del><span class="cx"> #include <wtf/RefCounter.h>
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="trunkSourceWebCorepageViewStateh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/page/ViewState.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ViewState.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebCore/page/ViewState.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -1,46 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-namespace WebCore {
-
-struct ViewState {
- enum {
- WindowIsActive = 1 << 0,
- IsFocused = 1 << 1,
- IsVisible = 1 << 2,
- IsVisibleOrOccluded = 1 << 3,
- IsInWindow = 1 << 4,
- IsVisuallyIdle = 1 << 5,
- };
-
- typedef unsigned Flags;
-
- static const Flags NoFlags = 0;
- static const Flags AllFlags = WindowIsActive | IsFocused | IsVisible | IsVisibleOrOccluded | IsInWindow | IsVisuallyIdle;
-};
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebCorepageViewStateChangeObserverh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/page/ViewStateChangeObserver.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/ViewStateChangeObserver.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebCore/page/ViewStateChangeObserver.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -1,41 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include "ViewState.h"
-
-namespace WebCore {
-
-class ViewStateChangeObserver {
-public:
- virtual ~ViewStateChangeObserver()
- {
- }
-
- virtual void viewStateDidChange(ViewState::Flags oldViewState, ViewState::Flags newViewState) = 0;
-};
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/ChangeLog        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -1,3 +1,134 @@
</span><ins>+2016-10-31 Gavin Barraclough <barraclough@apple.com>
+
+ Rename ViewState to ActivityState
+ https://bugs.webkit.org/show_bug.cgi?id=164254
+
+ Reviewed by Andreas Kling.
+
+ We plan to add a couple more flags to ViewState that aren't directly related to the view
+ itself - whether there is an ongoing page load, and whether whether there is audio playback.
+ This will allow viewState (now activityState) to fully drive throttling decisions.
+
+ Renaming this bitfield accordingly.
+
+ * Shared/WebPageCreationParameters.cpp:
+ (WebKit::WebPageCreationParameters::encode):
+ (WebKit::WebPageCreationParameters::decode):
+ * Shared/WebPageCreationParameters.h:
+ * UIProcess/API/Cocoa/WKWebView.mm:
+ (-[WKWebView didMoveToWindow]):
+ * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+ (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
+ (_WebKitWebViewBasePrivate::updateActivityStateTimerFired):
+ (webkitWebViewBaseScheduleUpdateActivityState):
+ (toplevelWindowFocusInEvent):
+ (toplevelWindowFocusOutEvent):
+ (toplevelWindowStateEvent):
+ (webkitWebViewBaseSetToplevelOnScreenWindow):
+ (webkitWebViewBaseMap):
+ (webkitWebViewBaseUnmap):
+ (webkitWebViewBaseSetFocus):
+ (webkitWebViewBaseIsInWindowActive):
+ (webkitWebViewBaseIsFocused):
+ (webkitWebViewBaseIsVisible):
+ (webkitWebViewBaseIsInWindow):
+ (_WebKitWebViewBasePrivate::updateViewStateTimerFired): Deleted.
+ (webkitWebViewBaseScheduleUpdateViewState): Deleted.
+ * UIProcess/Cocoa/WebViewImpl.mm:
+ (WebKit::WebViewImpl::becomeFirstResponder):
+ (WebKit::WebViewImpl::resignFirstResponder):
+ (WebKit::WebViewImpl::windowDidOrderOffScreen):
+ (WebKit::WebViewImpl::windowDidOrderOnScreen):
+ (WebKit::WebViewImpl::windowDidBecomeKey):
+ (WebKit::WebViewImpl::windowDidResignKey):
+ (WebKit::WebViewImpl::windowDidMiniaturize):
+ (WebKit::WebViewImpl::windowDidDeminiaturize):
+ (WebKit::WebViewImpl::windowDidChangeOcclusionState):
+ (WebKit::WebViewImpl::viewDidMoveToWindow):
+ (WebKit::WebViewImpl::viewDidHide):
+ (WebKit::WebViewImpl::viewDidUnhide):
+ (WebKit::WebViewImpl::activeSpaceDidChange):
+ (WebKit::WebViewImpl::endDeferringViewInWindowChanges):
+ (WebKit::WebViewImpl::endDeferringViewInWindowChangesSync):
+ (WebKit::WebViewImpl::prepareForMoveToWindow):
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::waitForDidUpdateActivityState):
+ (WebKit::DrawingAreaProxy::waitForDidUpdateViewState): Deleted.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::reattachToWebProcess):
+ (WebKit::WebPageProxy::setSuppressVisibilityUpdates):
+ (WebKit::WebPageProxy::updateActivityState):
+ (WebKit::WebPageProxy::activityStateDidChange):
+ (WebKit::WebPageProxy::dispatchActivityStateChange):
+ (WebKit::WebPageProxy::updateThrottleState):
+ (WebKit::WebPageProxy::waitForDidUpdateActivityState):
+ (WebKit::WebPageProxy::creationParameters):
+ (WebKit::WebPageProxy::installActivityStateChangeCompletionHandler):
+ (WebKit::WebPageProxy::updateViewState): Deleted.
+ (WebKit::WebPageProxy::viewStateDidChange): Deleted.
+ (WebKit::WebPageProxy::dispatchViewStateChange): Deleted.
+ (WebKit::WebPageProxy::waitForDidUpdateViewState): Deleted.
+ (WebKit::WebPageProxy::installViewStateChangeCompletionHandler): Deleted.
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::isInWindow):
+ (WebKit::WebPageProxy::didUpdateActivityState):
+ (WebKit::WebPageProxy::isViewVisible):
+ (WebKit::WebPageProxy::didUpdateViewState): Deleted.
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::windowServerConnectionStateChanged):
+ * UIProcess/efl/WebView.cpp:
+ * UIProcess/ios/WKContentView.mm:
+ (-[WKContentView _applicationDidEnterBackground]):
+ (-[WKContentView _applicationWillEnterForeground]):
+ * UIProcess/ios/WKPDFView.mm:
+ (-[WKPDFView _applicationDidEnterBackground]):
+ (-[WKPDFView _applicationWillEnterForeground]):
+ * UIProcess/ios/WebPageProxyIOS.mm:
+ (WebKit::WebPageProxy::synchronizeDynamicViewportUpdate):
+ * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
+ * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
+ (WebKit::RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay):
+ (WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateActivityState):
+ (WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState): Deleted.
+ * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
+ * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
+ (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateActivityState):
+ (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateViewState): Deleted.
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::activityStateDidChange):
+ (WebKit::PluginView::viewStateDidChange): Deleted.
+ * WebProcess/Plugins/PluginView.h:
+ * WebProcess/WebPage/AcceleratedDrawingArea.cpp:
+ (WebKit::AcceleratedDrawingArea::activityStateDidChange):
+ (WebKit::AcceleratedDrawingArea::viewStateDidChange): Deleted.
+ * WebProcess/WebPage/AcceleratedDrawingArea.h:
+ * WebProcess/WebPage/DrawingArea.h:
+ (WebKit::DrawingArea::activityStateDidChange):
+ (WebKit::DrawingArea::viewStateDidChange): Deleted.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::m_userInterfaceLayoutDirection):
+ (WebKit::WebPage::reinitializeWebPage):
+ (WebKit::WebPage::updateIsInWindow):
+ (WebKit::WebPage::setActivityState):
+ (WebKit::WebPage::setViewState): Deleted.
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::isVisible):
+ (WebKit::WebPage::isVisibleOrOccluded):
+ * WebProcess/WebPage/WebPage.messages.in:
+ * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
+ * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
+ (WebKit::RemoteLayerTreeDrawingArea::activityStateDidChange):
+ (WebKit::RemoteLayerTreeDrawingArea::viewStateDidChange): Deleted.
+ * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
+ * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
+ (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
+ (WebKit::TiledCoreAnimationDrawingArea::activityStateDidChange):
+ (WebKit::TiledCoreAnimationDrawingArea::didUpdateActivityStateTimerFired):
+ (WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange): Deleted.
+ (WebKit::TiledCoreAnimationDrawingArea::didUpdateViewStateTimerFired): Deleted.
+
</ins><span class="cx"> 2016-10-31 Jaehun Lim <ljaehun.lim@samsung.com>
</span><span class="cx">
</span><span class="cx"> Unreviewed, CMake build fix
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebPageCreationParameterscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/Shared/WebPageCreationParameters.cpp        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> void WebPageCreationParameters::encode(IPC::Encoder& encoder) const
</span><span class="cx"> {
</span><span class="cx"> encoder << viewSize;
</span><del>- encoder << viewState;
</del><ins>+ encoder << activityState;
</ins><span class="cx">
</span><span class="cx"> encoder << store;
</span><span class="cx"> encoder.encodeEnum(drawingAreaType);
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx"> {
</span><span class="cx"> if (!decoder.decode(parameters.viewSize))
</span><span class="cx"> return false;
</span><del>- if (!decoder.decode(parameters.viewState))
</del><ins>+ if (!decoder.decode(parameters.activityState))
</ins><span class="cx"> return false;
</span><span class="cx"> if (!decoder.decode(parameters.store))
</span><span class="cx"> return false;
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebPageCreationParametersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebPageCreationParameters.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebPageCreationParameters.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/Shared/WebPageCreationParameters.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> #include "WebCoreArgumentCoders.h"
</span><span class="cx"> #include "WebPageGroupData.h"
</span><span class="cx"> #include "WebPreferencesStore.h"
</span><ins>+#include <WebCore/ActivityState.h>
</ins><span class="cx"> #include <WebCore/Color.h>
</span><span class="cx"> #include <WebCore/FloatSize.h>
</span><span class="cx"> #include <WebCore/IntSize.h>
</span><span class="lines">@@ -40,7 +41,6 @@
</span><span class="cx"> #include <WebCore/ScrollTypes.h>
</span><span class="cx"> #include <WebCore/SessionID.h>
</span><span class="cx"> #include <WebCore/UserInterfaceLayoutDirection.h>
</span><del>-#include <WebCore/ViewState.h>
</del><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(MAC)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">
</span><span class="cx"> WebCore::IntSize viewSize;
</span><span class="cx">
</span><del>- WebCore::ViewState::Flags viewState;
</del><ins>+ WebCore::ActivityState::Flags activityState;
</ins><span class="cx">
</span><span class="cx"> WebPreferencesStore store;
</span><span class="cx"> DrawingAreaType drawingAreaType;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -1730,7 +1730,7 @@
</span><span class="cx">
</span><span class="cx"> - (void)didMoveToWindow
</span><span class="cx"> {
</span><del>- _page->viewStateDidChange(WebCore::ViewState::AllFlags);
</del><ins>+ _page->activityStateDidChange(WebCore::ActivityState::AllFlags);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (void)setOpaque:(BOOL)opaque
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIgtkWebKitWebViewBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx">
</span><span class="cx"> #include "APIPageConfiguration.h"
</span><span class="cx"> #include "AcceleratedBackingStore.h"
</span><ins>+#include "ActivityState.h"
</ins><span class="cx"> #include "DrawingAreaProxyImpl.h"
</span><span class="cx"> #include "InputMethodFilter.h"
</span><span class="cx"> #include "KeyBindingTranslator.h"
</span><span class="lines">@@ -38,7 +39,6 @@
</span><span class="cx"> #include "NativeWebMouseEvent.h"
</span><span class="cx"> #include "NativeWebWheelEvent.h"
</span><span class="cx"> #include "PageClientImpl.h"
</span><del>-#include "ViewState.h"
</del><span class="cx"> #include "WebEventFactory.h"
</span><span class="cx"> #include "WebFullScreenClientGtk.h"
</span><span class="cx"> #include "WebInspectorProxy.h"
</span><span class="lines">@@ -146,16 +146,16 @@
</span><span class="cx">
</span><span class="cx"> struct _WebKitWebViewBasePrivate {
</span><span class="cx"> _WebKitWebViewBasePrivate()
</span><del>- : updateViewStateTimer(RunLoop::main(), this, &_WebKitWebViewBasePrivate::updateViewStateTimerFired)
</del><ins>+ : updateActivityStateTimer(RunLoop::main(), this, &_WebKitWebViewBasePrivate::updateActivityStateTimerFired)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>- void updateViewStateTimerFired()
</del><ins>+ void updateActivityStateTimerFired()
</ins><span class="cx"> {
</span><span class="cx"> if (!pageProxy)
</span><span class="cx"> return;
</span><del>- pageProxy->viewStateDidChange(viewStateFlagsToUpdate);
- viewStateFlagsToUpdate = ViewState::NoFlags;
</del><ins>+ pageProxy->activityStateDidChange(activityStateFlagsToUpdate);
+ activityStateFlagsToUpdate = ActivityState::NoFlags;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> WebKitWebViewChildrenMap children;
</span><span class="lines">@@ -185,9 +185,9 @@
</span><span class="cx"> unsigned long toplevelWindowRealizedID;
</span><span class="cx">
</span><span class="cx"> // View State.
</span><del>- ViewState::Flags viewState;
- ViewState::Flags viewStateFlagsToUpdate;
- RunLoop::Timer<WebKitWebViewBasePrivate> updateViewStateTimer;
</del><ins>+ ActivityState::Flags activityState;
+ ActivityState::Flags activityStateFlagsToUpdate;
+ RunLoop::Timer<WebKitWebViewBasePrivate> updateActivityStateTimer;
</ins><span class="cx">
</span><span class="cx"> WebKitWebViewBaseDownloadRequestHandler downloadHandler;
</span><span class="cx">
</span><span class="lines">@@ -212,14 +212,14 @@
</span><span class="cx">
</span><span class="cx"> WEBKIT_DEFINE_TYPE(WebKitWebViewBase, webkit_web_view_base, GTK_TYPE_CONTAINER)
</span><span class="cx">
</span><del>-static void webkitWebViewBaseScheduleUpdateViewState(WebKitWebViewBase* webViewBase, ViewState::Flags flagsToUpdate)
</del><ins>+static void webkitWebViewBaseScheduleUpdateActivityState(WebKitWebViewBase* webViewBase, ActivityState::Flags flagsToUpdate)
</ins><span class="cx"> {
</span><span class="cx"> WebKitWebViewBasePrivate* priv = webViewBase->priv;
</span><del>- priv->viewStateFlagsToUpdate |= flagsToUpdate;
- if (priv->updateViewStateTimer.isActive())
</del><ins>+ priv->activityStateFlagsToUpdate |= flagsToUpdate;
+ if (priv->updateActivityStateTimer.isActive())
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- priv->updateViewStateTimer.startOneShot(0);
</del><ins>+ priv->updateActivityStateTimer.startOneShot(0);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static gboolean toplevelWindowFocusInEvent(GtkWidget* widget, GdkEventFocus*, WebKitWebViewBase* webViewBase)
</span><span class="lines">@@ -229,11 +229,11 @@
</span><span class="cx"> return FALSE;
</span><span class="cx">
</span><span class="cx"> WebKitWebViewBasePrivate* priv = webViewBase->priv;
</span><del>- if (priv->viewState & ViewState::WindowIsActive)
</del><ins>+ if (priv->activityState & ActivityState::WindowIsActive)
</ins><span class="cx"> return FALSE;
</span><span class="cx">
</span><del>- priv->viewState |= ViewState::WindowIsActive;
- webkitWebViewBaseScheduleUpdateViewState(webViewBase, ViewState::WindowIsActive);
</del><ins>+ priv->activityState |= ActivityState::WindowIsActive;
+ webkitWebViewBaseScheduleUpdateActivityState(webViewBase, ActivityState::WindowIsActive);
</ins><span class="cx">
</span><span class="cx"> return FALSE;
</span><span class="cx"> }
</span><span class="lines">@@ -241,11 +241,11 @@
</span><span class="cx"> static gboolean toplevelWindowFocusOutEvent(GtkWidget*, GdkEventFocus*, WebKitWebViewBase* webViewBase)
</span><span class="cx"> {
</span><span class="cx"> WebKitWebViewBasePrivate* priv = webViewBase->priv;
</span><del>- if (!(priv->viewState & ViewState::WindowIsActive))
</del><ins>+ if (!(priv->activityState & ActivityState::WindowIsActive))
</ins><span class="cx"> return FALSE;
</span><span class="cx">
</span><del>- priv->viewState &= ~ViewState::WindowIsActive;
- webkitWebViewBaseScheduleUpdateViewState(webViewBase, ViewState::WindowIsActive);
</del><ins>+ priv->activityState &= ~ActivityState::WindowIsActive;
+ webkitWebViewBaseScheduleUpdateActivityState(webViewBase, ActivityState::WindowIsActive);
</ins><span class="cx">
</span><span class="cx"> return FALSE;
</span><span class="cx"> }
</span><span class="lines">@@ -257,14 +257,14 @@
</span><span class="cx"> return FALSE;
</span><span class="cx">
</span><span class="cx"> bool visible = !(event->new_window_state & GDK_WINDOW_STATE_ICONIFIED);
</span><del>- if ((visible && priv->viewState & ViewState::IsVisible) || (!visible && !(priv->viewState & ViewState::IsVisible)))
</del><ins>+ if ((visible && priv->activityState & ActivityState::IsVisible) || (!visible && !(priv->activityState & ActivityState::IsVisible)))
</ins><span class="cx"> return FALSE;
</span><span class="cx">
</span><span class="cx"> if (visible)
</span><del>- priv->viewState |= ViewState::IsVisible;
</del><ins>+ priv->activityState |= ActivityState::IsVisible;
</ins><span class="cx"> else
</span><del>- priv->viewState &= ~ViewState::IsVisible;
- webkitWebViewBaseScheduleUpdateViewState(webViewBase, ViewState::IsVisible);
</del><ins>+ priv->activityState &= ~ActivityState::IsVisible;
+ webkitWebViewBaseScheduleUpdateActivityState(webViewBase, ActivityState::IsVisible);
</ins><span class="cx">
</span><span class="cx"> return FALSE;
</span><span class="cx"> }
</span><span class="lines">@@ -306,17 +306,17 @@
</span><span class="cx"> priv->toplevelOnScreenWindow = window;
</span><span class="cx">
</span><span class="cx"> if (!priv->toplevelOnScreenWindow) {
</span><del>- ViewState::Flags flagsToUpdate = 0;
- if (priv->viewState & ViewState::IsInWindow) {
- priv->viewState &= ~ViewState::IsInWindow;
- flagsToUpdate |= ViewState::IsInWindow;
</del><ins>+ ActivityState::Flags flagsToUpdate = 0;
+ if (priv->activityState & ActivityState::IsInWindow) {
+ priv->activityState &= ~ActivityState::IsInWindow;
+ flagsToUpdate |= ActivityState::IsInWindow;
</ins><span class="cx"> }
</span><del>- if (priv->viewState & ViewState::WindowIsActive) {
- priv->viewState &= ~ViewState::WindowIsActive;
- flagsToUpdate |= ViewState::IsInWindow;
</del><ins>+ if (priv->activityState & ActivityState::WindowIsActive) {
+ priv->activityState &= ~ActivityState::WindowIsActive;
+ flagsToUpdate |= ActivityState::IsInWindow;
</ins><span class="cx"> }
</span><span class="cx"> if (flagsToUpdate)
</span><del>- webkitWebViewBaseScheduleUpdateViewState(webViewBase, flagsToUpdate);
</del><ins>+ webkitWebViewBaseScheduleUpdateActivityState(webViewBase, flagsToUpdate);
</ins><span class="cx">
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -631,20 +631,20 @@
</span><span class="cx">
</span><span class="cx"> WebKitWebViewBase* webViewBase = WEBKIT_WEB_VIEW_BASE(widget);
</span><span class="cx"> WebKitWebViewBasePrivate* priv = webViewBase->priv;
</span><del>- ViewState::Flags flagsToUpdate = 0;
- if (!(priv->viewState & ViewState::IsVisible))
- flagsToUpdate |= ViewState::IsVisible;
</del><ins>+ ActivityState::Flags flagsToUpdate = 0;
+ if (!(priv->activityState & ActivityState::IsVisible))
+ flagsToUpdate |= ActivityState::IsVisible;
</ins><span class="cx"> if (priv->toplevelOnScreenWindow) {
</span><del>- if (!(priv->viewState & ViewState::IsInWindow))
- flagsToUpdate |= ViewState::IsInWindow;
- if (gtk_window_is_active(GTK_WINDOW(priv->toplevelOnScreenWindow)) && !(priv->viewState & ViewState::WindowIsActive))
- flagsToUpdate |= ViewState::WindowIsActive;
</del><ins>+ if (!(priv->activityState & ActivityState::IsInWindow))
+ flagsToUpdate |= ActivityState::IsInWindow;
+ if (gtk_window_is_active(GTK_WINDOW(priv->toplevelOnScreenWindow)) && !(priv->activityState & ActivityState::WindowIsActive))
+ flagsToUpdate |= ActivityState::WindowIsActive;
</ins><span class="cx"> }
</span><span class="cx"> if (!flagsToUpdate)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- priv->viewState |= flagsToUpdate;
- webkitWebViewBaseScheduleUpdateViewState(webViewBase, flagsToUpdate);
</del><ins>+ priv->activityState |= flagsToUpdate;
+ webkitWebViewBaseScheduleUpdateActivityState(webViewBase, flagsToUpdate);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static void webkitWebViewBaseUnmap(GtkWidget* widget)
</span><span class="lines">@@ -653,11 +653,11 @@
</span><span class="cx">
</span><span class="cx"> WebKitWebViewBase* webViewBase = WEBKIT_WEB_VIEW_BASE(widget);
</span><span class="cx"> WebKitWebViewBasePrivate* priv = webViewBase->priv;
</span><del>- if (!(priv->viewState & ViewState::IsVisible))
</del><ins>+ if (!(priv->activityState & ActivityState::IsVisible))
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- priv->viewState &= ~ViewState::IsVisible;
- webkitWebViewBaseScheduleUpdateViewState(webViewBase, ViewState::IsVisible);
</del><ins>+ priv->activityState &= ~ActivityState::IsVisible;
+ webkitWebViewBaseScheduleUpdateActivityState(webViewBase, ActivityState::IsVisible);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> static gboolean webkitWebViewBaseFocusInEvent(GtkWidget* widget, GdkEventFocus* event)
</span><span class="lines">@@ -1379,12 +1379,12 @@
</span><span class="cx"> void webkitWebViewBaseSetFocus(WebKitWebViewBase* webViewBase, bool focused)
</span><span class="cx"> {
</span><span class="cx"> WebKitWebViewBasePrivate* priv = webViewBase->priv;
</span><del>- if ((focused && priv->viewState & ViewState::IsFocused) || (!focused && !(priv->viewState & ViewState::IsFocused)))
</del><ins>+ if ((focused && priv->activityState & ActivityState::IsFocused) || (!focused && !(priv->activityState & ActivityState::IsFocused)))
</ins><span class="cx"> return;
</span><span class="cx">
</span><del>- ViewState::Flags flagsToUpdate = ViewState::IsFocused;
</del><ins>+ ActivityState::Flags flagsToUpdate = ActivityState::IsFocused;
</ins><span class="cx"> if (focused) {
</span><del>- priv->viewState |= ViewState::IsFocused;
</del><ins>+ priv->activityState |= ActivityState::IsFocused;
</ins><span class="cx">
</span><span class="cx"> // If the view has received the focus and the window is not active
</span><span class="cx"> // mark the current window as active now. This can happen if the
</span><span class="lines">@@ -1391,34 +1391,34 @@
</span><span class="cx"> // toplevel window is a GTK_WINDOW_POPUP and the focus has been
</span><span class="cx"> // set programatically like WebKitTestRunner does, because POPUP
</span><span class="cx"> // can't be focused.
</span><del>- if (!(priv->viewState & ViewState::WindowIsActive)) {
- priv->viewState |= ViewState::WindowIsActive;
- flagsToUpdate |= ViewState::WindowIsActive;
</del><ins>+ if (!(priv->activityState & ActivityState::WindowIsActive)) {
+ priv->activityState |= ActivityState::WindowIsActive;
+ flagsToUpdate |= ActivityState::WindowIsActive;
</ins><span class="cx"> }
</span><span class="cx"> } else
</span><del>- priv->viewState &= ~ViewState::IsFocused;
</del><ins>+ priv->activityState &= ~ActivityState::IsFocused;
</ins><span class="cx">
</span><del>- webkitWebViewBaseScheduleUpdateViewState(webViewBase, flagsToUpdate);
</del><ins>+ webkitWebViewBaseScheduleUpdateActivityState(webViewBase, flagsToUpdate);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool webkitWebViewBaseIsInWindowActive(WebKitWebViewBase* webViewBase)
</span><span class="cx"> {
</span><del>- return webViewBase->priv->viewState & ViewState::WindowIsActive;
</del><ins>+ return webViewBase->priv->activityState & ActivityState::WindowIsActive;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool webkitWebViewBaseIsFocused(WebKitWebViewBase* webViewBase)
</span><span class="cx"> {
</span><del>- return webViewBase->priv->viewState & ViewState::IsFocused;
</del><ins>+ return webViewBase->priv->activityState & ActivityState::IsFocused;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool webkitWebViewBaseIsVisible(WebKitWebViewBase* webViewBase)
</span><span class="cx"> {
</span><del>- return webViewBase->priv->viewState & ViewState::IsVisible;
</del><ins>+ return webViewBase->priv->activityState & ActivityState::IsVisible;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool webkitWebViewBaseIsInWindow(WebKitWebViewBase* webViewBase)
</span><span class="cx"> {
</span><del>- return webViewBase->priv->viewState & ViewState::IsInWindow;
</del><ins>+ return webViewBase->priv->activityState & ActivityState::IsInWindow;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void webkitWebViewBaseSetDownloadRequestHandler(WebKitWebViewBase* webViewBase, WebKitWebViewBaseDownloadRequestHandler downloadHandler)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessCocoaWebViewImplmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -66,6 +66,7 @@
</span><span class="cx"> #import "_WKThumbnailViewInternal.h"
</span><span class="cx"> #import <HIToolbox/CarbonEventsCore.h>
</span><span class="cx"> #import <WebCore/AXObjectCache.h>
</span><ins>+#import <WebCore/ActivityState.h>
</ins><span class="cx"> #import <WebCore/ColorMac.h>
</span><span class="cx"> #import <WebCore/CoreGraphicsSPI.h>
</span><span class="cx"> #import <WebCore/DataDetectorsSPI.h>
</span><span class="lines">@@ -84,7 +85,6 @@
</span><span class="cx"> #import <WebCore/SoftLinking.h>
</span><span class="cx"> #import <WebCore/TextAlternativeWithRange.h>
</span><span class="cx"> #import <WebCore/TextUndoInsertionMarkupMac.h>
</span><del>-#import <WebCore/ViewState.h>
</del><span class="cx"> #import <WebCore/WebActionDisablingCALayerDelegate.h>
</span><span class="cx"> #import <WebCore/WebCoreCALayerExtras.h>
</span><span class="cx"> #import <WebCore/WebCoreFullScreenPlaceholderView.h>
</span><span class="lines">@@ -609,7 +609,7 @@
</span><span class="cx"> m_inBecomeFirstResponder = true;
</span><span class="cx">
</span><span class="cx"> updateSecureInputState();
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsFocused);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsFocused);
</ins><span class="cx"> // Restore the selection in the editable region if resigning first responder cleared selection.
</span><span class="cx"> m_page->restoreSelectionInFocusedEditableElement();
</span><span class="cx">
</span><span class="lines">@@ -656,7 +656,7 @@
</span><span class="cx"> if (!m_page->maintainsInactiveSelection())
</span><span class="cx"> m_page->clearSelection();
</span><span class="cx">
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsFocused);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsFocused);
</ins><span class="cx">
</span><span class="cx"> m_inResignFirstResponder = false;
</span><span class="cx">
</span><span class="lines">@@ -1051,12 +1051,12 @@
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::windowDidOrderOffScreen()
</span><span class="cx"> {
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsVisible | WebCore::ViewState::WindowIsActive);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsVisible | WebCore::ActivityState::WindowIsActive);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::windowDidOrderOnScreen()
</span><span class="cx"> {
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsVisible | WebCore::ViewState::WindowIsActive);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsVisible | WebCore::ActivityState::WindowIsActive);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::windowDidBecomeKey(NSWindow *keyWindow)
</span><span class="lines">@@ -1066,7 +1066,7 @@
</span><span class="cx"> UIGamepadProvider::singleton().viewBecameActive(m_page.get());
</span><span class="cx"> #endif
</span><span class="cx"> updateSecureInputState();
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::WindowIsActive);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::WindowIsActive);
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1077,18 +1077,18 @@
</span><span class="cx"> UIGamepadProvider::singleton().viewBecameInactive(m_page.get());
</span><span class="cx"> #endif
</span><span class="cx"> updateSecureInputState();
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::WindowIsActive);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::WindowIsActive);
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::windowDidMiniaturize()
</span><span class="cx"> {
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsVisible);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsVisible);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::windowDidDeminiaturize()
</span><span class="cx"> {
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsVisible);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsVisible);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::windowDidMove()
</span><span class="lines">@@ -1123,7 +1123,7 @@
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::windowDidChangeOcclusionState()
</span><span class="cx"> {
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsVisible);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsVisible);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> bool WebViewImpl::mightBeginDragWhileInactive()
</span><span class="lines">@@ -1214,12 +1214,12 @@
</span><span class="cx"> if (window) {
</span><span class="cx"> windowDidChangeScreen();
</span><span class="cx">
</span><del>- WebCore::ViewState::Flags viewStateChanges = WebCore::ViewState::WindowIsActive | WebCore::ViewState::IsVisible;
</del><ins>+ WebCore::ActivityState::Flags activityStateChanges = WebCore::ActivityState::WindowIsActive | WebCore::ActivityState::IsVisible;
</ins><span class="cx"> if (m_shouldDeferViewInWindowChanges)
</span><span class="cx"> m_viewInWindowChangeWasDeferred = true;
</span><span class="cx"> else
</span><del>- viewStateChanges |= WebCore::ViewState::IsInWindow;
- m_page->viewStateDidChange(viewStateChanges);
</del><ins>+ activityStateChanges |= WebCore::ActivityState::IsInWindow;
+ m_page->activityStateDidChange(activityStateChanges);
</ins><span class="cx">
</span><span class="cx"> updateWindowAndViewFrames();
</span><span class="cx">
</span><span class="lines">@@ -1243,12 +1243,12 @@
</span><span class="cx"> if (m_immediateActionGestureRecognizer && ![[m_view gestureRecognizers] containsObject:m_immediateActionGestureRecognizer.get()] && !m_ignoresNonWheelEvents && m_allowsLinkPreview)
</span><span class="cx"> [m_view addGestureRecognizer:m_immediateActionGestureRecognizer.get()];
</span><span class="cx"> } else {
</span><del>- WebCore::ViewState::Flags viewStateChanges = WebCore::ViewState::WindowIsActive | WebCore::ViewState::IsVisible;
</del><ins>+ WebCore::ActivityState::Flags activityStateChanges = WebCore::ActivityState::WindowIsActive | WebCore::ActivityState::IsVisible;
</ins><span class="cx"> if (m_shouldDeferViewInWindowChanges)
</span><span class="cx"> m_viewInWindowChangeWasDeferred = true;
</span><span class="cx"> else
</span><del>- viewStateChanges |= WebCore::ViewState::IsInWindow;
- m_page->viewStateDidChange(viewStateChanges);
</del><ins>+ activityStateChanges |= WebCore::ActivityState::IsInWindow;
+ m_page->activityStateDidChange(activityStateChanges);
</ins><span class="cx">
</span><span class="cx"> [NSEvent removeMonitor:m_flagsChangedEventMonitor];
</span><span class="cx"> m_flagsChangedEventMonitor = nil;
</span><span class="lines">@@ -1278,17 +1278,17 @@
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::viewDidHide()
</span><span class="cx"> {
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsVisible);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsVisible);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::viewDidUnhide()
</span><span class="cx"> {
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsVisible);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsVisible);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebViewImpl::activeSpaceDidChange()
</span><span class="cx"> {
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsVisible);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsVisible);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> NSView *WebViewImpl::hitTest(CGPoint point)
</span><span class="lines">@@ -1383,7 +1383,7 @@
</span><span class="cx">
</span><span class="cx"> if (m_viewInWindowChangeWasDeferred) {
</span><span class="cx"> dispatchSetTopContentInset();
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsInWindow);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsInWindow);
</ins><span class="cx"> m_viewInWindowChangeWasDeferred = false;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -1399,7 +1399,7 @@
</span><span class="cx">
</span><span class="cx"> if (m_viewInWindowChangeWasDeferred) {
</span><span class="cx"> dispatchSetTopContentInset();
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsInWindow);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsInWindow);
</ins><span class="cx"> m_viewInWindowChangeWasDeferred = false;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -1414,7 +1414,7 @@
</span><span class="cx"> m_shouldDeferViewInWindowChanges = false;
</span><span class="cx">
</span><span class="cx"> auto weakThis = createWeakPtr();
</span><del>- m_page->installViewStateChangeCompletionHandler([weakThis, completionHandler]() {
</del><ins>+ m_page->installActivityStateChangeCompletionHandler([weakThis, completionHandler]() {
</ins><span class="cx"> completionHandler();
</span><span class="cx">
</span><span class="cx"> if (!weakThis)
</span><span class="lines">@@ -1425,7 +1425,7 @@
</span><span class="cx"> });
</span><span class="cx">
</span><span class="cx"> dispatchSetTopContentInset();
</span><del>- m_page->viewStateDidChange(WebCore::ViewState::IsInWindow, false, WebPageProxy::ViewStateChangeDispatchMode::Immediate);
</del><ins>+ m_page->activityStateDidChange(WebCore::ActivityState::IsInWindow, false, WebPageProxy::ActivityStateChangeDispatchMode::Immediate);
</ins><span class="cx"> m_viewInWindowChangeWasDeferred = false;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessDrawingAreaProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx">
</span><span class="cx"> virtual void updateDebugIndicator() { }
</span><span class="cx">
</span><del>- virtual void waitForDidUpdateViewState() { }
</del><ins>+ virtual void waitForDidUpdateActivityState() { }
</ins><span class="cx">
</span><span class="cx"> virtual void dispatchAfterEnsuringDrawing(std::function<void (CallbackBase::Error)>) { ASSERT_NOT_REACHED(); }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -357,7 +357,7 @@
</span><span class="cx"> , m_geolocationPermissionRequestManager(*this)
</span><span class="cx"> , m_notificationPermissionRequestManager(*this)
</span><span class="cx"> , m_userMediaPermissionRequestManager(*this)
</span><del>- , m_viewState(ViewState::NoFlags)
</del><ins>+ , m_activityState(ActivityState::NoFlags)
</ins><span class="cx"> , m_viewWasEverInWindow(false)
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> , m_alwaysRunsAtForegroundPriority(m_configuration->alwaysRunsAtForegroundPriority())
</span><span class="lines">@@ -449,7 +449,7 @@
</span><span class="cx"> , m_autoSizingShouldExpandToViewHeight(false)
</span><span class="cx"> , m_mediaVolume(1)
</span><span class="cx"> , m_mayStartMediaWhenInWindow(true)
</span><del>- , m_waitingForDidUpdateViewState(false)
</del><ins>+ , m_waitingForDidUpdateActivityState(false)
</ins><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx"> , m_scrollPerformanceDataCollectionEnabled(false)
</span><span class="cx"> #endif
</span><span class="lines">@@ -456,19 +456,19 @@
</span><span class="cx"> , m_scrollPinningBehavior(DoNotPin)
</span><span class="cx"> , m_navigationID(0)
</span><span class="cx"> , m_configurationPreferenceValues(m_configuration->preferenceValues())
</span><del>- , m_potentiallyChangedViewStateFlags(ViewState::NoFlags)
- , m_viewStateChangeWantsSynchronousReply(false)
</del><ins>+ , m_potentiallyChangedActivityStateFlags(ActivityState::NoFlags)
+ , m_activityStateChangeWantsSynchronousReply(false)
</ins><span class="cx"> , m_weakPtrFactory(this)
</span><span class="cx"> {
</span><span class="cx"> m_webProcessLifetimeTracker.addObserver(m_visitedLinkStore);
</span><span class="cx"> m_webProcessLifetimeTracker.addObserver(m_websiteDataStore);
</span><span class="cx">
</span><del>- updateViewState();
</del><ins>+ updateActivityState();
</ins><span class="cx"> updateThrottleState();
</span><span class="cx"> updateHiddenPageThrottlingAutoIncreases();
</span><span class="cx">
</span><span class="cx"> #if HAVE(OUT_OF_PROCESS_LAYER_HOSTING)
</span><del>- m_layerHostingMode = m_viewState & ViewState::IsInWindow ? m_pageClient.viewLayerHostingMode() : LayerHostingMode::OutOfProcess;
</del><ins>+ m_layerHostingMode = m_activityState & ActivityState::IsInWindow ? m_pageClient.viewLayerHostingMode() : LayerHostingMode::OutOfProcess;
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> platformInitialize();
</span><span class="lines">@@ -506,9 +506,9 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>- const CFIndex viewStateChangeRunLoopOrder = (CFIndex)RunLoopObserver::WellKnownRunLoopOrders::CoreAnimationCommit - 1;
- m_viewStateChangeDispatcher = std::make_unique<RunLoopObserver>(viewStateChangeRunLoopOrder, [this] {
- this->dispatchViewStateChange();
</del><ins>+ const CFIndex activityStateChangeRunLoopOrder = (CFIndex)RunLoopObserver::WellKnownRunLoopOrders::CoreAnimationCommit - 1;
+ m_activityStateChangeDispatcher = std::make_unique<RunLoopObserver>(activityStateChangeRunLoopOrder, [this] {
+ this->dispatchActivityStateChange();
</ins><span class="cx"> });
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="lines">@@ -720,7 +720,7 @@
</span><span class="cx"> m_process->addExistingWebPage(this, m_pageID);
</span><span class="cx"> m_process->addMessageReceiver(Messages::WebPageProxy::messageReceiverName(), m_pageID, *this);
</span><span class="cx">
</span><del>- updateViewState();
</del><ins>+ updateActivityState();
</ins><span class="cx"> updateThrottleState();
</span><span class="cx">
</span><span class="cx"> m_inspector = WebInspectorProxy::create(this);
</span><span class="lines">@@ -1442,48 +1442,48 @@
</span><span class="cx">
</span><span class="cx"> if (!m_suppressVisibilityUpdates) {
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>- m_viewStateChangeDispatcher->schedule();
</del><ins>+ m_activityStateChangeDispatcher->schedule();
</ins><span class="cx"> #else
</span><del>- dispatchViewStateChange();
</del><ins>+ dispatchActivityStateChange();
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebPageProxy::updateViewState(ViewState::Flags flagsToUpdate)
</del><ins>+void WebPageProxy::updateActivityState(ActivityState::Flags flagsToUpdate)
</ins><span class="cx"> {
</span><del>- m_viewState &= ~flagsToUpdate;
- if (flagsToUpdate & ViewState::IsFocused && m_pageClient.isViewFocused())
- m_viewState |= ViewState::IsFocused;
- if (flagsToUpdate & ViewState::WindowIsActive && m_pageClient.isViewWindowActive())
- m_viewState |= ViewState::WindowIsActive;
- if (flagsToUpdate & ViewState::IsVisible && m_pageClient.isViewVisible())
- m_viewState |= ViewState::IsVisible;
- if (flagsToUpdate & ViewState::IsVisibleOrOccluded && m_pageClient.isViewVisibleOrOccluded())
- m_viewState |= ViewState::IsVisibleOrOccluded;
- if (flagsToUpdate & ViewState::IsInWindow && m_pageClient.isViewInWindow())
- m_viewState |= ViewState::IsInWindow;
- if (flagsToUpdate & ViewState::IsVisuallyIdle && m_pageClient.isVisuallyIdle())
- m_viewState |= ViewState::IsVisuallyIdle;
</del><ins>+ m_activityState &= ~flagsToUpdate;
+ if (flagsToUpdate & ActivityState::IsFocused && m_pageClient.isViewFocused())
+ m_activityState |= ActivityState::IsFocused;
+ if (flagsToUpdate & ActivityState::WindowIsActive && m_pageClient.isViewWindowActive())
+ m_activityState |= ActivityState::WindowIsActive;
+ if (flagsToUpdate & ActivityState::IsVisible && m_pageClient.isViewVisible())
+ m_activityState |= ActivityState::IsVisible;
+ if (flagsToUpdate & ActivityState::IsVisibleOrOccluded && m_pageClient.isViewVisibleOrOccluded())
+ m_activityState |= ActivityState::IsVisibleOrOccluded;
+ if (flagsToUpdate & ActivityState::IsInWindow && m_pageClient.isViewInWindow())
+ m_activityState |= ActivityState::IsInWindow;
+ if (flagsToUpdate & ActivityState::IsVisuallyIdle && m_pageClient.isVisuallyIdle())
+ m_activityState |= ActivityState::IsVisuallyIdle;
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void WebPageProxy::viewStateDidChange(ViewState::Flags mayHaveChanged, bool wantsSynchronousReply, ViewStateChangeDispatchMode dispatchMode)
</del><ins>+void WebPageProxy::activityStateDidChange(ActivityState::Flags mayHaveChanged, bool wantsSynchronousReply, ActivityStateChangeDispatchMode dispatchMode)
</ins><span class="cx"> {
</span><del>- m_potentiallyChangedViewStateFlags |= mayHaveChanged;
- m_viewStateChangeWantsSynchronousReply = m_viewStateChangeWantsSynchronousReply || wantsSynchronousReply;
</del><ins>+ m_potentiallyChangedActivityStateFlags |= mayHaveChanged;
+ m_activityStateChangeWantsSynchronousReply = m_activityStateChangeWantsSynchronousReply || wantsSynchronousReply;
</ins><span class="cx">
</span><del>- if (m_suppressVisibilityUpdates && dispatchMode != ViewStateChangeDispatchMode::Immediate)
</del><ins>+ if (m_suppressVisibilityUpdates && dispatchMode != ActivityStateChangeDispatchMode::Immediate)
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>- bool isNewlyInWindow = !isInWindow() && (mayHaveChanged & ViewState::IsInWindow) && m_pageClient.isViewInWindow();
- if (dispatchMode == ViewStateChangeDispatchMode::Immediate || isNewlyInWindow) {
- dispatchViewStateChange();
</del><ins>+ bool isNewlyInWindow = !isInWindow() && (mayHaveChanged & ActivityState::IsInWindow) && m_pageClient.isViewInWindow();
+ if (dispatchMode == ActivityStateChangeDispatchMode::Immediate || isNewlyInWindow) {
+ dispatchActivityStateChange();
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><del>- m_viewStateChangeDispatcher->schedule();
</del><ins>+ m_activityStateChangeDispatcher->schedule();
</ins><span class="cx"> #else
</span><span class="cx"> UNUSED_PARAM(dispatchMode);
</span><del>- dispatchViewStateChange();
</del><ins>+ dispatchActivityStateChange();
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1510,10 +1510,10 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebPageProxy::dispatchViewStateChange()
</del><ins>+void WebPageProxy::dispatchActivityStateChange()
</ins><span class="cx"> {
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>- m_viewStateChangeDispatcher->invalidate();
</del><ins>+ m_activityStateChangeDispatcher->invalidate();
</ins><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> if (!isValid())
</span><span class="lines">@@ -1520,44 +1520,44 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // If the visibility state may have changed, then so may the visually idle & occluded agnostic state.
</span><del>- if (m_potentiallyChangedViewStateFlags & ViewState::IsVisible)
- m_potentiallyChangedViewStateFlags |= ViewState::IsVisibleOrOccluded | ViewState::IsVisuallyIdle;
</del><ins>+ if (m_potentiallyChangedActivityStateFlags & ActivityState::IsVisible)
+ m_potentiallyChangedActivityStateFlags |= ActivityState::IsVisibleOrOccluded | ActivityState::IsVisuallyIdle;
</ins><span class="cx">
</span><span class="cx"> // Record the prior view state, update the flags that may have changed,
</span><span class="cx"> // and check which flags have actually changed.
</span><del>- ViewState::Flags previousViewState = m_viewState;
- updateViewState(m_potentiallyChangedViewStateFlags);
- ViewState::Flags changed = m_viewState ^ previousViewState;
</del><ins>+ ActivityState::Flags previousActivityState = m_activityState;
+ updateActivityState(m_potentiallyChangedActivityStateFlags);
+ ActivityState::Flags changed = m_activityState ^ previousActivityState;
</ins><span class="cx">
</span><del>- bool isNowInWindow = (changed & ViewState::IsInWindow) && isInWindow();
</del><ins>+ bool isNowInWindow = (changed & ActivityState::IsInWindow) && isInWindow();
</ins><span class="cx"> // We always want to wait for the Web process to reply if we've been in-window before and are coming back in-window.
</span><span class="cx"> if (m_viewWasEverInWindow && isNowInWindow && m_drawingArea->hasVisibleContent() && m_waitsForPaintAfterViewDidMoveToWindow)
</span><del>- m_viewStateChangeWantsSynchronousReply = true;
</del><ins>+ m_activityStateChangeWantsSynchronousReply = true;
</ins><span class="cx">
</span><span class="cx"> // Don't wait synchronously if the view state is not visible. (This matters in particular on iOS, where a hidden page may be suspended.)
</span><del>- if (!(m_viewState & ViewState::IsVisible))
- m_viewStateChangeWantsSynchronousReply = false;
</del><ins>+ if (!(m_activityState & ActivityState::IsVisible))
+ m_activityStateChangeWantsSynchronousReply = false;
</ins><span class="cx">
</span><del>- if (changed || m_viewStateChangeWantsSynchronousReply || !m_nextViewStateChangeCallbacks.isEmpty())
- m_process->send(Messages::WebPage::SetViewState(m_viewState, m_viewStateChangeWantsSynchronousReply, m_nextViewStateChangeCallbacks), m_pageID);
</del><ins>+ if (changed || m_activityStateChangeWantsSynchronousReply || !m_nextActivityStateChangeCallbacks.isEmpty())
+ m_process->send(Messages::WebPage::SetActivityState(m_activityState, m_activityStateChangeWantsSynchronousReply, m_nextActivityStateChangeCallbacks), m_pageID);
</ins><span class="cx">
</span><del>- m_nextViewStateChangeCallbacks.clear();
</del><ins>+ m_nextActivityStateChangeCallbacks.clear();
</ins><span class="cx">
</span><del>- // This must happen after the SetViewState message is sent, to ensure the page visibility event can fire.
</del><ins>+ // This must happen after the SetActivityState message is sent, to ensure the page visibility event can fire.
</ins><span class="cx"> updateThrottleState();
</span><span class="cx">
</span><span class="cx"> // If we've started the responsiveness timer as part of telling the web process to update the backing store
</span><span class="cx"> // state, it might not send back a reply (since it won't paint anything if the web page is hidden) so we
</span><span class="cx"> // stop the unresponsiveness timer here.
</span><del>- if ((changed & ViewState::IsVisible) && !isViewVisible())
</del><ins>+ if ((changed & ActivityState::IsVisible) && !isViewVisible())
</ins><span class="cx"> m_process->responsivenessTimer().stop();
</span><span class="cx">
</span><span class="cx"> #if ENABLE(POINTER_LOCK)
</span><del>- if ((changed & ViewState::IsVisible) && !isViewVisible())
</del><ins>+ if ((changed & ActivityState::IsVisible) && !isViewVisible())
</ins><span class="cx"> requestPointerUnlock();
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- if (changed & ViewState::IsInWindow) {
</del><ins>+ if (changed & ActivityState::IsInWindow) {
</ins><span class="cx"> if (isInWindow())
</span><span class="cx"> viewDidEnterWindow();
</span><span class="cx"> else
</span><span class="lines">@@ -1566,11 +1566,11 @@
</span><span class="cx">
</span><span class="cx"> updateBackingStoreDiscardableState();
</span><span class="cx">
</span><del>- if (m_viewStateChangeWantsSynchronousReply)
- waitForDidUpdateViewState();
</del><ins>+ if (m_activityStateChangeWantsSynchronousReply)
+ waitForDidUpdateActivityState();
</ins><span class="cx">
</span><del>- m_potentiallyChangedViewStateFlags = ViewState::NoFlags;
- m_viewStateChangeWantsSynchronousReply = false;
</del><ins>+ m_potentiallyChangedActivityStateFlags = ActivityState::NoFlags;
+ m_activityStateChangeWantsSynchronousReply = false;
</ins><span class="cx"> m_viewWasEverInWindow |= isNowInWindow;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1592,13 +1592,13 @@
</span><span class="cx"> // We should suppress if the page is not active, is visually idle, and supression is enabled.
</span><span class="cx"> bool isLoading = m_pageLoadState.isLoading();
</span><span class="cx"> bool isPlayingAudio = m_mediaState & MediaProducer::IsPlayingAudio && !(m_mutedState & MediaProducer::AudioIsMuted);
</span><del>- bool pageShouldBeSuppressed = !isLoading && !isPlayingAudio && processSuppressionEnabled && (m_viewState & ViewState::IsVisuallyIdle);
</del><ins>+ bool pageShouldBeSuppressed = !isLoading && !isPlayingAudio && processSuppressionEnabled && (m_activityState & ActivityState::IsVisuallyIdle);
</ins><span class="cx"> if (m_pageSuppressed != pageShouldBeSuppressed) {
</span><span class="cx"> m_pageSuppressed = pageShouldBeSuppressed;
</span><span class="cx"> m_process->send(Messages::WebPage::SetPageSuppressed(m_pageSuppressed), m_pageID);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (m_viewState & ViewState::IsVisuallyIdle)
</del><ins>+ if (m_activityState & ActivityState::IsVisuallyIdle)
</ins><span class="cx"> m_pageIsUserObservableCount = nullptr;
</span><span class="cx"> else if (!m_pageIsUserObservableCount)
</span><span class="cx"> m_pageIsUserObservableCount = m_process->processPool().userObservablePageCount();
</span><span class="lines">@@ -1640,7 +1640,7 @@
</span><span class="cx"> m_process->send(Messages::WebPage::SetLayerHostingMode(layerHostingMode), m_pageID);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebPageProxy::waitForDidUpdateViewState()
</del><ins>+void WebPageProxy::waitForDidUpdateActivityState()
</ins><span class="cx"> {
</span><span class="cx"> if (!isValid())
</span><span class="cx"> return;
</span><span class="lines">@@ -1649,11 +1649,11 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // If we have previously timed out with no response from the WebProcess, don't block the UIProcess again until it starts responding.
</span><del>- if (m_waitingForDidUpdateViewState)
</del><ins>+ if (m_waitingForDidUpdateActivityState)
</ins><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><del>- // Hail Mary check. Should not be possible (dispatchViewStateChange should force async if not visible,
</del><ins>+ // Hail Mary check. Should not be possible (dispatchActivityStateChange should force async if not visible,
</ins><span class="cx"> // and if visible we should be holding an assertion) - but we should never block on a suspended process.
</span><span class="cx"> if (!m_activityToken) {
</span><span class="cx"> ASSERT_NOT_REACHED();
</span><span class="lines">@@ -1661,9 +1661,9 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- m_waitingForDidUpdateViewState = true;
</del><ins>+ m_waitingForDidUpdateActivityState = true;
</ins><span class="cx">
</span><del>- m_drawingArea->waitForDidUpdateViewState();
</del><ins>+ m_drawingArea->waitForDidUpdateActivityState();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> IntSize WebPageProxy::viewSize() const
</span><span class="lines">@@ -5463,7 +5463,7 @@
</span><span class="cx"> WebPageCreationParameters parameters;
</span><span class="cx">
</span><span class="cx"> parameters.viewSize = m_pageClient.viewSize();
</span><del>- parameters.viewState = m_viewState;
</del><ins>+ parameters.activityState = m_activityState;
</ins><span class="cx"> parameters.drawingAreaType = m_drawingArea->type();
</span><span class="cx"> parameters.store = preferencesStore();
</span><span class="cx"> parameters.pageGroupData = m_pageGroup->data();
</span><span class="lines">@@ -6474,7 +6474,7 @@
</span><span class="cx"> return m_pageClient.immediateActionAnimationControllerForHitTestResult(hitTestResult, type, userData);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebPageProxy::installViewStateChangeCompletionHandler(void (^completionHandler)())
</del><ins>+void WebPageProxy::installActivityStateChangeCompletionHandler(void (^completionHandler)())
</ins><span class="cx"> {
</span><span class="cx"> if (!isValid()) {
</span><span class="cx"> completionHandler();
</span><span class="lines">@@ -6487,7 +6487,7 @@
</span><span class="cx"> Block_release(copiedCompletionHandler);
</span><span class="cx"> }, m_process->throttler().backgroundActivityToken());
</span><span class="cx"> uint64_t callbackID = m_callbacks.put(WTFMove(voidCallback));
</span><del>- m_nextViewStateChangeCallbacks.append(callbackID);
</del><ins>+ m_nextActivityStateChangeCallbacks.append(callbackID);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebPageProxy::handleAcceptedCandidate(WebCore::TextCheckingResult acceptedCandidate)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -60,6 +60,7 @@
</span><span class="cx"> #include "WebPageProxyMessages.h"
</span><span class="cx"> #include "WebPopupMenuProxy.h"
</span><span class="cx"> #include "WebProcessLifetimeTracker.h"
</span><ins>+#include <WebCore/ActivityState.h>
</ins><span class="cx"> #include <WebCore/Color.h>
</span><span class="cx"> #include <WebCore/DragActions.h>
</span><span class="cx"> #include <WebCore/EventTrackingRegions.h>
</span><span class="lines">@@ -73,7 +74,6 @@
</span><span class="cx"> #include <WebCore/TextChecking.h>
</span><span class="cx"> #include <WebCore/TextGranularity.h>
</span><span class="cx"> #include <WebCore/UserInterfaceLayoutDirection.h>
</span><del>-#include <WebCore/ViewState.h>
</del><span class="cx"> #include <WebCore/VisibleSelection.h>
</span><span class="cx"> #include <memory>
</span><span class="cx"> #include <wtf/HashMap.h>
</span><span class="lines">@@ -428,16 +428,16 @@
</span><span class="cx"> void setDelegatesScrolling(bool delegatesScrolling) { m_delegatesScrolling = delegatesScrolling; }
</span><span class="cx"> bool delegatesScrolling() const { return m_delegatesScrolling; }
</span><span class="cx">
</span><del>- enum class ViewStateChangeDispatchMode { Deferrable, Immediate };
- void viewStateDidChange(WebCore::ViewState::Flags mayHaveChanged, bool wantsSynchronousReply = false, ViewStateChangeDispatchMode = ViewStateChangeDispatchMode::Deferrable);
- bool isInWindow() const { return m_viewState & WebCore::ViewState::IsInWindow; }
- void waitForDidUpdateViewState();
- void didUpdateViewState() { m_waitingForDidUpdateViewState = false; }
</del><ins>+ enum class ActivityStateChangeDispatchMode { Deferrable, Immediate };
+ void activityStateDidChange(WebCore::ActivityState::Flags mayHaveChanged, bool wantsSynchronousReply = false, ActivityStateChangeDispatchMode = ActivityStateChangeDispatchMode::Deferrable);
+ bool isInWindow() const { return m_activityState & WebCore::ActivityState::IsInWindow; }
+ void waitForDidUpdateActivityState();
+ void didUpdateActivityState() { m_waitingForDidUpdateActivityState = false; }
</ins><span class="cx">
</span><span class="cx"> void layerHostingModeDidChange();
</span><span class="cx">
</span><span class="cx"> WebCore::IntSize viewSize() const;
</span><del>- bool isViewVisible() const { return m_viewState & WebCore::ViewState::IsVisible; }
</del><ins>+ bool isViewVisible() const { return m_activityState & WebCore::ActivityState::IsVisible; }
</ins><span class="cx"> bool isViewWindowActive() const;
</span><span class="cx">
</span><span class="cx"> void addMIMETypeWithCustomContentProvider(const String& mimeType);
</span><span class="lines">@@ -1066,7 +1066,7 @@
</span><span class="cx">
</span><span class="cx"> void* immediateActionAnimationControllerForHitTestResult(RefPtr<API::HitTestResult>, uint64_t, RefPtr<API::Object>);
</span><span class="cx">
</span><del>- void installViewStateChangeCompletionHandler(void(^completionHandler)());
</del><ins>+ void installActivityStateChangeCompletionHandler(void(^completionHandler)());
</ins><span class="cx">
</span><span class="cx"> void handleAcceptedCandidate(WebCore::TextCheckingResult);
</span><span class="cx"> void didHandleAcceptedCandidate();
</span><span class="lines">@@ -1148,7 +1148,7 @@
</span><span class="cx"> WebPageProxy(PageClient&, WebProcessProxy&, uint64_t pageID, Ref<API::PageConfiguration>&&);
</span><span class="cx"> void platformInitialize();
</span><span class="cx">
</span><del>- void updateViewState(WebCore::ViewState::Flags flagsToUpdate = WebCore::ViewState::AllFlags);
</del><ins>+ void updateActivityState(WebCore::ActivityState::Flags flagsToUpdate = WebCore::ActivityState::AllFlags);
</ins><span class="cx"> void updateThrottleState();
</span><span class="cx"> void updateHiddenPageThrottlingAutoIncreases();
</span><span class="cx">
</span><span class="lines">@@ -1533,7 +1533,7 @@
</span><span class="cx">
</span><span class="cx"> WebPreferencesStore preferencesStore() const;
</span><span class="cx">
</span><del>- void dispatchViewStateChange();
</del><ins>+ void dispatchActivityStateChange();
</ins><span class="cx"> void viewDidLeaveWindow();
</span><span class="cx"> void viewDidEnterWindow();
</span><span class="cx">
</span><span class="lines">@@ -1658,7 +1658,7 @@
</span><span class="cx">
</span><span class="cx"> UserMediaPermissionRequestManagerProxy m_userMediaPermissionRequestManager;
</span><span class="cx">
</span><del>- WebCore::ViewState::Flags m_viewState;
</del><ins>+ WebCore::ActivityState::Flags m_activityState;
</ins><span class="cx"> bool m_viewWasEverInWindow;
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> bool m_allowsMediaDocumentInlinePlayback { false };
</span><span class="lines">@@ -1860,7 +1860,7 @@
</span><span class="cx"> WebCore::MediaProducer::MutedStateFlags m_mutedState { WebCore::MediaProducer::NoneMuted };
</span><span class="cx"> bool m_mayStartMediaWhenInWindow;
</span><span class="cx">
</span><del>- bool m_waitingForDidUpdateViewState;
</del><ins>+ bool m_waitingForDidUpdateActivityState;
</ins><span class="cx">
</span><span class="cx"> bool m_shouldScaleViewToFitDocument { false };
</span><span class="cx"> bool m_suppressAutomaticNavigationSnapshotting { false };
</span><span class="lines">@@ -1867,7 +1867,7 @@
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx"> HashMap<String, String> m_temporaryPDFFiles;
</span><del>- std::unique_ptr<WebCore::RunLoopObserver> m_viewStateChangeDispatcher;
</del><ins>+ std::unique_ptr<WebCore::RunLoopObserver> m_activityStateChangeDispatcher;
</ins><span class="cx">
</span><span class="cx"> std::unique_ptr<RemoteLayerTreeScrollingPerformanceData> m_scrollingPerformanceData;
</span><span class="cx"> bool m_scrollPerformanceDataCollectionEnabled;
</span><span class="lines">@@ -1882,9 +1882,9 @@
</span><span class="cx"> uint64_t m_navigationID;
</span><span class="cx">
</span><span class="cx"> WebPreferencesStore::ValueMap m_configurationPreferenceValues;
</span><del>- WebCore::ViewState::Flags m_potentiallyChangedViewStateFlags;
- bool m_viewStateChangeWantsSynchronousReply;
- Vector<uint64_t> m_nextViewStateChangeCallbacks;
</del><ins>+ WebCore::ActivityState::Flags m_potentiallyChangedActivityStateFlags;
+ bool m_activityStateChangeWantsSynchronousReply;
+ Vector<uint64_t> m_nextActivityStateChangeCallbacks;
</ins><span class="cx">
</span><span class="cx"> WebCore::MediaProducer::MediaStateFlags m_mediaState { WebCore::MediaProducer::IsNotPlaying };
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxymessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -407,7 +407,7 @@
</span><span class="cx"> FindPlugin(String mimeType, uint32_t processType, String urlString, String frameURLString, String pageURLString, bool allowOnlyApplicationPlugins) -> (uint64_t pluginProcessToken, String newMIMEType, uint32_t pluginLoadPolicy, String unavailabilityDescription)
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- DidUpdateViewState()
</del><ins>+ DidUpdateActivityState()
</ins><span class="cx">
</span><span class="cx"> DidSaveToPageCache()
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebProcessProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -715,7 +715,7 @@
</span><span class="cx"> void WebProcessProxy::windowServerConnectionStateChanged()
</span><span class="cx"> {
</span><span class="cx"> for (const auto& page : m_pageMap.values())
</span><del>- page->viewStateDidChange(ViewState::IsVisuallyIdle);
</del><ins>+ page->activityStateDidChange(ActivityState::IsVisuallyIdle);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void WebProcessProxy::fetchWebsiteData(SessionID sessionID, OptionSet<WebsiteDataType> dataTypes, Function<void (WebsiteData)> completionHandler)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcesseflWebViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/efl/WebView.cpp (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/efl/WebView.cpp        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/efl/WebView.cpp        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #if USE(COORDINATED_GRAPHICS)
</span><span class="cx"> #include "APIPageConfiguration.h"
</span><span class="cx"> #include "AcceleratedDrawingAreaProxy.h"
</span><ins>+#include "ActivityState.h"
</ins><span class="cx"> #include "CoordinatedGraphicsScene.h"
</span><span class="cx"> #include "CoordinatedLayerTreeHostProxy.h"
</span><span class="cx"> #include "DownloadManagerEfl.h"
</span><span class="lines">@@ -38,7 +39,6 @@
</span><span class="cx"> #include "InputMethodContextEfl.h"
</span><span class="cx"> #include "NativeWebMouseEvent.h"
</span><span class="cx"> #include "NotImplemented.h"
</span><del>-#include "ViewState.h"
</del><span class="cx"> #include "WebBackForwardList.h"
</span><span class="cx"> #include "WebBackForwardListItem.h"
</span><span class="cx"> #include "WebContextMenuProxyEfl.h"
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosWKContentViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -602,7 +602,7 @@
</span><span class="cx"> - (void)_applicationDidEnterBackground
</span><span class="cx"> {
</span><span class="cx"> _page->applicationDidEnterBackground();
</span><del>- _page->viewStateDidChange(ViewState::AllFlags & ~ViewState::IsInWindow);
</del><ins>+ _page->activityStateDidChange(ActivityState::AllFlags & ~ActivityState::IsInWindow);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (void)_applicationDidCreateWindowContext
</span><span class="lines">@@ -619,7 +619,7 @@
</span><span class="cx"> - (void)_applicationWillEnterForeground
</span><span class="cx"> {
</span><span class="cx"> _page->applicationWillEnterForeground();
</span><del>- _page->viewStateDidChange(ViewState::AllFlags & ~ViewState::IsInWindow, true, WebPageProxy::ViewStateChangeDispatchMode::Immediate);
</del><ins>+ _page->activityStateDidChange(ActivityState::AllFlags & ~ActivityState::IsInWindow, true, WebPageProxy::ActivityStateChangeDispatchMode::Immediate);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (void)_applicationDidBecomeActive:(NSNotification*)notification
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosWKPDFViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/WKPDFView.mm (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/WKPDFView.mm        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/ios/WKPDFView.mm        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -878,7 +878,7 @@
</span><span class="cx"> - (void)_applicationDidEnterBackground
</span><span class="cx"> {
</span><span class="cx"> _webView->_page->applicationDidEnterBackground();
</span><del>- _webView->_page->viewStateDidChange(ViewState::AllFlags & ~ViewState::IsInWindow);
</del><ins>+ _webView->_page->activityStateDidChange(ActivityState::AllFlags & ~ActivityState::IsInWindow);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> - (void)_applicationDidCreateWindowContext
</span><span class="lines">@@ -895,7 +895,7 @@
</span><span class="cx"> _webView->_page->applicationWillEnterForeground();
</span><span class="cx"> if (auto drawingArea = _webView->_page->drawingArea())
</span><span class="cx"> drawingArea->hideContentUntilAnyUpdate();
</span><del>- _webView->_page->viewStateDidChange(ViewState::AllFlags & ~ViewState::IsInWindow, true, WebPageProxy::ViewStateChangeDispatchMode::Immediate);
</del><ins>+ _webView->_page->activityStateDidChange(ActivityState::AllFlags & ~ActivityState::IsInWindow, true, WebPageProxy::ActivityStateChangeDispatchMode::Immediate);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> @end
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessiosWebPageProxyIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/ios/WebPageProxyIOS.mm        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -303,7 +303,7 @@
</span><span class="cx"> // If m_dynamicViewportSizeUpdateWaitingForTarget is false, we are waiting for the next valid frame with the hope it is the one for the new target.
</span><span class="cx"> // If m_dynamicViewportSizeUpdateWaitingForTarget is still true, this is a desperate attempt to get the valid frame before finishing the animation.
</span><span class="cx"> if (m_dynamicViewportSizeUpdateWaitingForLayerTreeCommit)
</span><del>- m_drawingArea->waitForDidUpdateViewState();
</del><ins>+ m_drawingArea->waitForDidUpdateActivityState();
</ins><span class="cx">
</span><span class="cx"> m_dynamicViewportSizeUpdateWaitingForTarget = false;
</span><span class="cx"> m_dynamicViewportSizeUpdateWaitingForLayerTreeCommit = false;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacRemoteLayerTreeDrawingAreaProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx"> void updateDebugIndicatorPosition();
</span><span class="cx"> void initializeDebugIndicator();
</span><span class="cx">
</span><del>- void waitForDidUpdateViewState() override;
</del><ins>+ void waitForDidUpdateActivityState() override;
</ins><span class="cx"> void hideContentUntilPendingUpdate() override;
</span><span class="cx"> void hideContentUntilAnyUpdate() override;
</span><span class="cx"> bool hasVisibleContent() const override;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacRemoteLayerTreeDrawingAreaProxymm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -418,10 +418,10 @@
</span><span class="cx">
</span><span class="cx"> m_lastVisibleTransactionID = m_transactionIDForPendingCACommit;
</span><span class="cx">
</span><del>- m_webPageProxy.didUpdateViewState();
</del><ins>+ m_webPageProxy.didUpdateActivityState();
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState()
</del><ins>+void RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateActivityState()
</ins><span class="cx"> {
</span><span class="cx"> // We must send the didUpdate message before blocking on the next commit, otherwise
</span><span class="cx"> // we can be guaranteed that the next commit won't come until after the waitForAndDispatchImmediately times out.
</span><span class="lines">@@ -428,8 +428,8 @@
</span><span class="cx"> if (m_didUpdateMessageState != DoesNotNeedDidUpdate)
</span><span class="cx"> didRefreshDisplay(monotonicallyIncreasingTime());
</span><span class="cx">
</span><del>- static std::chrono::milliseconds viewStateUpdateTimeout = [] {
- if (id value = [[NSUserDefaults standardUserDefaults] objectForKey:@"WebKitOverrideViewStateUpdateTimeout"])
</del><ins>+ static std::chrono::milliseconds activityStateUpdateTimeout = [] {
+ if (id value = [[NSUserDefaults standardUserDefaults] objectForKey:@"WebKitOverrideActivityStateUpdateTimeout"])
</ins><span class="cx"> return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::duration<double>([value doubleValue]));
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -438,7 +438,7 @@
</span><span class="cx"> return std::chrono::milliseconds(250);
</span><span class="cx"> #endif
</span><span class="cx"> }();
</span><del>- m_webPageProxy.process().connection()->waitForAndDispatchImmediately<Messages::RemoteLayerTreeDrawingAreaProxy::CommitLayerTree>(m_webPageProxy.pageID(), viewStateUpdateTimeout, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives);
</del><ins>+ m_webPageProxy.process().connection()->waitForAndDispatchImmediately<Messages::RemoteLayerTreeDrawingAreaProxy::CommitLayerTree>(m_webPageProxy.pageID(), activityStateUpdateTimeout, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing(std::function<void (CallbackBase::Error)> callbackFunction)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacTiledCoreAnimationDrawingAreaProxyh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> void adjustTransientZoom(double scale, WebCore::FloatPoint origin) override;
</span><span class="cx"> void commitTransientZoom(double scale, WebCore::FloatPoint origin) override;
</span><span class="cx">
</span><del>- void waitForDidUpdateViewState() override;
</del><ins>+ void waitForDidUpdateActivityState() override;
</ins><span class="cx"> void dispatchAfterEnsuringDrawing(std::function<void (CallbackBase::Error)>) override;
</span><span class="cx">
</span><span class="cx"> void willSendUpdateGeometry() override;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessmacTiledCoreAnimationDrawingAreaProxymm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -131,10 +131,10 @@
</span><span class="cx"> sendUpdateGeometry();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateViewState()
</del><ins>+void TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateActivityState()
</ins><span class="cx"> {
</span><del>- auto viewStateUpdateTimeout = std::chrono::milliseconds(250);
- m_webPageProxy.process().connection()->waitForAndDispatchImmediately<Messages::WebPageProxy::DidUpdateViewState>(m_webPageProxy.pageID(), viewStateUpdateTimeout, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives);
</del><ins>+ auto activityStateUpdateTimeout = std::chrono::milliseconds(250);
+ m_webPageProxy.process().connection()->waitForAndDispatchImmediately<Messages::WebPageProxy::DidUpdateActivityState>(m_webPageProxy.pageID(), activityStateUpdateTimeout, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange(const IntSize& newIntrinsicContentSize)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessPluginsPluginViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginView.cpp        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -535,14 +535,14 @@
</span><span class="cx"> m_webPage = 0;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void PluginView::viewStateDidChange(ViewState::Flags changed)
</del><ins>+void PluginView::activityStateDidChange(ActivityState::Flags changed)
</ins><span class="cx"> {
</span><span class="cx"> if (!m_plugin || !m_isInitialized)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- if (changed & ViewState::IsVisibleOrOccluded)
</del><ins>+ if (changed & ActivityState::IsVisibleOrOccluded)
</ins><span class="cx"> m_plugin->windowVisibilityChanged(m_webPage->isVisibleOrOccluded());
</span><del>- if (changed & ViewState::WindowIsActive)
</del><ins>+ if (changed & ActivityState::WindowIsActive)
</ins><span class="cx"> m_plugin->windowFocusChanged(m_webPage->windowIsFocused());
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessPluginsPluginViewh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginView.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Plugins/PluginView.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginView.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include "Plugin.h"
</span><span class="cx"> #include "PluginController.h"
</span><span class="cx"> #include "WebFrame.h"
</span><ins>+#include <WebCore/ActivityState.h>
</ins><span class="cx"> #include <WebCore/FindOptions.h>
</span><span class="cx"> #include <WebCore/Image.h>
</span><span class="cx"> #include <WebCore/MediaCanStartListener.h>
</span><span class="lines">@@ -39,7 +40,6 @@
</span><span class="cx"> #include <WebCore/ResourceError.h>
</span><span class="cx"> #include <WebCore/ResourceResponse.h>
</span><span class="cx"> #include <WebCore/Timer.h>
</span><del>-#include <WebCore/ViewState.h>
</del><span class="cx"> #include <memory>
</span><span class="cx"> #include <wtf/Deque.h>
</span><span class="cx"> #include <wtf/RunLoop.h>
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx"> void manualLoadDidFinishLoading();
</span><span class="cx"> void manualLoadDidFail(const WebCore::ResourceError&);
</span><span class="cx">
</span><del>- void viewStateDidChange(WebCore::ViewState::Flags changed);
</del><ins>+ void activityStateDidChange(WebCore::ActivityState::Flags changed);
</ins><span class="cx"> void setLayerHostingMode(LayerHostingMode);
</span><span class="cx">
</span><span class="cx"> #if PLATFORM(COCOA)
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageAcceleratedDrawingAreacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.cpp (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.cpp        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.cpp        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -369,9 +369,9 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-void AcceleratedDrawingArea::viewStateDidChange(ViewState::Flags changed, bool, const Vector<uint64_t>&)
</del><ins>+void AcceleratedDrawingArea::activityStateDidChange(ActivityState::Flags changed, bool, const Vector<uint64_t>&)
</ins><span class="cx"> {
</span><del>- if (changed & ViewState::IsVisible) {
</del><ins>+ if (changed & ActivityState::IsVisible) {
</ins><span class="cx"> if (m_webPage.isVisible())
</span><span class="cx"> resumePainting();
</span><span class="cx"> else
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageAcceleratedDrawingAreah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/AcceleratedDrawingArea.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> void destroyNativeSurfaceHandleForCompositing(bool&) override;
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- void viewStateDidChange(WebCore::ViewState::Flags, bool /* wantsDidUpdateViewState */, const Vector<uint64_t>& /* callbackIDs */) override;
</del><ins>+ void activityStateDidChange(WebCore::ActivityState::Flags, bool /* wantsDidUpdateActivityState */, const Vector<uint64_t>& /* callbackIDs */) override;
</ins><span class="cx"> void attachViewOverlayGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*) override;
</span><span class="cx">
</span><span class="cx"> void layerHostDidFlushLayers() override;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageDrawingAreah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -28,12 +28,12 @@
</span><span class="cx"> #include "DrawingAreaInfo.h"
</span><span class="cx"> #include "LayerTreeContext.h"
</span><span class="cx"> #include "MessageReceiver.h"
</span><ins>+#include <WebCore/ActivityState.h>
</ins><span class="cx"> #include <WebCore/FloatRect.h>
</span><span class="cx"> #include <WebCore/IntRect.h>
</span><span class="cx"> #include <WebCore/LayerFlushThrottleState.h>
</span><span class="cx"> #include <WebCore/LayoutMilestones.h>
</span><span class="cx"> #include <WebCore/PlatformScreen.h>
</span><del>-#include <WebCore/ViewState.h>
</del><span class="cx"> #include <functional>
</span><span class="cx"> #include <wtf/Forward.h>
</span><span class="cx"> #include <wtf/Noncopyable.h>
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx">
</span><span class="cx"> virtual void dispatchAfterEnsuringUpdatedScrollPosition(std::function<void ()>);
</span><span class="cx">
</span><del>- virtual void viewStateDidChange(WebCore::ViewState::Flags, bool /* wantsDidUpdateViewState */, const Vector<uint64_t>& /* callbackIDs */) { }
</del><ins>+ virtual void activityStateDidChange(WebCore::ActivityState::Flags, bool /* wantsDidUpdateActivityState */, const Vector<uint64_t>& /* callbackIDs */) { }
</ins><span class="cx"> virtual void setLayerHostingMode(LayerHostingMode) { }
</span><span class="cx">
</span><span class="cx"> virtual bool markLayersVolatileImmediatelyIfPossible() { return true; }
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -376,7 +376,7 @@
</span><span class="cx"> , m_maximumRenderingSuppressionToken(0)
</span><span class="cx"> , m_scrollPinningBehavior(DoNotPin)
</span><span class="cx"> , m_useAsyncScrolling(false)
</span><del>- , m_viewState(parameters.viewState)
</del><ins>+ , m_activityState(parameters.activityState)
</ins><span class="cx"> , m_userActivity("Process suppression disabled for page.")
</span><span class="cx"> , m_userActivityHysteresis([this](HysteresisState) { updateUserActivity(); })
</span><span class="cx"> , m_pendingNavigationID(0)
</span><span class="lines">@@ -493,7 +493,7 @@
</span><span class="cx"> setPaginationLineGridEnabled(parameters.paginationLineGridEnabled);
</span><span class="cx">
</span><span class="cx"> // If the page is created off-screen, its visibilityState should be prerender.
</span><del>- m_page->setViewState(m_viewState);
</del><ins>+ m_page->setActivityState(m_activityState);
</ins><span class="cx"> if (!isVisible())
</span><span class="cx"> m_page->setIsPrerender();
</span><span class="cx"> setPageSuppressed(false);
</span><span class="lines">@@ -575,8 +575,8 @@
</span><span class="cx">
</span><span class="cx"> void WebPage::reinitializeWebPage(const WebPageCreationParameters& parameters)
</span><span class="cx"> {
</span><del>- if (m_viewState != parameters.viewState)
- setViewState(parameters.viewState, false, Vector<uint64_t>());
</del><ins>+ if (m_activityState != parameters.activityState)
+ setActivityState(parameters.activityState, false, Vector<uint64_t>());
</ins><span class="cx"> if (m_layerHostingMode != parameters.layerHostingMode)
</span><span class="cx"> setLayerHostingMode(parameters.layerHostingMode);
</span><span class="cx"> }
</span><span class="lines">@@ -2567,7 +2567,7 @@
</span><span class="cx">
</span><span class="cx"> void WebPage::updateIsInWindow(bool isInitialState)
</span><span class="cx"> {
</span><del>- bool isInWindow = m_viewState & WebCore::ViewState::IsInWindow;
</del><ins>+ bool isInWindow = m_activityState & WebCore::ActivityState::IsInWindow;
</ins><span class="cx">
</span><span class="cx"> if (!isInWindow) {
</span><span class="cx"> m_setCanStartMediaTimer.stop();
</span><span class="lines">@@ -2590,18 +2590,18 @@
</span><span class="cx"> layoutIfNeeded();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebPage::setViewState(ViewState::Flags viewState, bool wantsDidUpdateViewState, const Vector<uint64_t>& callbackIDs)
</del><ins>+void WebPage::setActivityState(ActivityState::Flags activityState, bool wantsDidUpdateActivityState, const Vector<uint64_t>& callbackIDs)
</ins><span class="cx"> {
</span><del>- ViewState::Flags changed = m_viewState ^ viewState;
- m_viewState = viewState;
</del><ins>+ ActivityState::Flags changed = m_activityState ^ activityState;
+ m_activityState = activityState;
</ins><span class="cx">
</span><del>- m_page->setViewState(viewState);
</del><ins>+ m_page->setActivityState(activityState);
</ins><span class="cx"> for (auto* pluginView : m_pluginViews)
</span><del>- pluginView->viewStateDidChange(changed);
</del><ins>+ pluginView->activityStateDidChange(changed);
</ins><span class="cx">
</span><del>- m_drawingArea->viewStateDidChange(changed, wantsDidUpdateViewState, callbackIDs);
</del><ins>+ m_drawingArea->activityStateDidChange(changed, wantsDidUpdateActivityState, callbackIDs);
</ins><span class="cx">
</span><del>- if (changed & ViewState::IsInWindow)
</del><ins>+ if (changed & ActivityState::IsInWindow)
</ins><span class="cx"> updateIsInWindow();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -48,6 +48,7 @@
</span><span class="cx"> #include "ShareableBitmap.h"
</span><span class="cx"> #include "UserData.h"
</span><span class="cx"> #include "UserMediaPermissionRequestManager.h"
</span><ins>+#include <WebCore/ActivityState.h>
</ins><span class="cx"> #include <WebCore/DictationAlternative.h>
</span><span class="cx"> #include <WebCore/DictionaryPopupInfo.h>
</span><span class="cx"> #include <WebCore/DragData.h>
</span><span class="lines">@@ -68,7 +69,6 @@
</span><span class="cx"> #include <WebCore/UserContentTypes.h>
</span><span class="cx"> #include <WebCore/UserInterfaceLayoutDirection.h>
</span><span class="cx"> #include <WebCore/UserScriptTypes.h>
</span><del>-#include <WebCore/ViewState.h>
</del><span class="cx"> #include <WebCore/ViewportConfiguration.h>
</span><span class="cx"> #include <WebCore/WebCoreKeyboardUIMode.h>
</span><span class="cx"> #include <memory>
</span><span class="lines">@@ -436,8 +436,8 @@
</span><span class="cx"> void addPluginView(PluginView*);
</span><span class="cx"> void removePluginView(PluginView*);
</span><span class="cx">
</span><del>- bool isVisible() const { return m_viewState & WebCore::ViewState::IsVisible; }
- bool isVisibleOrOccluded() const { return m_viewState & WebCore::ViewState::IsVisibleOrOccluded; }
</del><ins>+ bool isVisible() const { return m_activityState & WebCore::ActivityState::IsVisible; }
+ bool isVisibleOrOccluded() const { return m_activityState & WebCore::ActivityState::IsVisibleOrOccluded; }
</ins><span class="cx">
</span><span class="cx"> LayerHostingMode layerHostingMode() const { return m_layerHostingMode; }
</span><span class="cx"> void setLayerHostingMode(LayerHostingMode);
</span><span class="lines">@@ -1041,7 +1041,7 @@
</span><span class="cx"> void tryRestoreScrollPosition();
</span><span class="cx"> void setInitialFocus(bool forward, bool isKeyboardEventValid, const WebKeyboardEvent&, uint64_t callbackID);
</span><span class="cx"> void updateIsInWindow(bool isInitialState = false);
</span><del>- void setViewState(WebCore::ViewState::Flags, bool wantsDidUpdateViewState, const Vector<uint64_t>& callbackIDs);
</del><ins>+ void setActivityState(WebCore::ActivityState::Flags, bool wantsDidUpdateActivityState, const Vector<uint64_t>& callbackIDs);
</ins><span class="cx"> void validateCommand(const String&, uint64_t);
</span><span class="cx"> void executeEditCommand(const String&, const String&);
</span><span class="cx"> void setEditable(bool);
</span><span class="lines">@@ -1485,7 +1485,7 @@
</span><span class="cx">
</span><span class="cx"> bool m_useAsyncScrolling;
</span><span class="cx">
</span><del>- WebCore::ViewState::Flags m_viewState;
</del><ins>+ WebCore::ActivityState::Flags m_activityState;
</ins><span class="cx">
</span><span class="cx"> UserActivity m_userActivity;
</span><span class="cx"> WebCore::HysteresisActivity m_userActivityHysteresis;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagemessagesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx">
</span><span class="cx"> messages -> WebPage LegacyReceiver {
</span><span class="cx"> SetInitialFocus(bool forward, bool isKeyboardEventValid, WebKit::WebKeyboardEvent event, uint64_t callbackID)
</span><del>- SetViewState(unsigned viewState, bool wantsDidUpdateViewState, Vector<uint64_t> callbackIDs)
</del><ins>+ SetActivityState(unsigned activityState, bool wantsDidUpdateActivityState, Vector<uint64_t> callbackIDs)
</ins><span class="cx"> SetLayerHostingMode(enum WebKit::LayerHostingMode layerHostingMode)
</span><span class="cx"> SetPageSuppressed(bool pageSuppressed)
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPagemacRemoteLayerTreeDrawingAreah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -102,7 +102,7 @@
</span><span class="cx">
</span><span class="cx"> void mainFrameContentSizeChanged(const WebCore::IntSize&) override;
</span><span class="cx">
</span><del>- void viewStateDidChange(WebCore::ViewState::Flags changed, bool wantsDidUpdateViewState, const Vector<uint64_t>& callbackIDs) override;
</del><ins>+ void activityStateDidChange(WebCore::ActivityState::Flags changed, bool wantsDidUpdateActivityState, const Vector<uint64_t>& callbackIDs) override;
</ins><span class="cx">
</span><span class="cx"> bool adjustLayerFlushThrottling(WebCore::LayerFlushThrottleState::Flags) override;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPagemacRemoteLayerTreeDrawingAreamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -497,11 +497,11 @@
</span><span class="cx"> m_connection->sendMessage(WTFMove(m_commitEncoder), { });
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void RemoteLayerTreeDrawingArea::viewStateDidChange(ViewState::Flags, bool wantsDidUpdateViewState, const Vector<uint64_t>&)
</del><ins>+void RemoteLayerTreeDrawingArea::activityStateDidChange(ActivityState::Flags, bool wantsDidUpdateActivityState, const Vector<uint64_t>&)
</ins><span class="cx"> {
</span><span class="cx"> // FIXME: Should we suspend painting while not visible, like TiledCoreAnimationDrawingArea? Probably.
</span><span class="cx">
</span><del>- if (wantsDidUpdateViewState)
</del><ins>+ if (wantsDidUpdateActivityState)
</ins><span class="cx"> scheduleCompositingLayerFlushImmediately();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPagemacTiledCoreAnimationDrawingAreah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -81,8 +81,8 @@
</span><span class="cx">
</span><span class="cx"> bool shouldUseTiledBackingForFrameView(const WebCore::FrameView*) override;
</span><span class="cx">
</span><del>- void viewStateDidChange(WebCore::ViewState::Flags changed, bool wantsDidUpdateViewState, const Vector<uint64_t>&) override;
- void didUpdateViewStateTimerFired();
</del><ins>+ void activityStateDidChange(WebCore::ActivityState::Flags changed, bool wantsDidUpdateActivityState, const Vector<uint64_t>&) override;
+ void didUpdateActivityStateTimerFired();
</ins><span class="cx">
</span><span class="cx"> void attachViewOverlayGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*) override;
</span><span class="cx">
</span><span class="lines">@@ -146,9 +146,9 @@
</span><span class="cx">
</span><span class="cx"> WebCore::TransformationMatrix m_transform;
</span><span class="cx">
</span><del>- RunLoop::Timer<TiledCoreAnimationDrawingArea> m_sendDidUpdateViewStateTimer;
- Vector<uint64_t> m_nextViewStateChangeCallbackIDs;
- bool m_wantsDidUpdateViewState;
</del><ins>+ RunLoop::Timer<TiledCoreAnimationDrawingArea> m_sendDidUpdateActivityStateTimer;
+ Vector<uint64_t> m_nextActivityStateChangeCallbackIDs;
+ bool m_wantsDidUpdateActivityState;
</ins><span class="cx">
</span><span class="cx"> WebCore::GraphicsLayer* m_viewOverlayRootLayer;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPagemacTiledCoreAnimationDrawingAreamm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm (208224 => 208225)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm        2016-11-01 17:20:25 UTC (rev 208224)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm        2016-11-01 18:05:28 UTC (rev 208225)
</span><span class="lines">@@ -77,10 +77,10 @@
</span><span class="cx"> : DrawingArea(DrawingAreaTypeTiledCoreAnimation, webPage)
</span><span class="cx"> , m_layerTreeStateIsFrozen(false)
</span><span class="cx"> , m_layerFlushScheduler(this)
</span><del>- , m_isPaintingSuspended(!(parameters.viewState & ViewState::IsVisible))
</del><ins>+ , m_isPaintingSuspended(!(parameters.activityState & ActivityState::IsVisible))
</ins><span class="cx"> , m_transientZoomScale(1)
</span><del>- , m_sendDidUpdateViewStateTimer(RunLoop::main(), this, &TiledCoreAnimationDrawingArea::didUpdateViewStateTimerFired)
- , m_wantsDidUpdateViewState(false)
</del><ins>+ , m_sendDidUpdateActivityStateTimer(RunLoop::main(), this, &TiledCoreAnimationDrawingArea::didUpdateActivityStateTimerFired)
+ , m_wantsDidUpdateActivityState(false)
</ins><span class="cx"> , m_viewOverlayRootLayer(nullptr)
</span><span class="cx"> {
</span><span class="cx"> m_webPage.corePage()->settings().setForceCompositingMode(true);
</span><span class="lines">@@ -447,12 +447,12 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void TiledCoreAnimationDrawingArea::viewStateDidChange(ViewState::Flags changed, bool wantsDidUpdateViewState, const Vector<uint64_t>& nextViewStateChangeCallbackIDs)
</del><ins>+void TiledCoreAnimationDrawingArea::activityStateDidChange(ActivityState::Flags changed, bool wantsDidUpdateActivityState, const Vector<uint64_t>& nextActivityStateChangeCallbackIDs)
</ins><span class="cx"> {
</span><del>- m_nextViewStateChangeCallbackIDs.appendVector(nextViewStateChangeCallbackIDs);
- m_wantsDidUpdateViewState |= wantsDidUpdateViewState;
</del><ins>+ m_nextActivityStateChangeCallbackIDs.appendVector(nextActivityStateChangeCallbackIDs);
+ m_wantsDidUpdateActivityState |= wantsDidUpdateActivityState;
</ins><span class="cx">
</span><del>- if (changed & ViewState::IsVisible) {
</del><ins>+ if (changed & ActivityState::IsVisible) {
</ins><span class="cx"> if (m_webPage.isVisible())
</span><span class="cx"> resumePainting();
</span><span class="cx"> else
</span><span class="lines">@@ -459,22 +459,22 @@
</span><span class="cx"> suspendPainting();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- if (m_wantsDidUpdateViewState || !m_nextViewStateChangeCallbackIDs.isEmpty())
- m_sendDidUpdateViewStateTimer.startOneShot(0);
</del><ins>+ if (m_wantsDidUpdateActivityState || !m_nextActivityStateChangeCallbackIDs.isEmpty())
+ m_sendDidUpdateActivityStateTimer.startOneShot(0);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void TiledCoreAnimationDrawingArea::didUpdateViewStateTimerFired()
</del><ins>+void TiledCoreAnimationDrawingArea::didUpdateActivityStateTimerFired()
</ins><span class="cx"> {
</span><span class="cx"> [CATransaction flush];
</span><span class="cx">
</span><del>- if (m_wantsDidUpdateViewState)
- m_webPage.send(Messages::WebPageProxy::DidUpdateViewState());
</del><ins>+ if (m_wantsDidUpdateActivityState)
+ m_webPage.send(Messages::WebPageProxy::DidUpdateActivityState());
</ins><span class="cx">
</span><del>- for (uint64_t callbackID : m_nextViewStateChangeCallbackIDs)
</del><ins>+ for (uint64_t callbackID : m_nextActivityStateChangeCallbackIDs)
</ins><span class="cx"> m_webPage.send(Messages::WebPageProxy::VoidCallback(callbackID));
</span><span class="cx">
</span><del>- m_nextViewStateChangeCallbackIDs.clear();
- m_wantsDidUpdateViewState = false;
</del><ins>+ m_nextActivityStateChangeCallbackIDs.clear();
+ m_wantsDidUpdateActivityState = false;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void TiledCoreAnimationDrawingArea::suspendPainting()
</span></span></pre>
</div>
</div>
</body>
</html>