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

Side by Side Diff: android_webview/native/aw_settings.cc

Issue 831523005: Remove most native WebContents references from Java (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Kept same error checking behavior for aw_contents.cc Created 5 years, 11 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "android_webview/native/aw_settings.h" 5 #include "android_webview/native/aw_settings.h"
6 6
7 #include "android_webview/browser/renderer_host/aw_render_view_host_ext.h" 7 #include "android_webview/browser/renderer_host/aw_render_view_host_ext.h"
8 #include "android_webview/common/aw_content_client.h" 8 #include "android_webview/common/aw_content_client.h"
9 #include "android_webview/native/aw_contents.h" 9 #include "android_webview/native/aw_contents.h"
10 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 return NULL; 63 return NULL;
64 AwSettingsUserData* data = static_cast<AwSettingsUserData*>( 64 AwSettingsUserData* data = static_cast<AwSettingsUserData*>(
65 web_contents->GetUserData(kAwSettingsUserDataKey)); 65 web_contents->GetUserData(kAwSettingsUserDataKey));
66 return data ? data->settings_ : NULL; 66 return data ? data->settings_ : NULL;
67 } 67 }
68 68
69 private: 69 private:
70 AwSettings* settings_; 70 AwSettings* settings_;
71 }; 71 };
72 72
73 AwSettings::AwSettings(JNIEnv* env, jobject obj, jlong web_contents) 73 AwSettings::AwSettings(JNIEnv* env,
74 : WebContentsObserver( 74 jobject obj,
75 reinterpret_cast<content::WebContents*>(web_contents)), 75 content::WebContents* web_contents)
76 : WebContentsObserver(web_contents),
76 renderer_prefs_initialized_(false), 77 renderer_prefs_initialized_(false),
77 aw_settings_(env, obj) { 78 aw_settings_(env, obj) {
78 reinterpret_cast<content::WebContents*>(web_contents)-> 79 web_contents->SetUserData(kAwSettingsUserDataKey,
79 SetUserData(kAwSettingsUserDataKey, new AwSettingsUserData(this)); 80 new AwSettingsUserData(this));
80 } 81 }
81 82
82 AwSettings::~AwSettings() { 83 AwSettings::~AwSettings() {
83 if (web_contents()) { 84 if (web_contents()) {
84 web_contents()->SetUserData(kAwSettingsUserDataKey, NULL); 85 web_contents()->SetUserData(kAwSettingsUserDataKey, NULL);
85 } 86 }
86 87
87 JNIEnv* env = base::android::AttachCurrentThread(); 88 JNIEnv* env = base::android::AttachCurrentThread();
88 ScopedJavaLocalRef<jobject> scoped_obj = aw_settings_.get(env); 89 ScopedJavaLocalRef<jobject> scoped_obj = aw_settings_.get(env);
89 jobject obj = scoped_obj.obj(); 90 jobject obj = scoped_obj.obj();
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 Java_AwSettings_getAllowDisplayingInsecureContentLocked(env, obj); 401 Java_AwSettings_getAllowDisplayingInsecureContentLocked(env, obj);
401 web_prefs->allow_running_insecure_content = 402 web_prefs->allow_running_insecure_content =
402 Java_AwSettings_getAllowRunningInsecureContentLocked(env, obj); 403 Java_AwSettings_getAllowRunningInsecureContentLocked(env, obj);
403 404
404 web_prefs->fullscreen_supported = 405 web_prefs->fullscreen_supported =
405 Java_AwSettings_getFullscreenSupportedLocked(env, obj); 406 Java_AwSettings_getFullscreenSupportedLocked(env, obj);
406 } 407 }
407 408
408 static jlong Init(JNIEnv* env, 409 static jlong Init(JNIEnv* env,
409 jobject obj, 410 jobject obj,
410 jlong web_contents) { 411 jobject web_contents) {
411 AwSettings* settings = new AwSettings(env, obj, web_contents); 412 content::WebContents* contents = content::WebContents::FromJavaWebContents(
413 web_contents);
414 AwSettings* settings = new AwSettings(env, obj, contents);
412 return reinterpret_cast<intptr_t>(settings); 415 return reinterpret_cast<intptr_t>(settings);
413 } 416 }
414 417
415 static jstring GetDefaultUserAgent(JNIEnv* env, jclass clazz) { 418 static jstring GetDefaultUserAgent(JNIEnv* env, jclass clazz) {
416 return base::android::ConvertUTF8ToJavaString(env, GetUserAgent()).Release(); 419 return base::android::ConvertUTF8ToJavaString(env, GetUserAgent()).Release();
417 } 420 }
418 421
419 bool RegisterAwSettings(JNIEnv* env) { 422 bool RegisterAwSettings(JNIEnv* env) {
420 return RegisterNativesImpl(env); 423 return RegisterNativesImpl(env);
421 } 424 }
422 425
423 } // namespace android_webview 426 } // namespace android_webview
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698