OLD | NEW |
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/net/gaia/gaia_oauth_fetcher.h" | 5 #include "chrome/browser/net/gaia/gaia_oauth_fetcher.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 email->GetAsString(email_result); | 275 email->GetAsString(email_result); |
276 } | 276 } |
277 } | 277 } |
278 } | 278 } |
279 } | 279 } |
280 | 280 |
281 namespace { | 281 namespace { |
282 // Based on Browser::OpenURLFromTab | 282 // Based on Browser::OpenURLFromTab |
283 void OpenGetOAuthTokenURL(Browser* browser, | 283 void OpenGetOAuthTokenURL(Browser* browser, |
284 const GURL& url, | 284 const GURL& url, |
285 const GURL& referrer, | 285 const content::Referrer& referrer, |
286 WindowOpenDisposition disposition, | 286 WindowOpenDisposition disposition, |
287 content::PageTransition transition) { | 287 content::PageTransition transition) { |
288 browser::NavigateParams params( | 288 browser::NavigateParams params( |
289 browser, | 289 browser, |
290 url, | 290 url, |
291 content::PAGE_TRANSITION_AUTO_BOOKMARK); | 291 content::PAGE_TRANSITION_AUTO_BOOKMARK); |
292 params.source_contents = | 292 params.source_contents = |
293 browser->tabstrip_model()->GetTabContentsAt( | 293 browser->tabstrip_model()->GetTabContentsAt( |
294 browser->tabstrip_model()->GetWrapperIndex(NULL)); | 294 browser->tabstrip_model()->GetWrapperIndex(NULL)); |
295 params.referrer = GURL("chrome://settings/personal"); | 295 params.referrer = referrer; |
296 params.disposition = disposition; | 296 params.disposition = disposition; |
297 params.tabstrip_add_types = TabStripModel::ADD_NONE; | 297 params.tabstrip_add_types = TabStripModel::ADD_NONE; |
298 params.window_action = browser::NavigateParams::SHOW_WINDOW; | 298 params.window_action = browser::NavigateParams::SHOW_WINDOW; |
299 params.window_bounds = gfx::Rect(380, 520); | 299 params.window_bounds = gfx::Rect(380, 520); |
300 params.user_gesture = true; | 300 params.user_gesture = true; |
301 browser::Navigate(¶ms); | 301 browser::Navigate(¶ms); |
302 } | 302 } |
303 } | 303 } |
304 | 304 |
305 void GaiaOAuthFetcher::StartGetOAuthToken() { | 305 void GaiaOAuthFetcher::StartGetOAuthToken() { |
306 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; | 306 DCHECK(!fetch_pending_) << "Tried to fetch two things at once!"; |
307 DCHECK(!popup_); | 307 DCHECK(!popup_); |
308 | 308 |
309 fetch_pending_ = true; | 309 fetch_pending_ = true; |
310 registrar_.Add(this, | 310 registrar_.Add(this, |
311 chrome::NOTIFICATION_COOKIE_CHANGED, | 311 chrome::NOTIFICATION_COOKIE_CHANGED, |
312 content::Source<Profile>(profile_)); | 312 content::Source<Profile>(profile_)); |
313 | 313 |
314 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_); | 314 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_); |
315 DCHECK(browser); | 315 DCHECK(browser); |
316 | 316 |
317 OpenGetOAuthTokenURL(browser, | 317 OpenGetOAuthTokenURL(browser, |
318 MakeGetOAuthTokenUrl(GaiaUrls::GetInstance()->oauth1_login_scope(), | 318 MakeGetOAuthTokenUrl(GaiaUrls::GetInstance()->oauth1_login_scope(), |
319 l10n_util::GetStringUTF8(IDS_PRODUCT_NAME)), | 319 l10n_util::GetStringUTF8(IDS_PRODUCT_NAME)), |
320 GURL("chrome://settings/personal"), | 320 content::Referrer(GURL("chrome://settings/personal"), |
| 321 WebKit::WebReferrerPolicyDefault), |
321 NEW_POPUP, | 322 NEW_POPUP, |
322 content::PAGE_TRANSITION_AUTO_BOOKMARK); | 323 content::PAGE_TRANSITION_AUTO_BOOKMARK); |
323 popup_ = BrowserList::GetLastActiveWithProfile(profile_); | 324 popup_ = BrowserList::GetLastActiveWithProfile(profile_); |
324 DCHECK(popup_ && popup_ != browser); | 325 DCHECK(popup_ && popup_ != browser); |
325 registrar_.Add(this, | 326 registrar_.Add(this, |
326 chrome::NOTIFICATION_BROWSER_CLOSING, | 327 chrome::NOTIFICATION_BROWSER_CLOSING, |
327 content::Source<Browser>(popup_)); | 328 content::Source<Browser>(popup_)); |
328 } | 329 } |
329 | 330 |
330 void GaiaOAuthFetcher::StartOAuthLogin( | 331 void GaiaOAuthFetcher::StartOAuthLogin( |
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 true)) { | 686 true)) { |
686 OnOAuthRevokeTokenFetched(data, status, response_code); | 687 OnOAuthRevokeTokenFetched(data, status, response_code); |
687 } else { | 688 } else { |
688 NOTREACHED(); | 689 NOTREACHED(); |
689 } | 690 } |
690 } | 691 } |
691 | 692 |
692 bool GaiaOAuthFetcher::ShouldAutoFetch(AutoFetchLimit fetch_step) { | 693 bool GaiaOAuthFetcher::ShouldAutoFetch(AutoFetchLimit fetch_step) { |
693 return fetch_step <= auto_fetch_limit_; | 694 return fetch_step <= auto_fetch_limit_; |
694 } | 695 } |
OLD | NEW |