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

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

Issue 11098008: Adding a WindowAndroidHelper class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Yaron's nit Created 8 years, 2 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 | Annotate | Revision Log
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_base_android_impl.h" 5 #include "chrome/browser/android/tab_base_android_impl.h"
6 6
7 #include "base/android/jni_string.h" 7 #include "base/android/jni_string.h"
8 #include "base/logging.h" 8 #include "base/logging.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/net/url_fixer_upper.h" 10 #include "chrome/browser/net/url_fixer_upper.h"
11 #include "chrome/browser/ui/android/window_android_helper.h"
11 #include "content/public/browser/android/content_view_core.h" 12 #include "content/public/browser/android/content_view_core.h"
12 #include "content/public/browser/web_contents.h" 13 #include "content/public/browser/web_contents.h"
13 #include "googleurl/src/gurl.h" 14 #include "googleurl/src/gurl.h"
14 #include "jni/TabBase_jni.h" 15 #include "jni/TabBase_jni.h"
15 #include "third_party/WebKit/Source/Platform/chromium/public/WebLayer.h" 16 #include "third_party/WebKit/Source/Platform/chromium/public/WebLayer.h"
17 #include "ui/gfx/android/window_android.h"
16 18
17 using base::android::ConvertJavaStringToUTF8; 19 using base::android::ConvertJavaStringToUTF8;
18 using base::android::ConvertUTF8ToJavaString; 20 using base::android::ConvertUTF8ToJavaString;
19 using base::android::ScopedJavaLocalRef; 21 using base::android::ScopedJavaLocalRef;
20 using chrome::android::ChromeWebContentsDelegateAndroid; 22 using chrome::android::ChromeWebContentsDelegateAndroid;
21 using content::WebContents; 23 using content::WebContents;
24 using ui::WindowAndroid;
22 25
23 namespace { 26 namespace {
24 class ChromeWebContentsDelegateRenderAndroid 27 class ChromeWebContentsDelegateRenderAndroid
25 : public ChromeWebContentsDelegateAndroid { 28 : public ChromeWebContentsDelegateAndroid {
26 public: 29 public:
27 ChromeWebContentsDelegateRenderAndroid(TabBaseAndroidImpl* tab_android_impl, 30 ChromeWebContentsDelegateRenderAndroid(TabBaseAndroidImpl* tab_android_impl,
28 JNIEnv* env, 31 JNIEnv* env,
29 jobject obj) 32 jobject obj)
30 : ChromeWebContentsDelegateAndroid(env, obj), 33 : ChromeWebContentsDelegateAndroid(env, obj),
31 tab_android_impl_(tab_android_impl) { 34 tab_android_impl_(tab_android_impl) {
(...skipping 14 matching lines...) Expand all
46 49
47 private: 50 private:
48 TabBaseAndroidImpl* tab_android_impl_; 51 TabBaseAndroidImpl* tab_android_impl_;
49 52
50 DISALLOW_COPY_AND_ASSIGN(ChromeWebContentsDelegateRenderAndroid); 53 DISALLOW_COPY_AND_ASSIGN(ChromeWebContentsDelegateRenderAndroid);
51 }; 54 };
52 } // namespace 55 } // namespace
53 56
54 TabBaseAndroidImpl::TabBaseAndroidImpl(JNIEnv* env, 57 TabBaseAndroidImpl::TabBaseAndroidImpl(JNIEnv* env,
55 jobject obj, 58 jobject obj,
56 WebContents* web_contents) 59 WebContents* web_contents,
60 WindowAndroid* window_android)
57 : web_contents_(web_contents), 61 : web_contents_(web_contents),
58 tab_layer_(WebKit::WebLayer::create()) { 62 tab_layer_(WebKit::WebLayer::create()) {
63 WindowAndroidHelper::FromWebContents(web_contents)->
64 SetWindowAndroid(window_android);
59 } 65 }
60 66
61 TabBaseAndroidImpl::~TabBaseAndroidImpl() { 67 TabBaseAndroidImpl::~TabBaseAndroidImpl() {
62 } 68 }
63 69
64 void TabBaseAndroidImpl::Destroy(JNIEnv* env, jobject obj) { 70 void TabBaseAndroidImpl::Destroy(JNIEnv* env, jobject obj) {
65 delete this; 71 delete this;
66 } 72 }
67 73
68 browser_sync::SyncedTabDelegate* TabBaseAndroidImpl::GetSyncedTabDelegate() { 74 browser_sync::SyncedTabDelegate* TabBaseAndroidImpl::GetSyncedTabDelegate() {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 122
117 std::string fixed_spec; 123 std::string fixed_spec;
118 if (fixed_url.is_valid()) 124 if (fixed_url.is_valid())
119 fixed_spec = fixed_url.spec(); 125 fixed_spec = fixed_url.spec();
120 126
121 return ConvertUTF8ToJavaString(env, fixed_spec); 127 return ConvertUTF8ToJavaString(env, fixed_spec);
122 } 128 }
123 129
124 static jint Init(JNIEnv* env, 130 static jint Init(JNIEnv* env,
125 jobject obj, 131 jobject obj,
126 jint web_contents_ptr) { 132 jint web_contents_ptr,
133 jint window_android_ptr) {
127 TabBaseAndroidImpl* tab = new TabBaseAndroidImpl( 134 TabBaseAndroidImpl* tab = new TabBaseAndroidImpl(
128 env, 135 env,
129 obj, 136 obj,
130 reinterpret_cast<WebContents*>(web_contents_ptr)); 137 reinterpret_cast<WebContents*>(web_contents_ptr),
138 reinterpret_cast<WindowAndroid*>(window_android_ptr));
131 return reinterpret_cast<jint>(tab); 139 return reinterpret_cast<jint>(tab);
132 } 140 }
OLDNEW
« no previous file with comments | « chrome/browser/android/tab_base_android_impl.h ('k') | chrome/browser/ui/android/window_android_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698