diff options
author | shishir@chromium.org <shishir@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-25 04:04:51 +0000 |
---|---|---|
committer | shishir@chromium.org <shishir@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-25 04:04:51 +0000 |
commit | 4115f132109572ff1578f956d8a0a36e0c8f9af0 (patch) | |
tree | 14a3ce697314d47478bf403f91539d0e460bd395 /content | |
parent | 48ed7d9730837d59234126d3cc5dffb21e3e0225 (diff) | |
download | chromium_src-4115f132109572ff1578f956d8a0a36e0c8f9af0.zip chromium_src-4115f132109572ff1578f956d8a0a36e0c8f9af0.tar.gz chromium_src-4115f132109572ff1578f956d8a0a36e0c8f9af0.tar.bz2 |
Enabling page visibility api in the chrome browser.
BUG=83286
TEST=None.
Review URL: http://codereview.chromium.org/7036019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86569 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/renderer/render_view.cc | 9 | ||||
-rw-r--r-- | content/renderer/render_view.h | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc index a7c5f8f1..d59c4c29 100644 --- a/content/renderer/render_view.cc +++ b/content/renderer/render_view.cc @@ -3878,6 +3878,7 @@ void RenderView::OnWasHidden() { if (webview()) { webview()->settings()->setMinimumTimerInterval( webkit_glue::kBackgroundTabTimerInterval); + webview()->setVisibilityState(WebKit::WebPageVisibilityStateHidden, false); } #if defined(OS_MACOSX) @@ -3896,6 +3897,7 @@ void RenderView::OnWasRestored(bool needs_repainting) { if (webview()) { webview()->settings()->setMinimumTimerInterval( webkit_glue::kForegroundTabTimerInterval); + webview()->setVisibilityState(WebKit::WebPageVisibilityStateVisible, false); } #if defined(OS_MACOSX) @@ -4096,6 +4098,13 @@ void RenderView::registerProtocolHandler(const WebString& scheme, title)); } +WebKit::WebPageVisibilityState RenderView::visibilityState() const { + if (is_hidden()) + return WebKit::WebPageVisibilityStateHidden; + else + return WebKit::WebPageVisibilityStateVisible; +} + bool RenderView::IsNonLocalTopLevelNavigation( const GURL& url, WebKit::WebFrame* frame, WebKit::WebNavigationType type) { // Must be a top level frame. diff --git a/content/renderer/render_view.h b/content/renderer/render_view.h index ac79586..b89e386 100644 --- a/content/renderer/render_view.h +++ b/content/renderer/render_view.h @@ -35,6 +35,7 @@ #include "third_party/WebKit/Source/WebKit/chromium/public/WebFrameClient.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebIconURL.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebNode.h" +#include "third_party/WebKit/Source/WebKit/chromium/public/WebPageVisibilityState.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebTextDirection.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebViewClient.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebNavigationType.h" @@ -428,6 +429,7 @@ class RenderView : public RenderWidget, const WebKit::WebString& base_url, const WebKit::WebString& url, const WebKit::WebString& title); + virtual WebKit::WebPageVisibilityState visibilityState() const; // WebKit::WebFrameClient implementation ------------------------------------- |