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

Side by Side Diff: chrome/browser/android/tab_web_contents_delegate_android.cc

Issue 2248873002: Convert WindowOpenDisposition to an enum class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 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
« no previous file with comments | « chrome/browser/android/tab_android.cc ('k') | chrome/browser/app_controller_mac_browsertest.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/android/tab_web_contents_delegate_android.h" 5 #include "chrome/browser/android/tab_web_contents_delegate_android.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/android/jni_string.h" 10 #include "base/android/jni_string.h"
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 return true; 293 return true;
294 #else 294 #else
295 return false; 295 return false;
296 #endif 296 #endif
297 } 297 }
298 298
299 WebContents* TabWebContentsDelegateAndroid::OpenURLFromTab( 299 WebContents* TabWebContentsDelegateAndroid::OpenURLFromTab(
300 WebContents* source, 300 WebContents* source,
301 const content::OpenURLParams& params) { 301 const content::OpenURLParams& params) {
302 WindowOpenDisposition disposition = params.disposition; 302 WindowOpenDisposition disposition = params.disposition;
303 if (!source || (disposition != CURRENT_TAB && 303 if (!source || (disposition != WindowOpenDisposition::CURRENT_TAB &&
304 disposition != NEW_FOREGROUND_TAB && 304 disposition != WindowOpenDisposition::NEW_FOREGROUND_TAB &&
305 disposition != NEW_BACKGROUND_TAB && 305 disposition != WindowOpenDisposition::NEW_BACKGROUND_TAB &&
306 disposition != OFF_THE_RECORD && 306 disposition != WindowOpenDisposition::OFF_THE_RECORD &&
307 disposition != NEW_POPUP && 307 disposition != WindowOpenDisposition::NEW_POPUP &&
308 disposition != NEW_WINDOW)) { 308 disposition != WindowOpenDisposition::NEW_WINDOW)) {
309 // We can't handle this here. Give the parent a chance. 309 // We can't handle this here. Give the parent a chance.
310 return WebContentsDelegateAndroid::OpenURLFromTab(source, params); 310 return WebContentsDelegateAndroid::OpenURLFromTab(source, params);
311 } 311 }
312 312
313 Profile* profile = Profile::FromBrowserContext(source->GetBrowserContext()); 313 Profile* profile = Profile::FromBrowserContext(source->GetBrowserContext());
314 chrome::NavigateParams nav_params(profile, 314 chrome::NavigateParams nav_params(profile,
315 params.url, 315 params.url,
316 params.transition); 316 params.transition);
317 FillNavigateParamsFromOpenURLParams(&nav_params, params); 317 FillNavigateParamsFromOpenURLParams(&nav_params, params);
318 nav_params.source_contents = source; 318 nav_params.source_contents = source;
319 nav_params.window_action = chrome::NavigateParams::SHOW_WINDOW; 319 nav_params.window_action = chrome::NavigateParams::SHOW_WINDOW;
320 nav_params.user_gesture = params.user_gesture; 320 nav_params.user_gesture = params.user_gesture;
321 321
322 PopupBlockerTabHelper* popup_blocker_helper = 322 PopupBlockerTabHelper* popup_blocker_helper =
323 PopupBlockerTabHelper::FromWebContents(source); 323 PopupBlockerTabHelper::FromWebContents(source);
324 DCHECK(popup_blocker_helper); 324 DCHECK(popup_blocker_helper);
325 325
326 if ((params.disposition == NEW_POPUP || 326 if ((params.disposition == WindowOpenDisposition::NEW_POPUP ||
327 params.disposition == NEW_FOREGROUND_TAB || 327 params.disposition == WindowOpenDisposition::NEW_FOREGROUND_TAB ||
328 params.disposition == NEW_BACKGROUND_TAB || 328 params.disposition == WindowOpenDisposition::NEW_BACKGROUND_TAB ||
329 params.disposition == NEW_WINDOW) && 329 params.disposition == WindowOpenDisposition::NEW_WINDOW) &&
330 !params.user_gesture && 330 !params.user_gesture &&
331 !base::CommandLine::ForCurrentProcess()->HasSwitch( 331 !base::CommandLine::ForCurrentProcess()->HasSwitch(
332 switches::kDisablePopupBlocking)) { 332 switches::kDisablePopupBlocking)) {
333 if (popup_blocker_helper->MaybeBlockPopup(nav_params, 333 if (popup_blocker_helper->MaybeBlockPopup(nav_params,
334 blink::WebWindowFeatures())) { 334 blink::WebWindowFeatures())) {
335 return nullptr; 335 return nullptr;
336 } 336 }
337 } 337 }
338 338
339 if (disposition == CURRENT_TAB) { 339 if (disposition == WindowOpenDisposition::CURRENT_TAB) {
340 // Only prerender for a current-tab navigation to avoid session storage 340 // Only prerender for a current-tab navigation to avoid session storage
341 // namespace issues. 341 // namespace issues.
342 nav_params.target_contents = source; 342 nav_params.target_contents = source;
343 prerender::PrerenderManager* prerender_manager = 343 prerender::PrerenderManager* prerender_manager =
344 prerender::PrerenderManagerFactory::GetForProfile(profile); 344 prerender::PrerenderManagerFactory::GetForProfile(profile);
345 if (prerender_manager && 345 if (prerender_manager &&
346 prerender_manager->MaybeUsePrerenderedPage(params.url, &nav_params)) { 346 prerender_manager->MaybeUsePrerenderedPage(params.url, &nav_params)) {
347 return nav_params.target_contents; 347 return nav_params.target_contents;
348 } 348 }
349 } 349 }
(...skipping 12 matching lines...) Expand all
362 } 362 }
363 363
364 void TabWebContentsDelegateAndroid::AddNewContents( 364 void TabWebContentsDelegateAndroid::AddNewContents(
365 WebContents* source, 365 WebContents* source,
366 WebContents* new_contents, 366 WebContents* new_contents,
367 WindowOpenDisposition disposition, 367 WindowOpenDisposition disposition,
368 const gfx::Rect& initial_rect, 368 const gfx::Rect& initial_rect,
369 bool user_gesture, 369 bool user_gesture,
370 bool* was_blocked) { 370 bool* was_blocked) {
371 // No code for this yet. 371 // No code for this yet.
372 DCHECK_NE(disposition, SAVE_TO_DISK); 372 DCHECK_NE(disposition, WindowOpenDisposition::SAVE_TO_DISK);
373 // Can't create a new contents for the current tab - invalid case. 373 // Can't create a new contents for the current tab - invalid case.
374 DCHECK_NE(disposition, CURRENT_TAB); 374 DCHECK_NE(disposition, WindowOpenDisposition::CURRENT_TAB);
375 375
376 TabHelpers::AttachTabHelpers(new_contents); 376 TabHelpers::AttachTabHelpers(new_contents);
377 377
378 JNIEnv* env = AttachCurrentThread(); 378 JNIEnv* env = AttachCurrentThread();
379 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env); 379 ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
380 bool handled = false; 380 bool handled = false;
381 if (!obj.is_null()) { 381 if (!obj.is_null()) {
382 ScopedJavaLocalRef<jobject> jsource; 382 ScopedJavaLocalRef<jobject> jsource;
383 if (source) 383 if (source)
384 jsource = source->GetJavaWebContents(); 384 jsource = source->GetJavaWebContents();
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 jboolean IsCapturingVideo(JNIEnv* env, 457 jboolean IsCapturingVideo(JNIEnv* env,
458 const JavaParamRef<jclass>& clazz, 458 const JavaParamRef<jclass>& clazz,
459 const JavaParamRef<jobject>& java_web_contents) { 459 const JavaParamRef<jobject>& java_web_contents) {
460 content::WebContents* web_contents = 460 content::WebContents* web_contents =
461 content::WebContents::FromJavaWebContents(java_web_contents); 461 content::WebContents::FromJavaWebContents(java_web_contents);
462 scoped_refptr<MediaStreamCaptureIndicator> indicator = 462 scoped_refptr<MediaStreamCaptureIndicator> indicator =
463 MediaCaptureDevicesDispatcher::GetInstance()-> 463 MediaCaptureDevicesDispatcher::GetInstance()->
464 GetMediaStreamCaptureIndicator(); 464 GetMediaStreamCaptureIndicator();
465 return indicator->IsCapturingVideo(web_contents); 465 return indicator->IsCapturingVideo(web_contents);
466 } 466 }
OLDNEW
« no previous file with comments | « chrome/browser/android/tab_android.cc ('k') | chrome/browser/app_controller_mac_browsertest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698