summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_view.cc
diff options
context:
space:
mode:
authorjcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-16 18:35:52 +0000
committerjcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-16 18:35:52 +0000
commit47c5103a4c932bd88ed0a623d30cd6ff5cab0b44 (patch)
treeb1cc5329401dfb157f977dc68a7b0844836cabef /chrome/renderer/render_view.cc
parente6dd571eecc5b3bbcf1151a805ff2fadcf02f979 (diff)
downloadchromium_src-47c5103a4c932bd88ed0a623d30cd6ff5cab0b44.zip
chromium_src-47c5103a4c932bd88ed0a623d30cd6ff5cab0b44.tar.gz
chromium_src-47c5103a4c932bd88ed0a623d30cd6ff5cab0b44.tar.bz2
Makes the language detection happen with every page load
as we do with the page indexing. (The language detection was previously done on demand when the extension related API was querying it.) Once detected the language is stored on the navigation entry. It'll be used for the upcoming translation feature. Also I moved the existing language detection from the UI to the file thread. The change required few changes for the chrome.tabs.detectLanguage extension API to still work. BUG=None TEST=Run the browser tests and unit-tests. Review URL: http://codereview.chromium.org/492024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34728 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_view.cc')
-rw-r--r--chrome/renderer/render_view.cc43
1 files changed, 5 insertions, 38 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index baac373..c27fb1c 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -245,7 +245,6 @@ RenderView::RenderView(RenderThreadBase* render_thread,
send_preferred_size_changes_(false),
ALLOW_THIS_IN_INITIALIZER_LIST(
notification_provider_(new NotificationProvider(this))),
- determine_page_text_after_loading_stops_(false),
view_type_(ViewType::INVALID),
browser_window_id_(-1),
last_top_level_navigation_page_id_(-1),
@@ -430,7 +429,6 @@ void RenderView::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(ViewMsg_CopyImageAt, OnCopyImageAt)
IPC_MESSAGE_HANDLER(ViewMsg_ExecuteEditCommand, OnExecuteEditCommand)
IPC_MESSAGE_HANDLER(ViewMsg_Find, OnFind)
- IPC_MESSAGE_HANDLER(ViewMsg_DeterminePageText, OnDeterminePageText)
IPC_MESSAGE_HANDLER(ViewMsg_Zoom, OnZoom)
IPC_MESSAGE_HANDLER(ViewMsg_SetZoomLevelForLoadingHost,
OnSetZoomLevelForLoadingHost)
@@ -582,23 +580,18 @@ void RenderView::CapturePageInfo(int load_id, bool preliminary_capture) {
if (!preliminary_capture)
last_indexed_page_id_ = load_id;
- // get the URL for this page
+ // Get the URL for this page.
GURL url(main_frame->url());
if (url.is_empty())
return;
- // full text
+ // Retrieve the frame's full text.
std::wstring contents;
CaptureText(main_frame, &contents);
if (contents.size()) {
- // Send the text to the browser for indexing.
- Send(new ViewHostMsg_PageContents(url, load_id, contents));
- }
-
- // Send over text content of this page to the browser.
- if (determine_page_text_after_loading_stops_) {
- determine_page_text_after_loading_stops_ = false;
- Send(new ViewMsg_DeterminePageText_Reply(routing_id_, contents));
+ // Send the text to the browser for indexing (the browser might decide not
+ // to index, if the URL is HTTPS for instance) and language discovery.
+ Send(new ViewHostMsg_PageContents(routing_id_, url, load_id, contents));
}
// thumbnail
@@ -610,15 +603,6 @@ void RenderView::CaptureText(WebFrame* frame, std::wstring* contents) {
if (!frame)
return;
- // Don't index any https pages. People generally don't want their bank
- // accounts, etc. indexed on their computer, especially since some of these
- // things are not marked cachable.
- // TODO(brettw) we may want to consider more elaborate heuristics such as
- // the cachability of the page. We may also want to consider subframes (this
- // test will still index subframes if the subframe is SSL).
- if (GURL(frame->url()).SchemeIsSecure())
- return;
-
#ifdef TIME_TEXT_RETRIEVAL
double begin = time_util::GetHighResolutionTimeNow();
#endif
@@ -2964,23 +2948,6 @@ void RenderView::OnFind(int request_id, const string16& search_text,
}
}
-void RenderView::OnDeterminePageText() {
- if (!is_loading_) {
- if (!webview())
- return;
- WebFrame* main_frame = webview()->mainFrame();
- std::wstring contents;
- CaptureText(main_frame, &contents);
- Send(new ViewMsg_DeterminePageText_Reply(routing_id_, contents));
- determine_page_text_after_loading_stops_ = false;
- return;
- }
-
- // We set |determine_page_text_after_loading_stops_| true here so that,
- // after page has been loaded completely, the text in the page is captured.
- determine_page_text_after_loading_stops_ = true;
-}
-
void RenderView::DnsPrefetch(const std::vector<std::string>& host_names) {
Send(new ViewHostMsg_DnsPrefetch(host_names));
}