summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorshishir@chromium.org <shishir@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-25 04:04:51 +0000
committershishir@chromium.org <shishir@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-25 04:04:51 +0000
commit4115f132109572ff1578f956d8a0a36e0c8f9af0 (patch)
tree14a3ce697314d47478bf403f91539d0e460bd395 /content
parent48ed7d9730837d59234126d3cc5dffb21e3e0225 (diff)
downloadchromium_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.cc9
-rw-r--r--content/renderer/render_view.h2
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 -------------------------------------