Index: chrome/renderer/chrome_render_view_observer.cc |
=================================================================== |
--- chrome/renderer/chrome_render_view_observer.cc (revision 81751) |
+++ chrome/renderer/chrome_render_view_observer.cc (working copy) |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/renderer/chrome_render_observer.h" |
+#include "chrome/renderer/chrome_render_view_observer.h" |
#include "base/command_line.h" |
#include "base/message_loop.h" |
@@ -10,8 +10,10 @@ |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/render_messages.h" |
#include "chrome/common/thumbnail_score.h" |
+#include "chrome/renderer/about_handler.h" |
#include "chrome/renderer/safe_browsing/phishing_classifier_delegate.h" |
#include "chrome/renderer/translate_helper.h" |
+#include "content/common/view_messages.h" |
#include "content/renderer/content_renderer_client.h" |
#include "content/renderer/render_view.h" |
#include "skia/ext/bitmap_platform_device.h" |
@@ -83,7 +85,7 @@ |
return static_cast<double>(color_count) / pixel_count; |
} |
-ChromeRenderObserver::ChromeRenderObserver( |
+ChromeRenderViewObserver::ChromeRenderViewObserver( |
RenderView* render_view, |
TranslateHelper* translate_helper, |
safe_browsing::PhishingClassifierDelegate* phishing_classifier) |
@@ -94,19 +96,25 @@ |
ALLOW_THIS_IN_INITIALIZER_LIST(page_info_method_factory_(this)) { |
} |
-ChromeRenderObserver::~ChromeRenderObserver() { |
+ChromeRenderViewObserver::~ChromeRenderViewObserver() { |
} |
-bool ChromeRenderObserver::OnMessageReceived(const IPC::Message& message) { |
+bool ChromeRenderViewObserver::OnMessageReceived(const IPC::Message& message) { |
bool handled = true; |
- IPC_BEGIN_MESSAGE_MAP(ChromeRenderObserver, message) |
+ IPC_BEGIN_MESSAGE_MAP(ChromeRenderViewObserver, message) |
IPC_MESSAGE_HANDLER(ViewMsg_CaptureSnapshot, OnCaptureSnapshot) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
+ |
+ // Filter only. |
+ IPC_BEGIN_MESSAGE_MAP(ChromeRenderViewObserver, message) |
+ IPC_MESSAGE_HANDLER(ViewMsg_Navigate, OnNavigate) |
+ IPC_END_MESSAGE_MAP() |
+ |
return handled; |
} |
-void ChromeRenderObserver::OnCaptureSnapshot() { |
+void ChromeRenderViewObserver::OnCaptureSnapshot() { |
SkBitmap snapshot; |
bool error = false; |
@@ -124,30 +132,35 @@ |
Send(new ViewHostMsg_Snapshot(routing_id(), snapshot)); |
} |
-void ChromeRenderObserver::DidStopLoading() { |
+void ChromeRenderViewObserver::OnNavigate( |
+ const ViewMsg_Navigate_Params& params) { |
+ AboutHandler::MaybeHandle(params.url); |
+} |
+ |
+void ChromeRenderViewObserver::DidStopLoading() { |
MessageLoop::current()->PostDelayedTask( |
FROM_HERE, |
page_info_method_factory_.NewRunnableMethod( |
- &ChromeRenderObserver::CapturePageInfo, render_view()->page_id(), |
+ &ChromeRenderViewObserver::CapturePageInfo, render_view()->page_id(), |
false), |
render_view()->content_state_immediately() ? 0 : kDelayForCaptureMs); |
} |
-void ChromeRenderObserver::DidCommitProvisionalLoad(WebFrame* frame, |
- bool is_new_navigation) { |
+void ChromeRenderViewObserver::DidCommitProvisionalLoad( |
+ WebFrame* frame, bool is_new_navigation) { |
if (!is_new_navigation) |
return; |
MessageLoop::current()->PostDelayedTask( |
FROM_HERE, |
page_info_method_factory_.NewRunnableMethod( |
- &ChromeRenderObserver::CapturePageInfo, render_view()->page_id(), |
+ &ChromeRenderViewObserver::CapturePageInfo, render_view()->page_id(), |
true), |
kDelayForForcedCaptureMs); |
} |
-void ChromeRenderObserver::CapturePageInfo(int load_id, |
- bool preliminary_capture) { |
+void ChromeRenderViewObserver::CapturePageInfo(int load_id, |
+ bool preliminary_capture) { |
if (load_id != render_view()->page_id()) |
return; // This capture call is no longer relevant due to navigation. |
@@ -203,7 +216,8 @@ |
phishing_classifier_->PageCaptured(&contents, preliminary_capture); |
} |
-void ChromeRenderObserver::CaptureText(WebFrame* frame, string16* contents) { |
+void ChromeRenderViewObserver::CaptureText(WebFrame* frame, |
+ string16* contents) { |
contents->clear(); |
if (!frame) |
return; |
@@ -234,7 +248,7 @@ |
} |
} |
-void ChromeRenderObserver::CaptureThumbnail() { |
+void ChromeRenderViewObserver::CaptureThumbnail() { |
WebFrame* main_frame = render_view()->webview()->mainFrame(); |
if (!main_frame) |
return; |
@@ -257,11 +271,11 @@ |
Send(new ViewHostMsg_Thumbnail(routing_id(), url, score, thumbnail)); |
} |
-bool ChromeRenderObserver::CaptureFrameThumbnail(WebView* view, |
- int w, |
- int h, |
- SkBitmap* thumbnail, |
- ThumbnailScore* score) { |
+bool ChromeRenderViewObserver::CaptureFrameThumbnail(WebView* view, |
+ int w, |
+ int h, |
+ SkBitmap* thumbnail, |
+ ThumbnailScore* score) { |
base::TimeTicks beginning_time = base::TimeTicks::Now(); |
skia::PlatformCanvas canvas; |
@@ -326,7 +340,8 @@ |
return true; |
} |
-bool ChromeRenderObserver::CaptureSnapshot(WebView* view, SkBitmap* snapshot) { |
+bool ChromeRenderViewObserver::CaptureSnapshot(WebView* view, |
+ SkBitmap* snapshot) { |
base::TimeTicks beginning_time = base::TimeTicks::Now(); |
skia::PlatformCanvas canvas; |