summaryrefslogtreecommitdiffstats
path: root/android_webview/native/aw_settings.h
diff options
context:
space:
mode:
authormnaganov@chromium.org <mnaganov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-10 12:45:52 +0000
committermnaganov@chromium.org <mnaganov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-10 12:45:52 +0000
commitff022acf0a6119f1eca898bcb59de95a468f3eba (patch)
treeeecd5ce44515399463aab53a5bda1ceaa7e2f312 /android_webview/native/aw_settings.h
parent364370127681a4256633eb1bc9dc7bdccf726405 (diff)
downloadchromium_src-ff022acf0a6119f1eca898bcb59de95a468f3eba.zip
chromium_src-ff022acf0a6119f1eca898bcb59de95a468f3eba.tar.gz
chromium_src-ff022acf0a6119f1eca898bcb59de95a468f3eba.tar.bz2
[Android WebView] Remove direct access to fields in aw_settings
As per Marcus' proposal, replace direct access to Java object fields with getter methods. This is less error-prone and leverages facilities of automatic JNI code generation. BUG=b/8296421 Review URL: https://chromiumcodereview.appspot.com/14698004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199456 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview/native/aw_settings.h')
-rw-r--r--android_webview/native/aw_settings.h18
1 files changed, 7 insertions, 11 deletions
diff --git a/android_webview/native/aw_settings.h b/android_webview/native/aw_settings.h
index d24df56..42df647 100644
--- a/android_webview/native/aw_settings.h
+++ b/android_webview/native/aw_settings.h
@@ -21,18 +21,17 @@ class AwSettings : public content::WebContentsObserver {
AwSettings(JNIEnv* env, jobject obj);
virtual ~AwSettings();
- // Called from Java.
+ // Called from Java. Methods with "Locked" suffix require that the settings
+ // access lock is held during their execution.
void Destroy(JNIEnv* env, jobject obj);
void ResetScrollAndScaleState(JNIEnv* env, jobject obj);
- void SetWebContents(JNIEnv* env, jobject obj, jint web_contents);
- void UpdateEverything(JNIEnv* env, jobject obj);
- void UpdateInitialPageScale(JNIEnv* env, jobject obj);
- void UpdateUserAgent(JNIEnv* env, jobject obj);
- void UpdateWebkitPreferences(JNIEnv* env, jobject obj);
+ void SetWebContentsLocked(JNIEnv* env, jobject obj, jint web_contents);
+ void UpdateEverythingLocked(JNIEnv* env, jobject obj);
+ void UpdateInitialPageScaleLocked(JNIEnv* env, jobject obj);
+ void UpdateUserAgentLocked(JNIEnv* env, jobject obj);
+ void UpdateWebkitPreferencesLocked(JNIEnv* env, jobject obj);
private:
- struct FieldIds;
-
AwRenderViewHostExt* GetAwRenderViewHostExt();
void UpdateEverything();
void UpdatePreferredSizeMode();
@@ -41,9 +40,6 @@ class AwSettings : public content::WebContentsObserver {
virtual void RenderViewCreated(
content::RenderViewHost* render_view_host) OVERRIDE;
- // Java field references for accessing the values in the Java object.
- scoped_ptr<FieldIds> field_ids_;
-
JavaObjectWeakGlobalRef aw_settings_;
};