| Index: chrome/browser/android/tab_state.cc
|
| diff --git a/chrome/browser/android/tab_state.cc b/chrome/browser/android/tab_state.cc
|
| index 11c090fd85436c50f9e14dedd6dd05857a6eb33f..f7266437c365ebfcb3f7ebb13de798b9370ca0a1 100644
|
| --- a/chrome/browser/android/tab_state.cc
|
| +++ b/chrome/browser/android/tab_state.cc
|
| @@ -442,7 +442,7 @@
|
| return web_contents.release();
|
| }
|
|
|
| -ScopedJavaLocalRef<jobject> WebContentsState::RestoreContentsFromByteBuffer(
|
| +jobject WebContentsState::RestoreContentsFromByteBuffer(
|
| JNIEnv* env,
|
| jclass clazz,
|
| jobject state,
|
| @@ -457,10 +457,7 @@
|
| saved_state_version,
|
| initially_hidden);
|
|
|
| - if (web_contents)
|
| - return web_contents->GetJavaWebContents();
|
| - else
|
| - return ScopedJavaLocalRef<jobject>();
|
| + return web_contents ? web_contents->GetJavaWebContents().Release() : nullptr;
|
| }
|
|
|
| ScopedJavaLocalRef<jobject>
|
| @@ -501,12 +498,11 @@
|
| free(data);
|
| }
|
|
|
| -static ScopedJavaLocalRef<jobject> RestoreContentsFromByteBuffer(
|
| - JNIEnv* env,
|
| - jclass clazz,
|
| - jobject state,
|
| - jint saved_state_version,
|
| - jboolean initially_hidden) {
|
| +static jobject RestoreContentsFromByteBuffer(JNIEnv* env,
|
| + jclass clazz,
|
| + jobject state,
|
| + jint saved_state_version,
|
| + jboolean initially_hidden) {
|
| return WebContentsState::RestoreContentsFromByteBuffer(env,
|
| clazz,
|
| state,
|
| @@ -514,14 +510,14 @@
|
| initially_hidden);
|
| }
|
|
|
| -static ScopedJavaLocalRef<jobject> GetContentsStateAsByteBuffer(JNIEnv* env,
|
| - jclass clazz,
|
| - jobject jtab) {
|
| +static jobject GetContentsStateAsByteBuffer(
|
| + JNIEnv* env, jclass clazz, jobject jtab) {
|
| TabAndroid* tab_android = TabAndroid::GetNativeTab(env, jtab);
|
| - return WebContentsState::GetContentsStateAsByteBuffer(env, tab_android);
|
| -}
|
| -
|
| -static ScopedJavaLocalRef<jobject> CreateSingleNavigationStateAsByteBuffer(
|
| + return WebContentsState::GetContentsStateAsByteBuffer(
|
| + env, tab_android).Release();
|
| +}
|
| +
|
| +static jobject CreateSingleNavigationStateAsByteBuffer(
|
| JNIEnv* env,
|
| jclass clazz,
|
| jstring url,
|
| @@ -529,34 +525,32 @@
|
| jint referrer_policy,
|
| jboolean is_off_the_record) {
|
| return WebContentsState::CreateSingleNavigationStateAsByteBuffer(
|
| - env, url, referrer_url, referrer_policy, is_off_the_record);
|
| -}
|
| -
|
| -static ScopedJavaLocalRef<jstring> GetDisplayTitleFromByteBuffer(
|
| - JNIEnv* env,
|
| - jclass clazz,
|
| - jobject state,
|
| - jint saved_state_version) {
|
| + env, url, referrer_url, referrer_policy, is_off_the_record).Release();
|
| +}
|
| +
|
| +static jstring GetDisplayTitleFromByteBuffer(JNIEnv* env,
|
| + jclass clazz,
|
| + jobject state,
|
| + jint saved_state_version) {
|
| void* data = env->GetDirectBufferAddress(state);
|
| int size = env->GetDirectBufferCapacity(state);
|
|
|
| ScopedJavaLocalRef<jstring> result =
|
| WebContentsState::GetDisplayTitleFromByteBuffer(
|
| env, data, size, saved_state_version);
|
| - return result;
|
| -}
|
| -
|
| -static ScopedJavaLocalRef<jstring> GetVirtualUrlFromByteBuffer(
|
| - JNIEnv* env,
|
| - jclass clazz,
|
| - jobject state,
|
| - jint saved_state_version) {
|
| + return result.Release();
|
| +}
|
| +
|
| +static jstring GetVirtualUrlFromByteBuffer(JNIEnv* env,
|
| + jclass clazz,
|
| + jobject state,
|
| + jint saved_state_version) {
|
| void* data = env->GetDirectBufferAddress(state);
|
| int size = env->GetDirectBufferCapacity(state);
|
| ScopedJavaLocalRef<jstring> result =
|
| WebContentsState::GetVirtualUrlFromByteBuffer(
|
| env, data, size, saved_state_version);
|
| - return result;
|
| + return result.Release();
|
| }
|
|
|
| // Creates a historical tab entry from the serialized tab contents contained
|
| @@ -565,10 +559,13 @@
|
| jclass clazz,
|
| jobject state,
|
| jint saved_state_version) {
|
| - scoped_ptr<WebContents> web_contents(WebContents::FromJavaWebContents(
|
| - WebContentsState::RestoreContentsFromByteBuffer(env, clazz, state,
|
| - saved_state_version, true)
|
| - .obj()));
|
| + scoped_ptr<WebContents> web_contents(
|
| + WebContents::FromJavaWebContents(
|
| + WebContentsState::RestoreContentsFromByteBuffer(env,
|
| + clazz,
|
| + state,
|
| + saved_state_version,
|
| + true)));
|
| if (web_contents.get())
|
| TabAndroid::CreateHistoricalTabFromContents(web_contents.get());
|
| }
|
|
|