Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: chrome/browser/translate/translate_manager.cc

Issue 8515027: Define the public version of the browser side RenderProcessHost interface. This interface is not ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/translate/translate_manager.h" 5 #include "chrome/browser/translate/translate_manager.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 // When doing a page reload, we don't get a TAB_LANGUAGE_DETERMINED 286 // When doing a page reload, we don't get a TAB_LANGUAGE_DETERMINED
287 // notification. So we need to explictly initiate the translation. 287 // notification. So we need to explictly initiate the translation.
288 // Note that we delay it as the TranslateManager gets this notification 288 // Note that we delay it as the TranslateManager gets this notification
289 // before the TabContents and the TabContents processing might remove the 289 // before the TabContents and the TabContents processing might remove the
290 // current infobars. Since InitTranslation might add an infobar, it must 290 // current infobars. Since InitTranslation might add an infobar, it must
291 // be done after that. 291 // be done after that.
292 MessageLoop::current()->PostTask(FROM_HERE, 292 MessageLoop::current()->PostTask(FROM_HERE,
293 base::Bind( 293 base::Bind(
294 &TranslateManager::InitiateTranslationPosted, 294 &TranslateManager::InitiateTranslationPosted,
295 weak_method_factory_.GetWeakPtr(), 295 weak_method_factory_.GetWeakPtr(),
296 controller->tab_contents()->render_view_host()->process()->id(), 296 controller->tab_contents()->render_view_host()->process()->
297 GetID(),
297 controller->tab_contents()->render_view_host()->routing_id(), 298 controller->tab_contents()->render_view_host()->routing_id(),
298 helper->language_state().original_language())); 299 helper->language_state().original_language()));
299 break; 300 break;
300 } 301 }
301 case chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED: { 302 case chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED: {
302 TabContents* tab = content::Source<TabContents>(source).ptr(); 303 TabContents* tab = content::Source<TabContents>(source).ptr();
303 // We may get this notifications multiple times. Make sure to translate 304 // We may get this notifications multiple times. Make sure to translate
304 // only once. 305 // only once.
305 TabContentsWrapper* wrapper = 306 TabContentsWrapper* wrapper =
306 TabContentsWrapper::GetCurrentWrapperForContents(tab); 307 TabContentsWrapper::GetCurrentWrapperForContents(tab);
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
565 566
566 if (!translate_script_.empty()) { 567 if (!translate_script_.empty()) {
567 DoTranslatePage(tab_contents, translate_script_, source_lang, target_lang); 568 DoTranslatePage(tab_contents, translate_script_, source_lang, target_lang);
568 return; 569 return;
569 } 570 }
570 571
571 // The script is not available yet. Queue that request and query for the 572 // The script is not available yet. Queue that request and query for the
572 // script. Once it is downloaded we'll do the translate. 573 // script. Once it is downloaded we'll do the translate.
573 RenderViewHost* rvh = tab_contents->render_view_host(); 574 RenderViewHost* rvh = tab_contents->render_view_host();
574 PendingRequest request; 575 PendingRequest request;
575 request.render_process_id = rvh->process()->id(); 576 request.render_process_id = rvh->process()->GetID();
576 request.render_view_id = rvh->routing_id(); 577 request.render_view_id = rvh->routing_id();
577 request.page_id = entry->page_id(); 578 request.page_id = entry->page_id();
578 request.source_lang = source_lang; 579 request.source_lang = source_lang;
579 request.target_lang = target_lang; 580 request.target_lang = target_lang;
580 pending_requests_.push_back(request); 581 pending_requests_.push_back(request);
581 RequestTranslateScript(); 582 RequestTranslateScript();
582 } 583 }
583 584
584 void TranslateManager::RevertTranslation(TabContents* tab_contents) { 585 void TranslateManager::RevertTranslation(TabContents* tab_contents) {
585 NavigationEntry* entry = tab_contents->controller().GetActiveEntry(); 586 NavigationEntry* entry = tab_contents->controller().GetActiveEntry();
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 InfoBarTabHelper* infobar_helper = wrapper->infobar_tab_helper(); 829 InfoBarTabHelper* infobar_helper = wrapper->infobar_tab_helper();
829 830
830 for (size_t i = 0; i < infobar_helper->infobar_count(); ++i) { 831 for (size_t i = 0; i < infobar_helper->infobar_count(); ++i) {
831 TranslateInfoBarDelegate* delegate = 832 TranslateInfoBarDelegate* delegate =
832 infobar_helper->GetInfoBarDelegateAt(i)->AsTranslateInfoBarDelegate(); 833 infobar_helper->GetInfoBarDelegateAt(i)->AsTranslateInfoBarDelegate();
833 if (delegate) 834 if (delegate)
834 return delegate; 835 return delegate;
835 } 836 }
836 return NULL; 837 return NULL;
837 } 838 }
OLDNEW
« no previous file with comments | « chrome/browser/task_manager/task_manager_resource_providers.cc ('k') | chrome/browser/ui/browser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698