Index: content/renderer/render_view.cc |
diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc |
index 012594724e5e9c40e78a31a48657a470a5eb1e6d..98716da8f6042b0eec880873cd616271221f61ed 100644 |
--- a/content/renderer/render_view.cc |
+++ b/content/renderer/render_view.cc |
@@ -717,6 +717,13 @@ void RenderView::OnNavigate(const ViewMsg_Navigate_Params& params) { |
is_reload = false; |
} |
+ // Correct the visible state of the webview before loading a document. |
+ if (params.is_hidden) { |
brettw
2011/05/18 22:11:38
Prefer no {} for single-line conditionals (prevail
Shishir
2011/05/20 03:48:19
Removed {} around condition.
At this point the is
|
+ webview()->setVisibilityState(WebKit::WebPageVisibilityStateHidden, true); |
+ } else { |
+ webview()->setVisibilityState(WebKit::WebPageVisibilityStateVisible, true); |
+ } |
+ |
// A navigation resulting from loading a javascript URL should not be treated |
// as a browser initiated event. Instead, we want it to look as if the page |
// initiated any load resulting from JS execution. |
@@ -3879,6 +3886,7 @@ void RenderView::OnWasHidden() { |
if (webview()) { |
webview()->settings()->setMinimumTimerInterval( |
webkit_glue::kBackgroundTabTimerInterval); |
+ webview()->setVisibilityState(WebKit::WebPageVisibilityStateHidden, false); |
} |
#if defined(OS_MACOSX) |
@@ -3897,6 +3905,7 @@ void RenderView::OnWasRestored(bool needs_repainting) { |
if (webview()) { |
webview()->settings()->setMinimumTimerInterval( |
webkit_glue::kForegroundTabTimerInterval); |
+ webview()->setVisibilityState(WebKit::WebPageVisibilityStateVisible, false); |
} |
#if defined(OS_MACOSX) |
@@ -4097,6 +4106,14 @@ void RenderView::registerProtocolHandler(const WebString& scheme, |
title)); |
} |
+WebKit::WebPageVisibilityState RenderView::visibilityState() const { |
+ if (is_hidden()) { |
brettw
2011/05/18 22:11:38
Ditto remove the {}
Shishir
2011/05/20 03:48:19
Done.
|
+ 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. |