<!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  &lt;barraclough@apple.com&gt;
+
+        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  &lt;ryanhaddad@apple.com&gt;
</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 &amp; ViewState::IsVisible &amp;&amp; !m_observers.isEmpty()) {
-        if (newViewState &amp; ViewState::IsVisible)
</del><ins>+    ActivityState::Flags changed = oldActivityState ^ newActivityState;
+    if (changed &amp; ActivityState::IsVisible &amp;&amp; !m_observers.isEmpty()) {
+        if (newActivityState &amp; 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 &quot;ActivityStateChangeObserver.h&quot;
</ins><span class="cx"> #include &quot;Geolocation.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><del>-#include &quot;ViewStateChangeObserver.h&quot;
</del><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</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&lt;Page&gt;, private ViewStateChangeObserver {
</del><ins>+class GeolocationController : public Supplement&lt;Page&gt;, 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&amp; m_page;
</span><span class="cx">     GeolocationClient&amp; 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&lt;GeolocationPosition&gt; 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 = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 724ED32F1A3A8B2300F5F13C /* JSEXTBlendMinMax.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSEXTBlendMinMax.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 724ED3301A3A8B2300F5F13C /* JSEXTBlendMinMax.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSEXTBlendMinMax.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                724EE54E1DC7F25B00A91FFB /* ActivityState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActivityState.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                724EE54F1DC7F25B00A91FFB /* ActivityStateChangeObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActivityStateChangeObserver.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 727AFED11A2EA6A0000442E8 /* EXTsRGB.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EXTsRGB.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 727AFED21A2EA6A0000442E8 /* EXTsRGB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EXTsRGB.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 727AFED31A2EA6A0000442E8 /* EXTsRGB.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = EXTsRGB.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</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 = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7CD494CA1A86EB1D000A87EC /* RenderAttachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderAttachment.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7CD494CB1A86EB1D000A87EC /* RenderAttachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderAttachment.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                7CDEEE1D197610D700E352CD /* ViewStateChangeObserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewStateChangeObserver.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 7CE68342192143A800F4D928 /* UserMessageHandlerDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UserMessageHandlerDescriptor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7CE68343192143A800F4D928 /* UserMessageHandlerDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserMessageHandlerDescriptor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7CE683461921821500F4D928 /* UserMessageHandlerDescriptorTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserMessageHandlerDescriptorTypes.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</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 = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 86512EDC154A2AEF00A90426 /* PerformanceResourceTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PerformanceResourceTiming.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 86512EDD154A2AEF00A90426 /* PerformanceResourceTiming.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PerformanceResourceTiming.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                8678D0BA1878E810003ABDE6 /* ViewState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewState.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 868160D1187669C40021E79D /* UserActivity.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = UserActivity.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 868160D2187669C40021E79D /* UserActivity.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UserActivity.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 868160D3187669E70021E79D /* UserActivityMac.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = UserActivityMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</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 &lt;&lt; 0,
+        IsFocused = 1 &lt;&lt; 1,
+        IsVisible = 1 &lt;&lt; 2,
+        IsVisibleOrOccluded = 1 &lt;&lt; 3,
+        IsInWindow = 1 &lt;&lt; 4,
+        IsVisuallyIdle = 1 &lt;&lt; 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 &quot;ActivityState.h&quot;
+
+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&amp; page, ViewState::Flags viewState)
</del><ins>+FocusController::FocusController(Page&amp; 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, &amp;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 &amp; ~ViewState::IsFocused);
</del><ins>+    m_page.setActivityState(focused ? m_activityState | ActivityState::IsFocused : m_activityState &amp; ~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 &amp; ViewState::IsFocused)
-        setFocusedInternal(viewState &amp; ViewState::IsFocused);
-    if (changed &amp; ViewState::WindowIsActive) {
-        setActiveInternal(viewState &amp; ViewState::WindowIsActive);
-        if (changed &amp; ViewState::IsVisible)
-            setIsVisibleAndActiveInternal(viewState &amp; ViewState::WindowIsActive);
</del><ins>+    if (changed &amp; ActivityState::IsFocused)
+        setFocusedInternal(activityState &amp; ActivityState::IsFocused);
+    if (changed &amp; ActivityState::WindowIsActive) {
+        setActiveInternal(activityState &amp; ActivityState::WindowIsActive);
+        if (changed &amp; ActivityState::IsVisible)
+            setIsVisibleAndActiveInternal(activityState &amp; 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 &amp; ~ViewState::WindowIsActive);
</del><ins>+    m_page.setActivityState(active ? m_activityState | ActivityState::WindowIsActive : m_activityState &amp; ~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 &quot;ActivityState.h&quot;
</ins><span class="cx"> #include &quot;FocusDirection.h&quot;
</span><span class="cx"> #include &quot;LayoutRect.h&quot;
</span><span class="cx"> #include &quot;Timer.h&quot;
</span><del>-#include &quot;ViewState.h&quot;
</del><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</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&amp;, ViewState::Flags);
</del><ins>+    explicit FocusController(Page&amp;, ActivityState::Flags);
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void setFocusedFrame(PassRefPtr&lt;Frame&gt;);
</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&lt;Frame&gt;, 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 &amp; ViewState::WindowIsActive; }
</del><ins>+    bool isActive() const { return m_activityState &amp; ActivityState::WindowIsActive; }
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT void setFocused(bool);
</span><del>-    bool isFocused() const { return m_viewState &amp; ViewState::IsFocused; }
</del><ins>+    bool isFocused() const { return m_activityState &amp; ActivityState::IsFocused; }
</ins><span class="cx"> 
</span><del>-    bool contentIsVisible() const { return m_viewState &amp; ViewState::IsVisible; }
</del><ins>+    bool contentIsVisible() const { return m_activityState &amp; 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&amp;);
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx">     Page&amp; m_page;
</span><span class="cx">     RefPtr&lt;Frame&gt; 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 &quot;config.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;ActivityStateChangeObserver.h&quot;
</ins><span class="cx"> #include &quot;AlternativeTextClient.h&quot;
</span><span class="cx"> #include &quot;AnimationController.h&quot;
</span><span class="cx"> #include &quot;ApplicationCacheStorage.h&quot;
</span><span class="lines">@@ -94,7 +95,6 @@
</span><span class="cx"> #include &quot;TextResourceDecoder.h&quot;
</span><span class="cx"> #include &quot;UserContentProvider.h&quot;
</span><span class="cx"> #include &quot;UserInputBridge.h&quot;
</span><del>-#include &quot;ViewStateChangeObserver.h&quot;
</del><span class="cx"> #include &quot;VisitedLinkState.h&quot;
</span><span class="cx"> #include &quot;VisitedLinkStore.h&quot;
</span><span class="cx"> #include &quot;VoidCallback.h&quot;
</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&amp;&amp; pageConfiguration)
</span><span class="cx">     : m_chrome(std::make_unique&lt;Chrome&gt;(*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&lt;DragController&gt;(*this, *pageConfiguration.dragClient))
</span><span class="cx"> #endif
</span><del>-    , m_focusController(std::make_unique&lt;FocusController&gt;(*this, PageInitialViewState))
</del><ins>+    , m_focusController(std::make_unique&lt;FocusController&gt;(*this, PageInitialActivityState))
</ins><span class="cx"> #if ENABLE(CONTEXT_MENUS)
</span><span class="cx">     , m_contextMenuController(std::make_unique&lt;ContextMenuController&gt;(*this, *pageConfiguration.contextMenuClient))
</span><span class="cx"> #endif
</span><span class="lines">@@ -214,7 +214,7 @@
</span><span class="cx">     , m_timerAlignmentIntervalIncreaseTimer(*this, &amp;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 &amp; ~ViewState::IsInWindow);
</del><ins>+    setActivityState(isInWindow ? m_activityState | ActivityState::IsInWindow : m_activityState &amp; ~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&amp; observer)
</del><ins>+void Page::addActivityStateChangeObserver(ActivityStateChangeObserver&amp; observer)
</ins><span class="cx"> {
</span><del>-    m_viewStateChangeObservers.add(&amp;observer);
</del><ins>+    m_activityStateChangeObservers.add(&amp;observer);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Page::removeViewStateChangeObserver(ViewStateChangeObserver&amp; observer)
</del><ins>+void Page::removeActivityStateChangeObserver(ActivityStateChangeObserver&amp; observer)
</ins><span class="cx"> {
</span><del>-    m_viewStateChangeObservers.remove(&amp;observer);
</del><ins>+    m_activityStateChangeObservers.remove(&amp;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-&gt;hiddenPageDOMTimerThrottlingEnabled() || !(m_viewState &amp; ViewState::IsVisuallyIdle)) {
</del><ins>+    if (!m_settings-&gt;hiddenPageDOMTimerThrottlingEnabled() || !(m_activityState &amp; 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-&gt;hiddenPageDOMTimerThrottlingAutoIncreases() || m_viewState &amp; ViewState::IsVisible || m_pageThrottler.activityState()) {
</del><ins>+    if (!m_settings-&gt;hiddenPageDOMTimerThrottlingAutoIncreases() || m_activityState &amp; 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-&gt;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-&gt;setViewState(viewState);
</del><ins>+    m_focusController-&gt;setActivityState(activityState);
</ins><span class="cx"> 
</span><del>-    if (changed &amp; ViewState::IsVisible)
-        setIsVisibleInternal(viewState &amp; ViewState::IsVisible);
-    if (changed &amp; ViewState::IsInWindow)
-        setIsInWindowInternal(viewState &amp; ViewState::IsInWindow);
-    if (changed &amp; ViewState::IsVisuallyIdle)
-        setIsVisuallyIdleInternal(viewState &amp; ViewState::IsVisuallyIdle);
</del><ins>+    if (changed &amp; ActivityState::IsVisible)
+        setIsVisibleInternal(activityState &amp; ActivityState::IsVisible);
+    if (changed &amp; ActivityState::IsInWindow)
+        setIsInWindowInternal(activityState &amp; ActivityState::IsInWindow);
+    if (changed &amp; ActivityState::IsVisuallyIdle)
+        setIsVisuallyIdleInternal(activityState &amp; ActivityState::IsVisuallyIdle);
</ins><span class="cx"> 
</span><del>-    if (changed &amp; (ViewState::IsVisible | ViewState::IsVisuallyIdle))
</del><ins>+    if (changed &amp; (ActivityState::IsVisible | ActivityState::IsVisuallyIdle))
</ins><span class="cx">         updateTimerThrottlingState();
</span><span class="cx"> 
</span><del>-    for (auto* observer : m_viewStateChangeObservers)
-        observer-&gt;viewStateDidChange(oldViewState, m_viewState);
</del><ins>+    for (auto* observer : m_activityStateChangeObservers)
+        observer-&gt;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 &amp; ViewState::IsVisible) &amp;&amp; (m_viewState &amp; ViewState::WindowIsActive);
</del><ins>+    return (m_activityState &amp; ActivityState::IsVisible) &amp;&amp; (m_activityState &amp; 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 &amp; ~ViewState::IsVisuallyIdle) | ViewState::IsVisible | ViewState::IsVisibleOrOccluded);
</del><ins>+        setActivityState((m_activityState &amp; ~ActivityState::IsVisuallyIdle) | ActivityState::IsVisible | ActivityState::IsVisibleOrOccluded);
</ins><span class="cx">     else
</span><del>-        setViewState((m_viewState &amp; ~(ViewState::IsVisible | ViewState::IsVisibleOrOccluded)) | ViewState::IsVisuallyIdle);
</del><ins>+        setActivityState((m_activityState &amp; ~(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 &quot;ActivityState.h&quot;
</ins><span class="cx"> #include &quot;FindOptions.h&quot;
</span><span class="cx"> #include &quot;FrameLoaderTypes.h&quot;
</span><span class="cx"> #include &quot;LayoutMilestones.h&quot;
</span><span class="lines">@@ -34,7 +35,6 @@
</span><span class="cx"> #include &quot;SessionID.h&quot;
</span><span class="cx"> #include &quot;Supplementable.h&quot;
</span><span class="cx"> #include &quot;UserInterfaceLayoutDirection.h&quot;
</span><del>-#include &quot;ViewState.h&quot;
</del><span class="cx"> #include &quot;ViewportArguments.h&quot;
</span><span class="cx"> #include &quot;WheelEventTestTrigger.h&quot;
</span><span class="cx"> #include &lt;memory&gt;
</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&amp; 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 &amp; ViewState::IsVisible; }
</del><ins>+    bool isVisible() const { return m_activityState &amp; 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 &amp; ViewState::IsInWindow; }
</del><ins>+    bool isInWindow() const { return m_activityState &amp; 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&amp;);
-    void removeViewStateChangeObserver(ViewStateChangeObserver&amp;);
</del><ins>+    void addActivityStateChangeObserver(ActivityStateChangeObserver&amp;);
+    void removeActivityStateChangeObserver(ActivityStateChangeObserver&amp;);
</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&lt;VisitedLinkStore&gt; m_visitedLinkStore;
</span><span class="cx">     RefPtr&lt;WheelEventTestTrigger&gt; m_testTrigger;
</span><span class="cx"> 
</span><del>-    HashSet&lt;ViewStateChangeObserver*&gt; m_viewStateChangeObservers;
</del><ins>+    HashSet&lt;ActivityStateChangeObserver*&gt; m_activityStateChangeObservers;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(RESOURCE_USAGE)
</span><span class="cx">     std::unique_ptr&lt;ResourceUsageOverlay&gt; 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 &quot;ActivityState.h&quot;
</ins><span class="cx"> #include &quot;Timer.h&quot;
</span><del>-
</del><span class="cx"> #include &quot;UserActivity.h&quot;
</span><del>-#include &quot;ViewState.h&quot;
</del><span class="cx"> #include &lt;wtf/RefCounter.h&gt;
</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 &lt;&lt; 0,
-        IsFocused = 1 &lt;&lt; 1,
-        IsVisible = 1 &lt;&lt; 2,
-        IsVisibleOrOccluded = 1 &lt;&lt; 3,
-        IsInWindow = 1 &lt;&lt; 4,
-        IsVisuallyIdle = 1 &lt;&lt; 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 &quot;ViewState.h&quot;
-
-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  &lt;barraclough@apple.com&gt;
+
+        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  &lt;ljaehun.lim@samsung.com&gt;
</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&amp; encoder) const
</span><span class="cx"> {
</span><span class="cx">     encoder &lt;&lt; viewSize;
</span><del>-    encoder &lt;&lt; viewState;
</del><ins>+    encoder &lt;&lt; activityState;
</ins><span class="cx"> 
</span><span class="cx">     encoder &lt;&lt; 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 &quot;WebCoreArgumentCoders.h&quot;
</span><span class="cx"> #include &quot;WebPageGroupData.h&quot;
</span><span class="cx"> #include &quot;WebPreferencesStore.h&quot;
</span><ins>+#include &lt;WebCore/ActivityState.h&gt;
</ins><span class="cx"> #include &lt;WebCore/Color.h&gt;
</span><span class="cx"> #include &lt;WebCore/FloatSize.h&gt;
</span><span class="cx"> #include &lt;WebCore/IntSize.h&gt;
</span><span class="lines">@@ -40,7 +41,6 @@
</span><span class="cx"> #include &lt;WebCore/ScrollTypes.h&gt;
</span><span class="cx"> #include &lt;WebCore/SessionID.h&gt;
</span><span class="cx"> #include &lt;WebCore/UserInterfaceLayoutDirection.h&gt;
</span><del>-#include &lt;WebCore/ViewState.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</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-&gt;viewStateDidChange(WebCore::ViewState::AllFlags);
</del><ins>+    _page-&gt;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 &quot;APIPageConfiguration.h&quot;
</span><span class="cx"> #include &quot;AcceleratedBackingStore.h&quot;
</span><ins>+#include &quot;ActivityState.h&quot;
</ins><span class="cx"> #include &quot;DrawingAreaProxyImpl.h&quot;
</span><span class="cx"> #include &quot;InputMethodFilter.h&quot;
</span><span class="cx"> #include &quot;KeyBindingTranslator.h&quot;
</span><span class="lines">@@ -38,7 +39,6 @@
</span><span class="cx"> #include &quot;NativeWebMouseEvent.h&quot;
</span><span class="cx"> #include &quot;NativeWebWheelEvent.h&quot;
</span><span class="cx"> #include &quot;PageClientImpl.h&quot;
</span><del>-#include &quot;ViewState.h&quot;
</del><span class="cx"> #include &quot;WebEventFactory.h&quot;
</span><span class="cx"> #include &quot;WebFullScreenClientGtk.h&quot;
</span><span class="cx"> #include &quot;WebInspectorProxy.h&quot;
</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, &amp;_WebKitWebViewBasePrivate::updateViewStateTimerFired)
</del><ins>+        : updateActivityStateTimer(RunLoop::main(), this, &amp;_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-&gt;viewStateDidChange(viewStateFlagsToUpdate);
-        viewStateFlagsToUpdate = ViewState::NoFlags;
</del><ins>+        pageProxy-&gt;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&lt;WebKitWebViewBasePrivate&gt; updateViewStateTimer;
</del><ins>+    ActivityState::Flags activityState;
+    ActivityState::Flags activityStateFlagsToUpdate;
+    RunLoop::Timer&lt;WebKitWebViewBasePrivate&gt; 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-&gt;priv;
</span><del>-    priv-&gt;viewStateFlagsToUpdate |= flagsToUpdate;
-    if (priv-&gt;updateViewStateTimer.isActive())
</del><ins>+    priv-&gt;activityStateFlagsToUpdate |= flagsToUpdate;
+    if (priv-&gt;updateActivityStateTimer.isActive())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    priv-&gt;updateViewStateTimer.startOneShot(0);
</del><ins>+    priv-&gt;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-&gt;priv;
</span><del>-    if (priv-&gt;viewState &amp; ViewState::WindowIsActive)
</del><ins>+    if (priv-&gt;activityState &amp; ActivityState::WindowIsActive)
</ins><span class="cx">         return FALSE;
</span><span class="cx"> 
</span><del>-    priv-&gt;viewState |= ViewState::WindowIsActive;
-    webkitWebViewBaseScheduleUpdateViewState(webViewBase, ViewState::WindowIsActive);
</del><ins>+    priv-&gt;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-&gt;priv;
</span><del>-    if (!(priv-&gt;viewState &amp; ViewState::WindowIsActive))
</del><ins>+    if (!(priv-&gt;activityState &amp; ActivityState::WindowIsActive))
</ins><span class="cx">         return FALSE;
</span><span class="cx"> 
</span><del>-    priv-&gt;viewState &amp;= ~ViewState::WindowIsActive;
-    webkitWebViewBaseScheduleUpdateViewState(webViewBase, ViewState::WindowIsActive);
</del><ins>+    priv-&gt;activityState &amp;= ~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-&gt;new_window_state &amp; GDK_WINDOW_STATE_ICONIFIED);
</span><del>-    if ((visible &amp;&amp; priv-&gt;viewState &amp; ViewState::IsVisible) || (!visible &amp;&amp; !(priv-&gt;viewState &amp; ViewState::IsVisible)))
</del><ins>+    if ((visible &amp;&amp; priv-&gt;activityState &amp; ActivityState::IsVisible) || (!visible &amp;&amp; !(priv-&gt;activityState &amp; ActivityState::IsVisible)))
</ins><span class="cx">         return FALSE;
</span><span class="cx"> 
</span><span class="cx">     if (visible)
</span><del>-        priv-&gt;viewState |= ViewState::IsVisible;
</del><ins>+        priv-&gt;activityState |= ActivityState::IsVisible;
</ins><span class="cx">     else
</span><del>-        priv-&gt;viewState &amp;= ~ViewState::IsVisible;
-    webkitWebViewBaseScheduleUpdateViewState(webViewBase, ViewState::IsVisible);
</del><ins>+        priv-&gt;activityState &amp;= ~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-&gt;toplevelOnScreenWindow = window;
</span><span class="cx"> 
</span><span class="cx">     if (!priv-&gt;toplevelOnScreenWindow) {
</span><del>-        ViewState::Flags flagsToUpdate = 0;
-        if (priv-&gt;viewState &amp; ViewState::IsInWindow) {
-            priv-&gt;viewState &amp;= ~ViewState::IsInWindow;
-            flagsToUpdate |= ViewState::IsInWindow;
</del><ins>+        ActivityState::Flags flagsToUpdate = 0;
+        if (priv-&gt;activityState &amp; ActivityState::IsInWindow) {
+            priv-&gt;activityState &amp;= ~ActivityState::IsInWindow;
+            flagsToUpdate |= ActivityState::IsInWindow;
</ins><span class="cx">         }
</span><del>-        if (priv-&gt;viewState &amp; ViewState::WindowIsActive) {
-            priv-&gt;viewState &amp;= ~ViewState::WindowIsActive;
-            flagsToUpdate |= ViewState::IsInWindow;
</del><ins>+        if (priv-&gt;activityState &amp; ActivityState::WindowIsActive) {
+            priv-&gt;activityState &amp;= ~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-&gt;priv;
</span><del>-    ViewState::Flags flagsToUpdate = 0;
-    if (!(priv-&gt;viewState &amp; ViewState::IsVisible))
-        flagsToUpdate |= ViewState::IsVisible;
</del><ins>+    ActivityState::Flags flagsToUpdate = 0;
+    if (!(priv-&gt;activityState &amp; ActivityState::IsVisible))
+        flagsToUpdate |= ActivityState::IsVisible;
</ins><span class="cx">     if (priv-&gt;toplevelOnScreenWindow) {
</span><del>-        if (!(priv-&gt;viewState &amp; ViewState::IsInWindow))
-            flagsToUpdate |= ViewState::IsInWindow;
-        if (gtk_window_is_active(GTK_WINDOW(priv-&gt;toplevelOnScreenWindow)) &amp;&amp; !(priv-&gt;viewState &amp; ViewState::WindowIsActive))
-            flagsToUpdate |= ViewState::WindowIsActive;
</del><ins>+        if (!(priv-&gt;activityState &amp; ActivityState::IsInWindow))
+            flagsToUpdate |= ActivityState::IsInWindow;
+        if (gtk_window_is_active(GTK_WINDOW(priv-&gt;toplevelOnScreenWindow)) &amp;&amp; !(priv-&gt;activityState &amp; 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-&gt;viewState |= flagsToUpdate;
-    webkitWebViewBaseScheduleUpdateViewState(webViewBase, flagsToUpdate);
</del><ins>+    priv-&gt;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-&gt;priv;
</span><del>-    if (!(priv-&gt;viewState &amp; ViewState::IsVisible))
</del><ins>+    if (!(priv-&gt;activityState &amp; ActivityState::IsVisible))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    priv-&gt;viewState &amp;= ~ViewState::IsVisible;
-    webkitWebViewBaseScheduleUpdateViewState(webViewBase, ViewState::IsVisible);
</del><ins>+    priv-&gt;activityState &amp;= ~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-&gt;priv;
</span><del>-    if ((focused &amp;&amp; priv-&gt;viewState &amp; ViewState::IsFocused) || (!focused &amp;&amp; !(priv-&gt;viewState &amp; ViewState::IsFocused)))
</del><ins>+    if ((focused &amp;&amp; priv-&gt;activityState &amp; ActivityState::IsFocused) || (!focused &amp;&amp; !(priv-&gt;activityState &amp; 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-&gt;viewState |= ViewState::IsFocused;
</del><ins>+        priv-&gt;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-&gt;viewState &amp; ViewState::WindowIsActive)) {
-            priv-&gt;viewState |= ViewState::WindowIsActive;
-            flagsToUpdate |= ViewState::WindowIsActive;
</del><ins>+        if (!(priv-&gt;activityState &amp; ActivityState::WindowIsActive)) {
+            priv-&gt;activityState |= ActivityState::WindowIsActive;
+            flagsToUpdate |= ActivityState::WindowIsActive;
</ins><span class="cx">         }
</span><span class="cx">     } else
</span><del>-        priv-&gt;viewState &amp;= ~ViewState::IsFocused;
</del><ins>+        priv-&gt;activityState &amp;= ~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-&gt;priv-&gt;viewState &amp; ViewState::WindowIsActive;
</del><ins>+    return webViewBase-&gt;priv-&gt;activityState &amp; 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-&gt;priv-&gt;viewState &amp; ViewState::IsFocused;
</del><ins>+    return webViewBase-&gt;priv-&gt;activityState &amp; 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-&gt;priv-&gt;viewState &amp; ViewState::IsVisible;
</del><ins>+    return webViewBase-&gt;priv-&gt;activityState &amp; 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-&gt;priv-&gt;viewState &amp; ViewState::IsInWindow;
</del><ins>+    return webViewBase-&gt;priv-&gt;activityState &amp; 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 &quot;_WKThumbnailViewInternal.h&quot;
</span><span class="cx"> #import &lt;HIToolbox/CarbonEventsCore.h&gt;
</span><span class="cx"> #import &lt;WebCore/AXObjectCache.h&gt;
</span><ins>+#import &lt;WebCore/ActivityState.h&gt;
</ins><span class="cx"> #import &lt;WebCore/ColorMac.h&gt;
</span><span class="cx"> #import &lt;WebCore/CoreGraphicsSPI.h&gt;
</span><span class="cx"> #import &lt;WebCore/DataDetectorsSPI.h&gt;
</span><span class="lines">@@ -84,7 +85,6 @@
</span><span class="cx"> #import &lt;WebCore/SoftLinking.h&gt;
</span><span class="cx"> #import &lt;WebCore/TextAlternativeWithRange.h&gt;
</span><span class="cx"> #import &lt;WebCore/TextUndoInsertionMarkupMac.h&gt;
</span><del>-#import &lt;WebCore/ViewState.h&gt;
</del><span class="cx"> #import &lt;WebCore/WebActionDisablingCALayerDelegate.h&gt;
</span><span class="cx"> #import &lt;WebCore/WebCoreCALayerExtras.h&gt;
</span><span class="cx"> #import &lt;WebCore/WebCoreFullScreenPlaceholderView.h&gt;
</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-&gt;viewStateDidChange(WebCore::ViewState::IsFocused);
</del><ins>+    m_page-&gt;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-&gt;restoreSelectionInFocusedEditableElement();
</span><span class="cx"> 
</span><span class="lines">@@ -656,7 +656,7 @@
</span><span class="cx">     if (!m_page-&gt;maintainsInactiveSelection())
</span><span class="cx">         m_page-&gt;clearSelection();
</span><span class="cx"> 
</span><del>-    m_page-&gt;viewStateDidChange(WebCore::ViewState::IsFocused);
</del><ins>+    m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::IsVisible | WebCore::ViewState::WindowIsActive);
</del><ins>+    m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::IsVisible | WebCore::ViewState::WindowIsActive);
</del><ins>+    m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::WindowIsActive);
</del><ins>+        m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::WindowIsActive);
</del><ins>+        m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::IsVisible);
</del><ins>+    m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::IsVisible);
</del><ins>+    m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::IsVisible);
</del><ins>+    m_page-&gt;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-&gt;viewStateDidChange(viewStateChanges);
</del><ins>+            activityStateChanges |= WebCore::ActivityState::IsInWindow;
+        m_page-&gt;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 &amp;&amp; ![[m_view gestureRecognizers] containsObject:m_immediateActionGestureRecognizer.get()] &amp;&amp; !m_ignoresNonWheelEvents &amp;&amp; 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-&gt;viewStateDidChange(viewStateChanges);
</del><ins>+            activityStateChanges |= WebCore::ActivityState::IsInWindow;
+        m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::IsVisible);
</del><ins>+    m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::IsVisible);
</del><ins>+    m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::IsVisible);
</del><ins>+    m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::IsInWindow);
</del><ins>+        m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::IsInWindow);
</del><ins>+        m_page-&gt;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-&gt;installViewStateChangeCompletionHandler([weakThis, completionHandler]() {
</del><ins>+    m_page-&gt;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-&gt;viewStateDidChange(WebCore::ViewState::IsInWindow, false, WebPageProxy::ViewStateChangeDispatchMode::Immediate);
</del><ins>+    m_page-&gt;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&lt;void (CallbackBase::Error)&gt;) { 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-&gt;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-&gt;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 &amp; ViewState::IsInWindow ? m_pageClient.viewLayerHostingMode() : LayerHostingMode::OutOfProcess;
</del><ins>+    m_layerHostingMode = m_activityState &amp; 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&lt;RunLoopObserver&gt;(viewStateChangeRunLoopOrder, [this] {
-        this-&gt;dispatchViewStateChange();
</del><ins>+    const CFIndex activityStateChangeRunLoopOrder = (CFIndex)RunLoopObserver::WellKnownRunLoopOrders::CoreAnimationCommit - 1;
+    m_activityStateChangeDispatcher = std::make_unique&lt;RunLoopObserver&gt;(activityStateChangeRunLoopOrder, [this] {
+        this-&gt;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-&gt;addExistingWebPage(this, m_pageID);
</span><span class="cx">     m_process-&gt;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-&gt;schedule();
</del><ins>+        m_activityStateChangeDispatcher-&gt;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 &amp;= ~flagsToUpdate;
-    if (flagsToUpdate &amp; ViewState::IsFocused &amp;&amp; m_pageClient.isViewFocused())
-        m_viewState |= ViewState::IsFocused;
-    if (flagsToUpdate &amp; ViewState::WindowIsActive &amp;&amp; m_pageClient.isViewWindowActive())
-        m_viewState |= ViewState::WindowIsActive;
-    if (flagsToUpdate &amp; ViewState::IsVisible &amp;&amp; m_pageClient.isViewVisible())
-        m_viewState |= ViewState::IsVisible;
-    if (flagsToUpdate &amp; ViewState::IsVisibleOrOccluded &amp;&amp; m_pageClient.isViewVisibleOrOccluded())
-        m_viewState |= ViewState::IsVisibleOrOccluded;
-    if (flagsToUpdate &amp; ViewState::IsInWindow &amp;&amp; m_pageClient.isViewInWindow())
-        m_viewState |= ViewState::IsInWindow;
-    if (flagsToUpdate &amp; ViewState::IsVisuallyIdle &amp;&amp; m_pageClient.isVisuallyIdle())
-        m_viewState |= ViewState::IsVisuallyIdle;
</del><ins>+    m_activityState &amp;= ~flagsToUpdate;
+    if (flagsToUpdate &amp; ActivityState::IsFocused &amp;&amp; m_pageClient.isViewFocused())
+        m_activityState |= ActivityState::IsFocused;
+    if (flagsToUpdate &amp; ActivityState::WindowIsActive &amp;&amp; m_pageClient.isViewWindowActive())
+        m_activityState |= ActivityState::WindowIsActive;
+    if (flagsToUpdate &amp; ActivityState::IsVisible &amp;&amp; m_pageClient.isViewVisible())
+        m_activityState |= ActivityState::IsVisible;
+    if (flagsToUpdate &amp; ActivityState::IsVisibleOrOccluded &amp;&amp; m_pageClient.isViewVisibleOrOccluded())
+        m_activityState |= ActivityState::IsVisibleOrOccluded;
+    if (flagsToUpdate &amp; ActivityState::IsInWindow &amp;&amp; m_pageClient.isViewInWindow())
+        m_activityState |= ActivityState::IsInWindow;
+    if (flagsToUpdate &amp; ActivityState::IsVisuallyIdle &amp;&amp; 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 &amp;&amp; dispatchMode != ViewStateChangeDispatchMode::Immediate)
</del><ins>+    if (m_suppressVisibilityUpdates &amp;&amp; dispatchMode != ActivityStateChangeDispatchMode::Immediate)
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    bool isNewlyInWindow = !isInWindow() &amp;&amp; (mayHaveChanged &amp; ViewState::IsInWindow) &amp;&amp; m_pageClient.isViewInWindow();
-    if (dispatchMode == ViewStateChangeDispatchMode::Immediate || isNewlyInWindow) {
-        dispatchViewStateChange();
</del><ins>+    bool isNewlyInWindow = !isInWindow() &amp;&amp; (mayHaveChanged &amp; ActivityState::IsInWindow) &amp;&amp; m_pageClient.isViewInWindow();
+    if (dispatchMode == ActivityStateChangeDispatchMode::Immediate || isNewlyInWindow) {
+        dispatchActivityStateChange();
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><del>-    m_viewStateChangeDispatcher-&gt;schedule();
</del><ins>+    m_activityStateChangeDispatcher-&gt;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-&gt;invalidate();
</del><ins>+    m_activityStateChangeDispatcher-&gt;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 &amp; occluded agnostic state.
</span><del>-    if (m_potentiallyChangedViewStateFlags &amp; ViewState::IsVisible)
-        m_potentiallyChangedViewStateFlags |= ViewState::IsVisibleOrOccluded | ViewState::IsVisuallyIdle;
</del><ins>+    if (m_potentiallyChangedActivityStateFlags &amp; 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 &amp; ViewState::IsInWindow) &amp;&amp; isInWindow();
</del><ins>+    bool isNowInWindow = (changed &amp; ActivityState::IsInWindow) &amp;&amp; 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 &amp;&amp; isNowInWindow &amp;&amp; m_drawingArea-&gt;hasVisibleContent() &amp;&amp; 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 &amp; ViewState::IsVisible))
-        m_viewStateChangeWantsSynchronousReply = false;
</del><ins>+    if (!(m_activityState &amp; ActivityState::IsVisible))
+        m_activityStateChangeWantsSynchronousReply = false;
</ins><span class="cx"> 
</span><del>-    if (changed || m_viewStateChangeWantsSynchronousReply || !m_nextViewStateChangeCallbacks.isEmpty())
-        m_process-&gt;send(Messages::WebPage::SetViewState(m_viewState, m_viewStateChangeWantsSynchronousReply, m_nextViewStateChangeCallbacks), m_pageID);
</del><ins>+    if (changed || m_activityStateChangeWantsSynchronousReply || !m_nextActivityStateChangeCallbacks.isEmpty())
+        m_process-&gt;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 &amp; ViewState::IsVisible) &amp;&amp; !isViewVisible())
</del><ins>+    if ((changed &amp; ActivityState::IsVisible) &amp;&amp; !isViewVisible())
</ins><span class="cx">         m_process-&gt;responsivenessTimer().stop();
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(POINTER_LOCK)
</span><del>-    if ((changed &amp; ViewState::IsVisible) &amp;&amp; !isViewVisible())
</del><ins>+    if ((changed &amp; ActivityState::IsVisible) &amp;&amp; !isViewVisible())
</ins><span class="cx">         requestPointerUnlock();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    if (changed &amp; ViewState::IsInWindow) {
</del><ins>+    if (changed &amp; 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 &amp; MediaProducer::IsPlayingAudio &amp;&amp; !(m_mutedState &amp; MediaProducer::AudioIsMuted);
</span><del>-    bool pageShouldBeSuppressed = !isLoading &amp;&amp; !isPlayingAudio &amp;&amp; processSuppressionEnabled &amp;&amp; (m_viewState &amp; ViewState::IsVisuallyIdle);
</del><ins>+    bool pageShouldBeSuppressed = !isLoading &amp;&amp; !isPlayingAudio &amp;&amp; processSuppressionEnabled &amp;&amp; (m_activityState &amp; ActivityState::IsVisuallyIdle);
</ins><span class="cx">     if (m_pageSuppressed != pageShouldBeSuppressed) {
</span><span class="cx">         m_pageSuppressed = pageShouldBeSuppressed;
</span><span class="cx">         m_process-&gt;send(Messages::WebPage::SetPageSuppressed(m_pageSuppressed), m_pageID);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (m_viewState &amp; ViewState::IsVisuallyIdle)
</del><ins>+    if (m_activityState &amp; 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-&gt;processPool().userObservablePageCount();
</span><span class="lines">@@ -1640,7 +1640,7 @@
</span><span class="cx">     m_process-&gt;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-&gt;waitForDidUpdateViewState();
</del><ins>+    m_drawingArea-&gt;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-&gt;type();
</span><span class="cx">     parameters.store = preferencesStore();
</span><span class="cx">     parameters.pageGroupData = m_pageGroup-&gt;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-&gt;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 &quot;WebPageProxyMessages.h&quot;
</span><span class="cx"> #include &quot;WebPopupMenuProxy.h&quot;
</span><span class="cx"> #include &quot;WebProcessLifetimeTracker.h&quot;
</span><ins>+#include &lt;WebCore/ActivityState.h&gt;
</ins><span class="cx"> #include &lt;WebCore/Color.h&gt;
</span><span class="cx"> #include &lt;WebCore/DragActions.h&gt;
</span><span class="cx"> #include &lt;WebCore/EventTrackingRegions.h&gt;
</span><span class="lines">@@ -73,7 +74,6 @@
</span><span class="cx"> #include &lt;WebCore/TextChecking.h&gt;
</span><span class="cx"> #include &lt;WebCore/TextGranularity.h&gt;
</span><span class="cx"> #include &lt;WebCore/UserInterfaceLayoutDirection.h&gt;
</span><del>-#include &lt;WebCore/ViewState.h&gt;
</del><span class="cx"> #include &lt;WebCore/VisibleSelection.h&gt;
</span><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</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 &amp; 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 &amp; 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 &amp; WebCore::ViewState::IsVisible; }
</del><ins>+    bool isViewVisible() const { return m_activityState &amp; WebCore::ActivityState::IsVisible; }
</ins><span class="cx">     bool isViewWindowActive() const;
</span><span class="cx"> 
</span><span class="cx">     void addMIMETypeWithCustomContentProvider(const String&amp; mimeType);
</span><span class="lines">@@ -1066,7 +1066,7 @@
</span><span class="cx"> 
</span><span class="cx">     void* immediateActionAnimationControllerForHitTestResult(RefPtr&lt;API::HitTestResult&gt;, uint64_t, RefPtr&lt;API::Object&gt;);
</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&amp;, WebProcessProxy&amp;, uint64_t pageID, Ref&lt;API::PageConfiguration&gt;&amp;&amp;);
</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&lt;String, String&gt; m_temporaryPDFFiles;
</span><del>-    std::unique_ptr&lt;WebCore::RunLoopObserver&gt; m_viewStateChangeDispatcher;
</del><ins>+    std::unique_ptr&lt;WebCore::RunLoopObserver&gt; m_activityStateChangeDispatcher;
</ins><span class="cx"> 
</span><span class="cx">     std::unique_ptr&lt;RemoteLayerTreeScrollingPerformanceData&gt; 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&lt;uint64_t&gt; m_nextViewStateChangeCallbacks;
</del><ins>+    WebCore::ActivityState::Flags m_potentiallyChangedActivityStateFlags;
+    bool m_activityStateChangeWantsSynchronousReply;
+    Vector&lt;uint64_t&gt; 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) -&gt; (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&amp; page : m_pageMap.values())
</span><del>-        page-&gt;viewStateDidChange(ViewState::IsVisuallyIdle);
</del><ins>+        page-&gt;activityStateDidChange(ActivityState::IsVisuallyIdle);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebProcessProxy::fetchWebsiteData(SessionID sessionID, OptionSet&lt;WebsiteDataType&gt; dataTypes, Function&lt;void (WebsiteData)&gt; 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 &quot;APIPageConfiguration.h&quot;
</span><span class="cx"> #include &quot;AcceleratedDrawingAreaProxy.h&quot;
</span><ins>+#include &quot;ActivityState.h&quot;
</ins><span class="cx"> #include &quot;CoordinatedGraphicsScene.h&quot;
</span><span class="cx"> #include &quot;CoordinatedLayerTreeHostProxy.h&quot;
</span><span class="cx"> #include &quot;DownloadManagerEfl.h&quot;
</span><span class="lines">@@ -38,7 +39,6 @@
</span><span class="cx"> #include &quot;InputMethodContextEfl.h&quot;
</span><span class="cx"> #include &quot;NativeWebMouseEvent.h&quot;
</span><span class="cx"> #include &quot;NotImplemented.h&quot;
</span><del>-#include &quot;ViewState.h&quot;
</del><span class="cx"> #include &quot;WebBackForwardList.h&quot;
</span><span class="cx"> #include &quot;WebBackForwardListItem.h&quot;
</span><span class="cx"> #include &quot;WebContextMenuProxyEfl.h&quot;
</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-&gt;applicationDidEnterBackground();
</span><del>-    _page-&gt;viewStateDidChange(ViewState::AllFlags &amp; ~ViewState::IsInWindow);
</del><ins>+    _page-&gt;activityStateDidChange(ActivityState::AllFlags &amp; ~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-&gt;applicationWillEnterForeground();
</span><del>-    _page-&gt;viewStateDidChange(ViewState::AllFlags &amp; ~ViewState::IsInWindow, true, WebPageProxy::ViewStateChangeDispatchMode::Immediate);
</del><ins>+    _page-&gt;activityStateDidChange(ActivityState::AllFlags &amp; ~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-&gt;_page-&gt;applicationDidEnterBackground();
</span><del>-    _webView-&gt;_page-&gt;viewStateDidChange(ViewState::AllFlags &amp; ~ViewState::IsInWindow);
</del><ins>+    _webView-&gt;_page-&gt;activityStateDidChange(ActivityState::AllFlags &amp; ~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-&gt;_page-&gt;applicationWillEnterForeground();
</span><span class="cx">     if (auto drawingArea = _webView-&gt;_page-&gt;drawingArea())
</span><span class="cx">         drawingArea-&gt;hideContentUntilAnyUpdate();
</span><del>-    _webView-&gt;_page-&gt;viewStateDidChange(ViewState::AllFlags &amp; ~ViewState::IsInWindow, true, WebPageProxy::ViewStateChangeDispatchMode::Immediate);
</del><ins>+    _webView-&gt;_page-&gt;activityStateDidChange(ActivityState::AllFlags &amp; ~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-&gt;waitForDidUpdateViewState();
</del><ins>+        m_drawingArea-&gt;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:@&quot;WebKitOverrideViewStateUpdateTimeout&quot;])
</del><ins>+    static std::chrono::milliseconds activityStateUpdateTimeout = [] {
+        if (id value = [[NSUserDefaults standardUserDefaults] objectForKey:@&quot;WebKitOverrideActivityStateUpdateTimeout&quot;])
</ins><span class="cx">             return std::chrono::duration_cast&lt;std::chrono::milliseconds&gt;(std::chrono::duration&lt;double&gt;([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()-&gt;waitForAndDispatchImmediately&lt;Messages::RemoteLayerTreeDrawingAreaProxy::CommitLayerTree&gt;(m_webPageProxy.pageID(), viewStateUpdateTimeout, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives);
</del><ins>+    m_webPageProxy.process().connection()-&gt;waitForAndDispatchImmediately&lt;Messages::RemoteLayerTreeDrawingAreaProxy::CommitLayerTree&gt;(m_webPageProxy.pageID(), activityStateUpdateTimeout, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing(std::function&lt;void (CallbackBase::Error)&gt; 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&lt;void (CallbackBase::Error)&gt;) 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()-&gt;waitForAndDispatchImmediately&lt;Messages::WebPageProxy::DidUpdateViewState&gt;(m_webPageProxy.pageID(), viewStateUpdateTimeout, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives);
</del><ins>+    auto activityStateUpdateTimeout = std::chrono::milliseconds(250);
+    m_webPageProxy.process().connection()-&gt;waitForAndDispatchImmediately&lt;Messages::WebPageProxy::DidUpdateActivityState&gt;(m_webPageProxy.pageID(), activityStateUpdateTimeout, IPC::WaitForOption::InterruptWaitingIfSyncMessageArrives);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange(const IntSize&amp; 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 &amp; ViewState::IsVisibleOrOccluded)
</del><ins>+    if (changed &amp; ActivityState::IsVisibleOrOccluded)
</ins><span class="cx">         m_plugin-&gt;windowVisibilityChanged(m_webPage-&gt;isVisibleOrOccluded());
</span><del>-    if (changed &amp; ViewState::WindowIsActive)
</del><ins>+    if (changed &amp; ActivityState::WindowIsActive)
</ins><span class="cx">         m_plugin-&gt;windowFocusChanged(m_webPage-&gt;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 &quot;Plugin.h&quot;
</span><span class="cx"> #include &quot;PluginController.h&quot;
</span><span class="cx"> #include &quot;WebFrame.h&quot;
</span><ins>+#include &lt;WebCore/ActivityState.h&gt;
</ins><span class="cx"> #include &lt;WebCore/FindOptions.h&gt;
</span><span class="cx"> #include &lt;WebCore/Image.h&gt;
</span><span class="cx"> #include &lt;WebCore/MediaCanStartListener.h&gt;
</span><span class="lines">@@ -39,7 +40,6 @@
</span><span class="cx"> #include &lt;WebCore/ResourceError.h&gt;
</span><span class="cx"> #include &lt;WebCore/ResourceResponse.h&gt;
</span><span class="cx"> #include &lt;WebCore/Timer.h&gt;
</span><del>-#include &lt;WebCore/ViewState.h&gt;
</del><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> #include &lt;wtf/Deque.h&gt;
</span><span class="cx"> #include &lt;wtf/RunLoop.h&gt;
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx">     void manualLoadDidFinishLoading();
</span><span class="cx">     void manualLoadDidFail(const WebCore::ResourceError&amp;);
</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&lt;uint64_t&gt;&amp;)
</del><ins>+void AcceleratedDrawingArea::activityStateDidChange(ActivityState::Flags changed, bool, const Vector&lt;uint64_t&gt;&amp;)
</ins><span class="cx"> {
</span><del>-    if (changed &amp; ViewState::IsVisible) {
</del><ins>+    if (changed &amp; 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&amp;) override;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    void viewStateDidChange(WebCore::ViewState::Flags, bool /* wantsDidUpdateViewState */, const Vector&lt;uint64_t&gt;&amp; /* callbackIDs */) override;
</del><ins>+    void activityStateDidChange(WebCore::ActivityState::Flags, bool /* wantsDidUpdateActivityState */, const Vector&lt;uint64_t&gt;&amp; /* 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 &quot;DrawingAreaInfo.h&quot;
</span><span class="cx"> #include &quot;LayerTreeContext.h&quot;
</span><span class="cx"> #include &quot;MessageReceiver.h&quot;
</span><ins>+#include &lt;WebCore/ActivityState.h&gt;
</ins><span class="cx"> #include &lt;WebCore/FloatRect.h&gt;
</span><span class="cx"> #include &lt;WebCore/IntRect.h&gt;
</span><span class="cx"> #include &lt;WebCore/LayerFlushThrottleState.h&gt;
</span><span class="cx"> #include &lt;WebCore/LayoutMilestones.h&gt;
</span><span class="cx"> #include &lt;WebCore/PlatformScreen.h&gt;
</span><del>-#include &lt;WebCore/ViewState.h&gt;
</del><span class="cx"> #include &lt;functional&gt;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void dispatchAfterEnsuringUpdatedScrollPosition(std::function&lt;void ()&gt;);
</span><span class="cx"> 
</span><del>-    virtual void viewStateDidChange(WebCore::ViewState::Flags, bool /* wantsDidUpdateViewState */, const Vector&lt;uint64_t&gt;&amp; /* callbackIDs */) { }
</del><ins>+    virtual void activityStateDidChange(WebCore::ActivityState::Flags, bool /* wantsDidUpdateActivityState */, const Vector&lt;uint64_t&gt;&amp; /* 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(&quot;Process suppression disabled for page.&quot;)
</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-&gt;setViewState(m_viewState);
</del><ins>+    m_page-&gt;setActivityState(m_activityState);
</ins><span class="cx">     if (!isVisible())
</span><span class="cx">         m_page-&gt;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&amp; parameters)
</span><span class="cx"> {
</span><del>-    if (m_viewState != parameters.viewState)
-        setViewState(parameters.viewState, false, Vector&lt;uint64_t&gt;());
</del><ins>+    if (m_activityState != parameters.activityState)
+        setActivityState(parameters.activityState, false, Vector&lt;uint64_t&gt;());
</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 &amp; WebCore::ViewState::IsInWindow;
</del><ins>+    bool isInWindow = m_activityState &amp; 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&lt;uint64_t&gt;&amp; callbackIDs)
</del><ins>+void WebPage::setActivityState(ActivityState::Flags activityState, bool wantsDidUpdateActivityState, const Vector&lt;uint64_t&gt;&amp; 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-&gt;setViewState(viewState);
</del><ins>+    m_page-&gt;setActivityState(activityState);
</ins><span class="cx">     for (auto* pluginView : m_pluginViews)
</span><del>-        pluginView-&gt;viewStateDidChange(changed);
</del><ins>+        pluginView-&gt;activityStateDidChange(changed);
</ins><span class="cx"> 
</span><del>-    m_drawingArea-&gt;viewStateDidChange(changed, wantsDidUpdateViewState, callbackIDs);
</del><ins>+    m_drawingArea-&gt;activityStateDidChange(changed, wantsDidUpdateActivityState, callbackIDs);
</ins><span class="cx"> 
</span><del>-    if (changed &amp; ViewState::IsInWindow)
</del><ins>+    if (changed &amp; 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 &quot;ShareableBitmap.h&quot;
</span><span class="cx"> #include &quot;UserData.h&quot;
</span><span class="cx"> #include &quot;UserMediaPermissionRequestManager.h&quot;
</span><ins>+#include &lt;WebCore/ActivityState.h&gt;
</ins><span class="cx"> #include &lt;WebCore/DictationAlternative.h&gt;
</span><span class="cx"> #include &lt;WebCore/DictionaryPopupInfo.h&gt;
</span><span class="cx"> #include &lt;WebCore/DragData.h&gt;
</span><span class="lines">@@ -68,7 +69,6 @@
</span><span class="cx"> #include &lt;WebCore/UserContentTypes.h&gt;
</span><span class="cx"> #include &lt;WebCore/UserInterfaceLayoutDirection.h&gt;
</span><span class="cx"> #include &lt;WebCore/UserScriptTypes.h&gt;
</span><del>-#include &lt;WebCore/ViewState.h&gt;
</del><span class="cx"> #include &lt;WebCore/ViewportConfiguration.h&gt;
</span><span class="cx"> #include &lt;WebCore/WebCoreKeyboardUIMode.h&gt;
</span><span class="cx"> #include &lt;memory&gt;
</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 &amp; WebCore::ViewState::IsVisible; }
-    bool isVisibleOrOccluded() const { return m_viewState &amp; WebCore::ViewState::IsVisibleOrOccluded; }
</del><ins>+    bool isVisible() const { return m_activityState &amp; WebCore::ActivityState::IsVisible; }
+    bool isVisibleOrOccluded() const { return m_activityState &amp; 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&amp;, uint64_t callbackID);
</span><span class="cx">     void updateIsInWindow(bool isInitialState = false);
</span><del>-    void setViewState(WebCore::ViewState::Flags, bool wantsDidUpdateViewState, const Vector&lt;uint64_t&gt;&amp; callbackIDs);
</del><ins>+    void setActivityState(WebCore::ActivityState::Flags, bool wantsDidUpdateActivityState, const Vector&lt;uint64_t&gt;&amp; callbackIDs);
</ins><span class="cx">     void validateCommand(const String&amp;, uint64_t);
</span><span class="cx">     void executeEditCommand(const String&amp;, const String&amp;);
</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 -&gt; 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&lt;uint64_t&gt; callbackIDs)
</del><ins>+    SetActivityState(unsigned activityState, bool wantsDidUpdateActivityState, Vector&lt;uint64_t&gt; 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&amp;) override;
</span><span class="cx"> 
</span><del>-    void viewStateDidChange(WebCore::ViewState::Flags changed, bool wantsDidUpdateViewState, const Vector&lt;uint64_t&gt;&amp; callbackIDs) override;
</del><ins>+    void activityStateDidChange(WebCore::ActivityState::Flags changed, bool wantsDidUpdateActivityState, const Vector&lt;uint64_t&gt;&amp; 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-&gt;sendMessage(WTFMove(m_commitEncoder), { });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RemoteLayerTreeDrawingArea::viewStateDidChange(ViewState::Flags, bool wantsDidUpdateViewState, const Vector&lt;uint64_t&gt;&amp;)
</del><ins>+void RemoteLayerTreeDrawingArea::activityStateDidChange(ActivityState::Flags, bool wantsDidUpdateActivityState, const Vector&lt;uint64_t&gt;&amp;)
</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&lt;uint64_t&gt;&amp;) override;
-    void didUpdateViewStateTimerFired();
</del><ins>+    void activityStateDidChange(WebCore::ActivityState::Flags changed, bool wantsDidUpdateActivityState, const Vector&lt;uint64_t&gt;&amp;) 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&lt;TiledCoreAnimationDrawingArea&gt; m_sendDidUpdateViewStateTimer;
-    Vector&lt;uint64_t&gt; m_nextViewStateChangeCallbackIDs;
-    bool m_wantsDidUpdateViewState;
</del><ins>+    RunLoop::Timer&lt;TiledCoreAnimationDrawingArea&gt; m_sendDidUpdateActivityStateTimer;
+    Vector&lt;uint64_t&gt; 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 &amp; ViewState::IsVisible))
</del><ins>+    , m_isPaintingSuspended(!(parameters.activityState &amp; ActivityState::IsVisible))
</ins><span class="cx">     , m_transientZoomScale(1)
</span><del>-    , m_sendDidUpdateViewStateTimer(RunLoop::main(), this, &amp;TiledCoreAnimationDrawingArea::didUpdateViewStateTimerFired)
-    , m_wantsDidUpdateViewState(false)
</del><ins>+    , m_sendDidUpdateActivityStateTimer(RunLoop::main(), this, &amp;TiledCoreAnimationDrawingArea::didUpdateActivityStateTimerFired)
+    , m_wantsDidUpdateActivityState(false)
</ins><span class="cx">     , m_viewOverlayRootLayer(nullptr)
</span><span class="cx"> {
</span><span class="cx">     m_webPage.corePage()-&gt;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&lt;uint64_t&gt;&amp; nextViewStateChangeCallbackIDs)
</del><ins>+void TiledCoreAnimationDrawingArea::activityStateDidChange(ActivityState::Flags changed, bool wantsDidUpdateActivityState, const Vector&lt;uint64_t&gt;&amp; 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 &amp; ViewState::IsVisible) {
</del><ins>+    if (changed &amp; 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>