OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef COMPONENTS_TRANSLATE_CONTENT_BROWSER_CONTENT_TRANSLATE_DRIVER_H_ | 5 #ifndef COMPONENTS_TRANSLATE_CONTENT_BROWSER_CONTENT_TRANSLATE_DRIVER_H_ |
6 #define COMPONENTS_TRANSLATE_CONTENT_BROWSER_CONTENT_TRANSLATE_DRIVER_H_ | 6 #define COMPONENTS_TRANSLATE_CONTENT_BROWSER_CONTENT_TRANSLATE_DRIVER_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/weak_ptr.h" | 9 #include "base/memory/weak_ptr.h" |
10 #include "base/observer_list.h" | 10 #include "base/observer_list.h" |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 virtual void OnPageTranslated( | 44 virtual void OnPageTranslated( |
45 const std::string& original_lang, | 45 const std::string& original_lang, |
46 const std::string& translated_lang, | 46 const std::string& translated_lang, |
47 translate::TranslateErrors::Type error_type) {}; | 47 translate::TranslateErrors::Type error_type) {}; |
48 | 48 |
49 protected: | 49 protected: |
50 virtual ~Observer() {} | 50 virtual ~Observer() {} |
51 }; | 51 }; |
52 | 52 |
53 ContentTranslateDriver(content::NavigationController* nav_controller); | 53 ContentTranslateDriver(content::NavigationController* nav_controller); |
54 virtual ~ContentTranslateDriver(); | 54 ~ContentTranslateDriver() override; |
55 | 55 |
56 // Adds or Removes observers. | 56 // Adds or Removes observers. |
57 void AddObserver(Observer* observer); | 57 void AddObserver(Observer* observer); |
58 void RemoveObserver(Observer* observer); | 58 void RemoveObserver(Observer* observer); |
59 | 59 |
60 // Number of attempts before waiting for a page to be fully reloaded. | 60 // Number of attempts before waiting for a page to be fully reloaded. |
61 void set_translate_max_reload_attempts(int attempts) { | 61 void set_translate_max_reload_attempts(int attempts) { |
62 max_reload_check_attempts_ = attempts; | 62 max_reload_check_attempts_ = attempts; |
63 } | 63 } |
64 | 64 |
65 // Sets the TranslateManager associated with this driver. | 65 // Sets the TranslateManager associated with this driver. |
66 void set_translate_manager(TranslateManager* manager) { | 66 void set_translate_manager(TranslateManager* manager) { |
67 translate_manager_ = manager; | 67 translate_manager_ = manager; |
68 } | 68 } |
69 | 69 |
70 // Initiates translation once the page is finished loading. | 70 // Initiates translation once the page is finished loading. |
71 void InitiateTranslation(const std::string& page_lang, int attempt); | 71 void InitiateTranslation(const std::string& page_lang, int attempt); |
72 | 72 |
73 // TranslateDriver methods. | 73 // TranslateDriver methods. |
74 virtual void OnIsPageTranslatedChanged() override; | 74 void OnIsPageTranslatedChanged() override; |
75 virtual void OnTranslateEnabledChanged() override; | 75 void OnTranslateEnabledChanged() override; |
76 virtual bool IsLinkNavigation() override; | 76 bool IsLinkNavigation() override; |
77 virtual void TranslatePage(int page_seq_no, | 77 void TranslatePage(int page_seq_no, |
78 const std::string& translate_script, | 78 const std::string& translate_script, |
79 const std::string& source_lang, | 79 const std::string& source_lang, |
80 const std::string& target_lang) override; | 80 const std::string& target_lang) override; |
81 virtual void RevertTranslation(int page_seq_no) override; | 81 void RevertTranslation(int page_seq_no) override; |
82 virtual bool IsOffTheRecord() override; | 82 bool IsOffTheRecord() override; |
83 virtual const std::string& GetContentsMimeType() override; | 83 const std::string& GetContentsMimeType() override; |
84 virtual const GURL& GetLastCommittedURL() override; | 84 const GURL& GetLastCommittedURL() override; |
85 virtual const GURL& GetActiveURL() override; | 85 const GURL& GetActiveURL() override; |
86 virtual const GURL& GetVisibleURL() override; | 86 const GURL& GetVisibleURL() override; |
87 virtual bool HasCurrentPage() override; | 87 bool HasCurrentPage() override; |
88 virtual void OpenUrlInNewTab(const GURL& url) override; | 88 void OpenUrlInNewTab(const GURL& url) override; |
89 | 89 |
90 // content::WebContentsObserver implementation. | 90 // content::WebContentsObserver implementation. |
91 virtual void NavigationEntryCommitted( | 91 void NavigationEntryCommitted( |
92 const content::LoadCommittedDetails& load_details) override; | 92 const content::LoadCommittedDetails& load_details) override; |
93 virtual void DidNavigateAnyFrame( | 93 void DidNavigateAnyFrame(content::RenderFrameHost* render_frame_host, |
94 content::RenderFrameHost* render_frame_host, | 94 const content::LoadCommittedDetails& details, |
95 const content::LoadCommittedDetails& details, | 95 const content::FrameNavigateParams& params) override; |
96 const content::FrameNavigateParams& params) override; | 96 bool OnMessageReceived(const IPC::Message& message) override; |
97 virtual bool OnMessageReceived(const IPC::Message& message) override; | |
98 | 97 |
99 // IPC handlers. | 98 // IPC handlers. |
100 void OnTranslateAssignedSequenceNumber(int page_seq_no); | 99 void OnTranslateAssignedSequenceNumber(int page_seq_no); |
101 void OnLanguageDetermined(const LanguageDetectionDetails& details, | 100 void OnLanguageDetermined(const LanguageDetectionDetails& details, |
102 bool page_needs_translation); | 101 bool page_needs_translation); |
103 void OnPageTranslated(const std::string& original_lang, | 102 void OnPageTranslated(const std::string& original_lang, |
104 const std::string& translated_lang, | 103 const std::string& translated_lang, |
105 TranslateErrors::Type error_type); | 104 TranslateErrors::Type error_type); |
106 | 105 |
107 private: | 106 private: |
108 // The navigation controller of the tab we are associated with. | 107 // The navigation controller of the tab we are associated with. |
109 content::NavigationController* navigation_controller_; | 108 content::NavigationController* navigation_controller_; |
110 | 109 |
111 TranslateManager* translate_manager_; | 110 TranslateManager* translate_manager_; |
112 | 111 |
113 ObserverList<Observer, true> observer_list_; | 112 ObserverList<Observer, true> observer_list_; |
114 | 113 |
115 // Max number of attempts before checking if a page has been reloaded. | 114 // Max number of attempts before checking if a page has been reloaded. |
116 int max_reload_check_attempts_; | 115 int max_reload_check_attempts_; |
117 | 116 |
118 base::WeakPtrFactory<ContentTranslateDriver> weak_pointer_factory_; | 117 base::WeakPtrFactory<ContentTranslateDriver> weak_pointer_factory_; |
119 | 118 |
120 DISALLOW_COPY_AND_ASSIGN(ContentTranslateDriver); | 119 DISALLOW_COPY_AND_ASSIGN(ContentTranslateDriver); |
121 }; | 120 }; |
122 | 121 |
123 } // namespace translate | 122 } // namespace translate |
124 | 123 |
125 #endif // COMPONENTS_TRANSLATE_CONTENT_BROWSER_CONTENT_TRANSLATE_DRIVER_H_ | 124 #endif // COMPONENTS_TRANSLATE_CONTENT_BROWSER_CONTENT_TRANSLATE_DRIVER_H_ |
OLD | NEW |