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

Unified Diff: chrome/browser/translate/translate_tab_helper.h

Issue 227363005: Move reload processing from TranslateManager to TranslateTabHelper. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Response to review 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_tab_helper.h
diff --git a/chrome/browser/translate/translate_tab_helper.h b/chrome/browser/translate/translate_tab_helper.h
index ed5054d7c17fae2487c5e9c12f2388ba765ab0ad..745b30705f82235d78a19ca9ba2ac8895ae995f0 100644
--- a/chrome/browser/translate/translate_tab_helper.h
+++ b/chrome/browser/translate/translate_tab_helper.h
@@ -8,6 +8,7 @@
#include <string>
#include "base/memory/scoped_ptr.h"
+#include "base/memory/weak_ptr.h"
#include "chrome/browser/ui/translate/translate_bubble_model.h"
#include "components/translate/content/browser/content_translate_driver.h"
#include "components/translate/core/browser/translate_client.h"
@@ -19,7 +20,6 @@
#if defined(CLD2_DYNAMIC_MODE)
#include "base/basictypes.h"
#include "base/lazy_instance.h"
-#include "base/memory/weak_ptr.h"
#include "base/synchronization/lock.h"
#include "base/task_runner.h"
#endif
@@ -78,6 +78,11 @@ class TranslateTabHelper
// destroyed.
content::WebContents* GetWebContents();
+ // Number of attempts before waiting for a page to be fully reloaded.
+ void set_translate_max_reload_attempts(int attempts) {
+ max_reload_check_attempts_ = attempts;
+ }
+
// TranslateClient implementation.
virtual TranslateDriver* GetTranslateDriver() OVERRIDE;
virtual PrefService* GetPrefs() OVERRIDE;
@@ -94,6 +99,8 @@ class TranslateTabHelper
friend class content::WebContentsUserData<TranslateTabHelper>;
// content::WebContentsObserver implementation.
+ virtual void NavigationEntryCommitted(
+ const content::LoadCommittedDetails& load_details) OVERRIDE;
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
virtual void DidNavigateAnyFrame(
const content::LoadCommittedDetails& details,
@@ -101,6 +108,8 @@ class TranslateTabHelper
virtual void WebContentsDestroyed(
content::WebContents* web_contents) OVERRIDE;
+ // Initiates translation once the page is finished loading.
+ void InitiateTranslation(const std::string& page_lang, int attempt);
void OnLanguageDetermined(const LanguageDetectionDetails& details,
bool page_needs_translation);
void OnPageTranslated(int32 page_id,
@@ -132,10 +141,6 @@ class TranslateTabHelper
const uint64 data_offset,
const uint64 data_length);
- // Necessary for binding the callback to HandleCLDDataRequest on the blocking
- // pool.
- base::WeakPtrFactory<TranslateTabHelper> weak_pointer_factory_;
-
// The data file, cached as long as the process stays alive.
// We also track the offset at which the data starts, and its length.
static base::File* s_cached_file_; // guarded by file_lock_
@@ -151,9 +156,17 @@ class TranslateTabHelper
void ShowBubble(translate::TranslateStep step,
TranslateErrors::Type error_type);
+ // Max number of attempts before checking if a page has been reloaded.
+ int max_reload_check_attempts_;
+
ContentTranslateDriver translate_driver_;
scoped_ptr<TranslateManager> translate_manager_;
+ // Necessary for binding the callback to HandleCLDDataRequest on the blocking
+ // pool and for delaying translation initialization until the page has
+ // finished loading on a reload.
+ base::WeakPtrFactory<TranslateTabHelper> weak_pointer_factory_;
+
DISALLOW_COPY_AND_ASSIGN(TranslateTabHelper);
};

Powered by Google App Engine
This is Rietveld 408576698