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

Unified Diff: chrome/browser/translate/translate_manager.cc

Issue 228483003: Remove most content-level dependencies from TranslateManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Nits Created 6 years, 8 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/translate/translate_manager.cc
diff --git a/chrome/browser/translate/translate_manager.cc b/chrome/browser/translate/translate_manager.cc
index cc2fea6d1c7fd868c5132bd0d96e8a073b39b32d..0868817233e0b63c704b7afcc4434c2d6ddaef43 100644
--- a/chrome/browser/translate/translate_manager.cc
+++ b/chrome/browser/translate/translate_manager.cc
@@ -17,8 +17,6 @@
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_tabstrip.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/common/url_constants.h"
-#include "components/translate/content/common/translate_messages.h"
#include "components/translate/core/browser/language_state.h"
#include "components/translate/core/browser/page_translated_details.h"
#include "components/translate/core/browser/translate_accept_languages.h"
@@ -35,16 +33,10 @@
#include "components/translate/core/common/translate_constants.h"
#include "components/translate/core/common/translate_pref_names.h"
#include "components/translate/core/common/translate_switches.h"
-#include "content/public/browser/navigation_controller.h"
-#include "content/public/browser/navigation_entry.h"
-#include "content/public/browser/render_process_host.h"
-#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
#include "net/base/url_util.h"
#include "net/http/http_status_code.h"
-using content::NavigationController;
-using content::NavigationEntry;
using content::WebContents;
namespace {
@@ -124,8 +116,7 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) {
// MHTML pages currently cannot be translated.
// See bug: 217945.
- WebContents* web_contents = translate_tab_helper_->GetWebContents();
- if (web_contents->GetContentsMimeType() == "multipart/related") {
+ if (translate_driver_->GetContentsMimeType() == "multipart/related") {
TranslateBrowserMetrics::ReportInitiationStatus(
TranslateBrowserMetrics::INITIATION_STATUS_MIME_TYPE_IS_NOT_SUPPORTED);
return;
@@ -133,7 +124,7 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) {
// Don't translate any Chrome specific page, e.g., New Tab Page, Download,
// History, and so on.
- GURL page_url = web_contents->GetURL();
+ const GURL& page_url = translate_driver_->GetVisibleURL();
if (!translate_client_->IsTranslatableURL(page_url)) {
TranslateBrowserMetrics::ReportInitiationStatus(
TranslateBrowserMetrics::INITIATION_STATUS_URL_IS_NOT_SUPPORTED);
@@ -224,10 +215,7 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) {
void TranslateManager::TranslatePage(const std::string& original_source_lang,
const std::string& target_lang,
bool triggered_from_menu) {
- WebContents* web_contents = translate_tab_helper_->GetWebContents();
- DCHECK(web_contents);
- NavigationEntry* entry = web_contents->GetController().GetActiveEntry();
- if (!entry) {
+ if (!translate_driver_->HasCurrentPage()) {
NOTREACHED();
return;
}
@@ -260,7 +248,7 @@ void TranslateManager::TranslatePage(const std::string& original_source_lang,
TranslateScript::RequestCallback callback =
base::Bind(&TranslateManager::OnTranslateScriptFetchComplete,
weak_method_factory_.GetWeakPtr(),
- entry->GetPageID(),
+ translate_driver_->GetCurrentPageID(),
source_lang,
target_lang);
@@ -285,11 +273,10 @@ void TranslateManager::ReportLanguageDetectionError() {
GURL report_error_url = GURL(kReportLanguageDetectionErrorURL);
- GURL page_url = web_contents->GetController().GetActiveEntry()->GetURL();
- report_error_url = net::AppendQueryParameter(
- report_error_url,
- kUrlQueryName,
- page_url.spec());
+ report_error_url =
+ net::AppendQueryParameter(report_error_url,
+ kUrlQueryName,
+ translate_driver_->GetActiveURL().spec());
droger 2014/04/08 12:01:28 I'm sure you know this is related to http://crbug.
blundell 2014/04/08 12:46:02 I was planning on leaving this code in TranslateMa
droger 2014/04/08 13:01:21 I think this is fine, yes. Initially I had another
report_error_url = net::AppendQueryParameter(
report_error_url,
@@ -328,12 +315,11 @@ void TranslateManager::PageTranslated(const std::string& source_lang,
error_type,
false);
- WebContents* web_contents = translate_tab_helper_->GetWebContents();
if (error_type != TranslateErrors::NONE &&
!translate_driver_->IsOffTheRecord()) {
TranslateErrorDetails error_details;
error_details.time = base::Time::Now();
- error_details.url = web_contents->GetLastCommittedURL();
+ error_details.url = translate_driver_->GetLastCommittedURL();
error_details.error = error_type;
NotifyTranslateError(error_details);
}
@@ -345,10 +331,8 @@ void TranslateManager::OnTranslateScriptFetchComplete(
const std::string& target_lang,
bool success,
const std::string& data) {
- WebContents* web_contents = translate_tab_helper_->GetWebContents();
- DCHECK(web_contents);
- NavigationEntry* entry = web_contents->GetController().GetActiveEntry();
- if (!entry || entry->GetPageID() != page_id) {
+ if (!translate_driver_->HasCurrentPage() ||
+ translate_driver_->GetCurrentPageID() != page_id) {
// We navigated away from the page the translation was triggered on.
return;
}
@@ -369,7 +353,7 @@ void TranslateManager::OnTranslateScriptFetchComplete(
if (!translate_driver_->IsOffTheRecord()) {
TranslateErrorDetails error_details;
error_details.time = base::Time::Now();
- error_details.url = entry->GetURL();
+ error_details.url = translate_driver_->GetActiveURL();
error_details.error = TranslateErrors::NETWORK;
NotifyTranslateError(error_details);
}

Powered by Google App Engine
This is Rietveld 408576698