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

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

Issue 73173002: Add ContextMenu support upstream for Android (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 years 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/android/tab_android.h ('k') | chrome/browser/ui/android/context_menu_helper.h » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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_android.h" 5 #include "chrome/browser/android/tab_android.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "chrome/browser/android/chrome_web_contents_delegate_android.h" 9 #include "chrome/browser/android/chrome_web_contents_delegate_android.h"
10 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h" 10 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h"
(...skipping 13 matching lines...) Expand all
24 #include "chrome/browser/printing/print_view_manager_basic.h" 24 #include "chrome/browser/printing/print_view_manager_basic.h"
25 #include "chrome/browser/profiles/profile.h" 25 #include "chrome/browser/profiles/profile.h"
26 #include "chrome/browser/profiles/profile_android.h" 26 #include "chrome/browser/profiles/profile_android.h"
27 #include "chrome/browser/sessions/session_tab_helper.h" 27 #include "chrome/browser/sessions/session_tab_helper.h"
28 #include "chrome/browser/ssl/ssl_tab_helper.h" 28 #include "chrome/browser/ssl/ssl_tab_helper.h"
29 #include "chrome/browser/sync/glue/synced_tab_delegate_android.h" 29 #include "chrome/browser/sync/glue/synced_tab_delegate_android.h"
30 #include "chrome/browser/tab_contents/navigation_metrics_recorder.h" 30 #include "chrome/browser/tab_contents/navigation_metrics_recorder.h"
31 #include "chrome/browser/translate/translate_tab_helper.h" 31 #include "chrome/browser/translate/translate_tab_helper.h"
32 #include "chrome/browser/ui/alternate_error_tab_observer.h" 32 #include "chrome/browser/ui/alternate_error_tab_observer.h"
33 #include "chrome/browser/ui/android/content_settings/popup_blocked_infobar_deleg ate.h" 33 #include "chrome/browser/ui/android/content_settings/popup_blocked_infobar_deleg ate.h"
34 #include "chrome/browser/ui/android/context_menu_helper.h"
34 #include "chrome/browser/ui/android/infobars/infobar_container_android.h" 35 #include "chrome/browser/ui/android/infobars/infobar_container_android.h"
35 #include "chrome/browser/ui/android/tab_model/tab_model.h" 36 #include "chrome/browser/ui/android/tab_model/tab_model.h"
36 #include "chrome/browser/ui/android/tab_model/tab_model_list.h" 37 #include "chrome/browser/ui/android/tab_model/tab_model_list.h"
37 #include "chrome/browser/ui/android/window_android_helper.h" 38 #include "chrome/browser/ui/android/window_android_helper.h"
38 #include "chrome/browser/ui/autofill/tab_autofill_manager_delegate.h" 39 #include "chrome/browser/ui/autofill/tab_autofill_manager_delegate.h"
39 #include "chrome/browser/ui/blocked_content/popup_blocker_tab_helper.h" 40 #include "chrome/browser/ui/blocked_content/popup_blocker_tab_helper.h"
40 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" 41 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h"
41 #include "chrome/browser/ui/browser_tab_contents.h" 42 #include "chrome/browser/ui/browser_tab_contents.h"
42 #include "chrome/browser/ui/find_bar/find_tab_helper.h" 43 #include "chrome/browser/ui/find_bar/find_tab_helper.h"
43 #include "chrome/browser/ui/prefs/prefs_tab_helper.h" 44 #include "chrome/browser/ui/prefs/prefs_tab_helper.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 SessionTabHelper::CreateForWebContents(contents); 84 SessionTabHelper::CreateForWebContents(contents);
84 85
85 AlternateErrorPageTabObserver::CreateForWebContents(contents); 86 AlternateErrorPageTabObserver::CreateForWebContents(contents);
86 autofill::TabAutofillManagerDelegate::CreateForWebContents(contents); 87 autofill::TabAutofillManagerDelegate::CreateForWebContents(contents);
87 autofill::AutofillDriverImpl::CreateForWebContentsAndDelegate( 88 autofill::AutofillDriverImpl::CreateForWebContentsAndDelegate(
88 contents, 89 contents,
89 autofill::TabAutofillManagerDelegate::FromWebContents(contents), 90 autofill::TabAutofillManagerDelegate::FromWebContents(contents),
90 g_browser_process->GetApplicationLocale(), 91 g_browser_process->GetApplicationLocale(),
91 autofill::AutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER); 92 autofill::AutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER);
92 BookmarkTabHelper::CreateForWebContents(contents); 93 BookmarkTabHelper::CreateForWebContents(contents);
94 ContextMenuHelper::CreateForWebContents(contents);
93 CoreTabHelper::CreateForWebContents(contents); 95 CoreTabHelper::CreateForWebContents(contents);
94 extensions::TabHelper::CreateForWebContents(contents); 96 extensions::TabHelper::CreateForWebContents(contents);
95 FaviconTabHelper::CreateForWebContents(contents); 97 FaviconTabHelper::CreateForWebContents(contents);
96 FindTabHelper::CreateForWebContents(contents); 98 FindTabHelper::CreateForWebContents(contents);
97 HistoryTabHelper::CreateForWebContents(contents); 99 HistoryTabHelper::CreateForWebContents(contents);
98 InfoBarService::CreateForWebContents(contents); 100 InfoBarService::CreateForWebContents(contents);
99 NavigationMetricsRecorder::CreateForWebContents(contents); 101 NavigationMetricsRecorder::CreateForWebContents(contents);
100 chrome_browser_net::NetErrorTabHelper::CreateForWebContents(contents); 102 chrome_browser_net::NetErrorTabHelper::CreateForWebContents(contents);
101 PasswordManagerDelegateImpl::CreateForWebContents(contents); 103 PasswordManagerDelegateImpl::CreateForWebContents(contents);
102 PasswordManager::CreateForWebContentsAndDelegate( 104 PasswordManager::CreateForWebContentsAndDelegate(
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 default: 283 default:
282 NOTREACHED() << "Unexpected notification " << type; 284 NOTREACHED() << "Unexpected notification " << type;
283 break; 285 break;
284 } 286 }
285 } 287 }
286 288
287 void TabAndroid::InitWebContents(JNIEnv* env, 289 void TabAndroid::InitWebContents(JNIEnv* env,
288 jobject obj, 290 jobject obj,
289 jboolean incognito, 291 jboolean incognito,
290 jobject jcontent_view_core, 292 jobject jcontent_view_core,
291 jobject jweb_contents_delegate) { 293 jobject jweb_contents_delegate,
294 jobject jcontext_menu_populator) {
292 content::ContentViewCore* content_view_core = 295 content::ContentViewCore* content_view_core =
293 content::ContentViewCore::GetNativeContentViewCore(env, 296 content::ContentViewCore::GetNativeContentViewCore(env,
294 jcontent_view_core); 297 jcontent_view_core);
295 DCHECK(content_view_core); 298 DCHECK(content_view_core);
296 DCHECK(content_view_core->GetWebContents()); 299 DCHECK(content_view_core->GetWebContents());
297 300
298 web_contents_.reset(content_view_core->GetWebContents()); 301 web_contents_.reset(content_view_core->GetWebContents());
299 InitTabHelpers(web_contents_.get()); 302 InitTabHelpers(web_contents_.get());
300 303
301 session_tab_id_.set_id( 304 session_tab_id_.set_id(
302 SessionTabHelper::FromWebContents(web_contents())->session_id().id()); 305 SessionTabHelper::FromWebContents(web_contents())->session_id().id());
306 ContextMenuHelper::FromWebContents(web_contents())->SetPopulator(
307 jcontext_menu_populator);
303 WindowAndroidHelper::FromWebContents(web_contents())-> 308 WindowAndroidHelper::FromWebContents(web_contents())->
304 SetWindowAndroid(content_view_core->GetWindowAndroid()); 309 SetWindowAndroid(content_view_core->GetWindowAndroid());
305 CoreTabHelper::FromWebContents(web_contents())->set_delegate(this); 310 CoreTabHelper::FromWebContents(web_contents())->set_delegate(this);
306 web_contents_delegate_.reset( 311 web_contents_delegate_.reset(
307 new chrome::android::ChromeWebContentsDelegateAndroid( 312 new chrome::android::ChromeWebContentsDelegateAndroid(
308 env, jweb_contents_delegate)); 313 env, jweb_contents_delegate));
309 web_contents_delegate_->LoadProgressChanged(web_contents(), 0); 314 web_contents_delegate_->LoadProgressChanged(web_contents(), 0);
310 web_contents()->SetDelegate(web_contents_delegate_.get()); 315 web_contents()->SetDelegate(web_contents_delegate_.get());
311 316
312 notification_registrar_.Add( 317 notification_registrar_.Add(
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 if (print_view_manager == NULL) 414 if (print_view_manager == NULL)
410 return false; 415 return false;
411 416
412 print_view_manager->PrintNow(); 417 print_view_manager->PrintNow();
413 return true; 418 return true;
414 } 419 }
415 420
416 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) { 421 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) {
417 return RegisterNativesImpl(env); 422 return RegisterNativesImpl(env);
418 } 423 }
OLDNEW
« no previous file with comments | « chrome/browser/android/tab_android.h ('k') | chrome/browser/ui/android/context_menu_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698