diff options
author | kaznacheev@chromium.org <kaznacheev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-21 22:14:59 +0000 |
---|---|---|
committer | kaznacheev@chromium.org <kaznacheev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-10-21 22:14:59 +0000 |
commit | 8ee610354614da5dd5f14081e840dc485ac7699f (patch) | |
tree | 42bf6dd62e88766d320a26e39acbb5d99b1a5984 /chrome/browser/android/tab_android.cc | |
parent | d51245a1b22d127b0a16e581221aee591d808ab8 (diff) | |
download | chromium_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.cc | 36 |
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) { |