summaryrefslogtreecommitdiffstats
path: root/chrome/browser/android/tab_android.cc
diff options
context:
space:
mode:
authorkaznacheev@chromium.org <kaznacheev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-21 22:14:59 +0000
committerkaznacheev@chromium.org <kaznacheev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-21 22:14:59 +0000
commit8ee610354614da5dd5f14081e840dc485ac7699f (patch)
tree42bf6dd62e88766d320a26e39acbb5d99b1a5984 /chrome/browser/android/tab_android.cc
parentd51245a1b22d127b0a16e581221aee591d808ab8 (diff)
downloadchromium_src-8ee610354614da5dd5f14081e840dc485ac7699f.zip
chromium_src-8ee610354614da5dd5f14081e840dc485ac7699f.tar.gz
chromium_src-8ee610354614da5dd5f14081e840dc485ac7699f.tar.bz2
DevTools: Make Android tabs unloaded from memory accessible via remote debugging protocol (3/3)
Step 3 out of 3: - Implemented GetTitle, GetURL and RestoreIfNeeded in TabAndroid.h/.cc and TabBase.java - Removed tab id parameter from TabBase#nativeInitWebContents - Introduced a new DevToolsTarget implementation for an unloaded tab (relying on the new TabAndroid methods) - Changed DevToolsServerDelegate to enumerate all tabs (including unloaded) - Cleaned up after Step 1: -- Made the new methods in TabModel pure -- Removed the bridge method TabAndroid::InitWebContents with the old signature. -- Removed TabAndroid::android_id() BUG=272174 Review URL: https://codereview.chromium.org/25627004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229934 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/android/tab_android.cc')
-rw-r--r--chrome/browser/android/tab_android.cc36
1 files changed, 26 insertions, 10 deletions
diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc
index becad84..c63c105 100644
--- a/chrome/browser/android/tab_android.cc
+++ b/chrome/browser/android/tab_android.cc
@@ -156,6 +156,32 @@ int TabAndroid::GetAndroidId() const {
return Java_TabBase_getId(env, obj.obj());
}
+string16 TabAndroid::GetTitle() const {
+ JNIEnv* env = base::android::AttachCurrentThread();
+ ScopedJavaLocalRef<jobject> obj = weak_java_tab_.get(env);
+ if (obj.is_null())
+ return string16();
+ return base::android::ConvertJavaStringToUTF16(
+ Java_TabBase_getTitle(env, obj.obj()));
+}
+
+GURL TabAndroid::GetURL() const {
+ JNIEnv* env = base::android::AttachCurrentThread();
+ ScopedJavaLocalRef<jobject> obj = weak_java_tab_.get(env);
+ if (obj.is_null())
+ return GURL::EmptyGURL();
+ return GURL(base::android::ConvertJavaStringToUTF8(
+ Java_TabBase_getUrl(env, obj.obj())));
+}
+
+bool TabAndroid::RestoreIfNeeded() {
+ JNIEnv* env = base::android::AttachCurrentThread();
+ ScopedJavaLocalRef<jobject> obj = weak_java_tab_.get(env);
+ if (obj.is_null())
+ return false;
+ return Java_TabBase_restoreIfNeeded(env, obj.obj());
+}
+
content::ContentViewCore* TabAndroid::GetContentViewCore() const {
if (!web_contents())
return NULL;
@@ -231,16 +257,6 @@ void TabAndroid::Observe(int type,
void TabAndroid::InitWebContents(JNIEnv* env,
jobject obj,
- jint tab_id,
- jboolean incognito,
- jobject jcontent_view_core,
- jobject jweb_contents_delegate) {
- InitWebContents(
- env, obj, incognito, jcontent_view_core, jweb_contents_delegate);
-}
-
-void TabAndroid::InitWebContents(JNIEnv* env,
- jobject obj,
jboolean incognito,
jobject jcontent_view_core,
jobject jweb_contents_delegate) {