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

Side by Side Diff: components/translate/content/browser/content_translate_driver.cc

Issue 562603002: Move PageTransition from //content/public/common to //ui/base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 3 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 unified diff | Download patch
OLDNEW
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 #include "components/translate/content/browser/content_translate_driver.h" 5 #include "components/translate/content/browser/content_translate_driver.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "components/translate/content/common/translate_messages.h" 9 #include "components/translate/content/common/translate_messages.h"
10 #include "components/translate/core/browser/translate_download_manager.h" 10 #include "components/translate/core/browser/translate_download_manager.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 73
74 translate_manager_->InitiateTranslation( 74 translate_manager_->InitiateTranslation(
75 translate::TranslateDownloadManager::GetLanguageCode(page_lang)); 75 translate::TranslateDownloadManager::GetLanguageCode(page_lang));
76 } 76 }
77 77
78 // TranslateDriver methods 78 // TranslateDriver methods
79 79
80 bool ContentTranslateDriver::IsLinkNavigation() { 80 bool ContentTranslateDriver::IsLinkNavigation() {
81 return navigation_controller_ && navigation_controller_->GetActiveEntry() && 81 return navigation_controller_ && navigation_controller_->GetActiveEntry() &&
82 navigation_controller_->GetActiveEntry()->GetTransitionType() == 82 navigation_controller_->GetActiveEntry()->GetTransitionType() ==
83 content::PAGE_TRANSITION_LINK; 83 ui::PAGE_TRANSITION_LINK;
84 } 84 }
85 85
86 void ContentTranslateDriver::OnTranslateEnabledChanged() { 86 void ContentTranslateDriver::OnTranslateEnabledChanged() {
87 content::WebContents* web_contents = navigation_controller_->GetWebContents(); 87 content::WebContents* web_contents = navigation_controller_->GetWebContents();
88 FOR_EACH_OBSERVER( 88 FOR_EACH_OBSERVER(
89 Observer, observer_list_, OnTranslateEnabledChanged(web_contents)); 89 Observer, observer_list_, OnTranslateEnabledChanged(web_contents));
90 } 90 }
91 91
92 void ContentTranslateDriver::OnIsPageTranslatedChanged() { 92 void ContentTranslateDriver::OnIsPageTranslatedChanged() {
93 content::WebContents* web_contents = 93 content::WebContents* web_contents =
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 } 142 }
143 143
144 bool ContentTranslateDriver::HasCurrentPage() { 144 bool ContentTranslateDriver::HasCurrentPage() {
145 return (navigation_controller_->GetActiveEntry() != NULL); 145 return (navigation_controller_->GetActiveEntry() != NULL);
146 } 146 }
147 147
148 void ContentTranslateDriver::OpenUrlInNewTab(const GURL& url) { 148 void ContentTranslateDriver::OpenUrlInNewTab(const GURL& url) {
149 content::OpenURLParams params(url, 149 content::OpenURLParams params(url,
150 content::Referrer(), 150 content::Referrer(),
151 NEW_FOREGROUND_TAB, 151 NEW_FOREGROUND_TAB,
152 content::PAGE_TRANSITION_LINK, 152 ui::PAGE_TRANSITION_LINK,
153 false); 153 false);
154 navigation_controller_->GetWebContents()->OpenURL(params); 154 navigation_controller_->GetWebContents()->OpenURL(params);
155 } 155 }
156 156
157 // content::WebContentsObserver methods 157 // content::WebContentsObserver methods
158 158
159 void ContentTranslateDriver::NavigationEntryCommitted( 159 void ContentTranslateDriver::NavigationEntryCommitted(
160 const content::LoadCommittedDetails& load_details) { 160 const content::LoadCommittedDetails& load_details) {
161 // Check whether this is a reload: When doing a page reload, the 161 // Check whether this is a reload: When doing a page reload, the
162 // TranslateLanguageDetermined IPC is not sent so the translation needs to be 162 // TranslateLanguageDetermined IPC is not sent so the translation needs to be
(...skipping 15 matching lines...) Expand all
178 178
179 if (!load_details.is_main_frame && 179 if (!load_details.is_main_frame &&
180 translate_manager_->GetLanguageState().translation_declined()) { 180 translate_manager_->GetLanguageState().translation_declined()) {
181 // Some sites (such as Google map) may trigger sub-frame navigations 181 // Some sites (such as Google map) may trigger sub-frame navigations
182 // when the user interacts with the page. We don't want to show a new 182 // when the user interacts with the page. We don't want to show a new
183 // infobar if the user already dismissed one in that case. 183 // infobar if the user already dismissed one in that case.
184 return; 184 return;
185 } 185 }
186 186
187 // If not a reload, return. 187 // If not a reload, return.
188 if (entry->GetTransitionType() != content::PAGE_TRANSITION_RELOAD && 188 if (entry->GetTransitionType() != ui::PAGE_TRANSITION_RELOAD &&
189 load_details.type != content::NAVIGATION_TYPE_SAME_PAGE) { 189 load_details.type != content::NAVIGATION_TYPE_SAME_PAGE) {
190 return; 190 return;
191 } 191 }
192 192
193 if (!translate_manager_->GetLanguageState().page_needs_translation()) 193 if (!translate_manager_->GetLanguageState().page_needs_translation())
194 return; 194 return;
195 195
196 // Note that we delay it as the ordering of the processing of this callback 196 // Note that we delay it as the ordering of the processing of this callback
197 // by WebContentsObservers is undefined and might result in the current 197 // by WebContentsObservers is undefined and might result in the current
198 // infobars being removed. Since the translation initiation process might add 198 // infobars being removed. Since the translation initiation process might add
199 // an infobar, it must be done after that. 199 // an infobar, it must be done after that.
200 base::MessageLoop::current()->PostTask( 200 base::MessageLoop::current()->PostTask(
201 FROM_HERE, 201 FROM_HERE,
202 base::Bind(&ContentTranslateDriver::InitiateTranslation, 202 base::Bind(&ContentTranslateDriver::InitiateTranslation,
203 weak_pointer_factory_.GetWeakPtr(), 203 weak_pointer_factory_.GetWeakPtr(),
204 translate_manager_->GetLanguageState().original_language(), 204 translate_manager_->GetLanguageState().original_language(),
205 0)); 205 0));
206 } 206 }
207 207
208 void ContentTranslateDriver::DidNavigateAnyFrame( 208 void ContentTranslateDriver::DidNavigateAnyFrame(
209 const content::LoadCommittedDetails& details, 209 const content::LoadCommittedDetails& details,
210 const content::FrameNavigateParams& params) { 210 const content::FrameNavigateParams& params) {
211 // Let the LanguageState clear its state. 211 // Let the LanguageState clear its state.
212 const bool reload = 212 const bool reload =
213 details.entry->GetTransitionType() == content::PAGE_TRANSITION_RELOAD || 213 details.entry->GetTransitionType() == ui::PAGE_TRANSITION_RELOAD ||
214 details.type == content::NAVIGATION_TYPE_SAME_PAGE; 214 details.type == content::NAVIGATION_TYPE_SAME_PAGE;
215 translate_manager_->GetLanguageState().DidNavigate( 215 translate_manager_->GetLanguageState().DidNavigate(
216 details.is_in_page, details.is_main_frame, reload); 216 details.is_in_page, details.is_main_frame, reload);
217 } 217 }
218 218
219 bool ContentTranslateDriver::OnMessageReceived(const IPC::Message& message) { 219 bool ContentTranslateDriver::OnMessageReceived(const IPC::Message& message) {
220 bool handled = true; 220 bool handled = true;
221 IPC_BEGIN_MESSAGE_MAP(ContentTranslateDriver, message) 221 IPC_BEGIN_MESSAGE_MAP(ContentTranslateDriver, message)
222 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_TranslateAssignedSequenceNumber, 222 IPC_MESSAGE_HANDLER(ChromeViewHostMsg_TranslateAssignedSequenceNumber,
223 OnTranslateAssignedSequenceNumber) 223 OnTranslateAssignedSequenceNumber)
(...skipping 28 matching lines...) Expand all
252 TranslateErrors::Type error_type) { 252 TranslateErrors::Type error_type) {
253 translate_manager_->PageTranslated( 253 translate_manager_->PageTranslated(
254 original_lang, translated_lang, error_type); 254 original_lang, translated_lang, error_type);
255 FOR_EACH_OBSERVER( 255 FOR_EACH_OBSERVER(
256 Observer, 256 Observer,
257 observer_list_, 257 observer_list_,
258 OnPageTranslated(original_lang, translated_lang, error_type)); 258 OnPageTranslated(original_lang, translated_lang, error_type));
259 } 259 }
260 260
261 } // namespace translate 261 } // namespace translate
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698