diff options
author | jcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-16 18:35:52 +0000 |
---|---|---|
committer | jcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-16 18:35:52 +0000 |
commit | 47c5103a4c932bd88ed0a623d30cd6ff5cab0b44 (patch) | |
tree | b1cc5329401dfb157f977dc68a7b0844836cabef /chrome/renderer/render_view.cc | |
parent | e6dd571eecc5b3bbcf1151a805ff2fadcf02f979 (diff) | |
download | chromium_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.cc | 43 |
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)); } |