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

Side by Side Diff: content/browser/android/content_settings.cc

Issue 11759023: [Android WebView] Implement WebSettings.{get|set}UseWideViewport (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase and fix tests that were expecting UseWideViewPort=true Created 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/android/content_settings.h" 5 #include "content/browser/android/content_settings.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h" 8 #include "base/android/jni_string.h"
9 #include "content/browser/android/content_view_core_impl.h" 9 #include "content/browser/android/content_view_core_impl.h"
10 #include "content/browser/renderer_host/render_view_host_delegate.h" 10 #include "content/browser/renderer_host/render_view_host_delegate.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 allow_universal_access_from_file_urls = 73 allow_universal_access_from_file_urls =
74 GetFieldID(env, clazz, "mAllowUniversalAccessFromFileURLs", "Z"); 74 GetFieldID(env, clazz, "mAllowUniversalAccessFromFileURLs", "Z");
75 allow_file_access_from_file_urls = 75 allow_file_access_from_file_urls =
76 GetFieldID(env, clazz, "mAllowFileAccessFromFileURLs", "Z"); 76 GetFieldID(env, clazz, "mAllowFileAccessFromFileURLs", "Z");
77 java_script_can_open_windows_automatically = 77 java_script_can_open_windows_automatically =
78 GetFieldID(env, clazz, "mJavaScriptCanOpenWindowsAutomatically", "Z"); 78 GetFieldID(env, clazz, "mJavaScriptCanOpenWindowsAutomatically", "Z");
79 support_multiple_windows = 79 support_multiple_windows =
80 GetFieldID(env, clazz, "mSupportMultipleWindows", "Z"); 80 GetFieldID(env, clazz, "mSupportMultipleWindows", "Z");
81 dom_storage_enabled = 81 dom_storage_enabled =
82 GetFieldID(env, clazz, "mDomStorageEnabled", "Z"); 82 GetFieldID(env, clazz, "mDomStorageEnabled", "Z");
83 use_wide_viewport =
84 GetFieldID(env, clazz, "mUseWideViewport", "Z");
83 } 85 }
84 86
85 // Field ids 87 // Field ids
86 jfieldID text_size_percent; 88 jfieldID text_size_percent;
87 jfieldID standard_fond_family; 89 jfieldID standard_fond_family;
88 jfieldID fixed_font_family; 90 jfieldID fixed_font_family;
89 jfieldID sans_serif_font_family; 91 jfieldID sans_serif_font_family;
90 jfieldID serif_font_family; 92 jfieldID serif_font_family;
91 jfieldID cursive_font_family; 93 jfieldID cursive_font_family;
92 jfieldID fantasy_font_family; 94 jfieldID fantasy_font_family;
93 jfieldID default_text_encoding; 95 jfieldID default_text_encoding;
94 jfieldID user_agent; 96 jfieldID user_agent;
95 jfieldID minimum_font_size; 97 jfieldID minimum_font_size;
96 jfieldID minimum_logical_font_size; 98 jfieldID minimum_logical_font_size;
97 jfieldID default_font_size; 99 jfieldID default_font_size;
98 jfieldID default_fixed_font_size; 100 jfieldID default_fixed_font_size;
99 jfieldID load_images_automatically; 101 jfieldID load_images_automatically;
100 jfieldID images_enabled; 102 jfieldID images_enabled;
101 jfieldID java_script_enabled; 103 jfieldID java_script_enabled;
102 jfieldID allow_universal_access_from_file_urls; 104 jfieldID allow_universal_access_from_file_urls;
103 jfieldID allow_file_access_from_file_urls; 105 jfieldID allow_file_access_from_file_urls;
104 jfieldID java_script_can_open_windows_automatically; 106 jfieldID java_script_can_open_windows_automatically;
105 jfieldID support_multiple_windows; 107 jfieldID support_multiple_windows;
106 jfieldID dom_storage_enabled; 108 jfieldID dom_storage_enabled;
109 jfieldID use_wide_viewport;
107 }; 110 };
108 111
109 ContentSettings::ContentSettings(JNIEnv* env, 112 ContentSettings::ContentSettings(JNIEnv* env,
110 jobject obj, 113 jobject obj,
111 WebContents* contents, 114 WebContents* contents,
112 bool is_master_mode) 115 bool is_master_mode)
113 : WebContentsObserver(contents), 116 : WebContentsObserver(contents),
114 is_master_mode_(is_master_mode), 117 is_master_mode_(is_master_mode),
115 content_settings_(env, obj) { 118 content_settings_(env, obj) {
116 } 119 }
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 CheckException(env); 253 CheckException(env);
251 254
252 // We don't need to sync AppCache settings to Java, because there are 255 // We don't need to sync AppCache settings to Java, because there are
253 // no getters for them in the API. 256 // no getters for them in the API.
254 257
255 env->SetBooleanField( 258 env->SetBooleanField(
256 obj, 259 obj,
257 field_ids_->dom_storage_enabled, 260 field_ids_->dom_storage_enabled,
258 prefs.local_storage_enabled); 261 prefs.local_storage_enabled);
259 CheckException(env); 262 CheckException(env);
263
264 env->SetBooleanField(
265 obj,
266 field_ids_->use_wide_viewport,
267 prefs.viewport_enabled);
268 CheckException(env);
260 } 269 }
261 270
262 void ContentSettings::SyncToNativeImpl() { 271 void ContentSettings::SyncToNativeImpl() {
263 JNIEnv* env = base::android::AttachCurrentThread(); 272 JNIEnv* env = base::android::AttachCurrentThread();
264 CHECK(env); 273 CHECK(env);
265 if (!field_ids_.get()) 274 if (!field_ids_.get())
266 field_ids_.reset(new FieldIds(env)); 275 field_ids_.reset(new FieldIds(env));
267 276
268 ScopedJavaLocalRef<jobject> scoped_obj = content_settings_.get(env); 277 ScopedJavaLocalRef<jobject> scoped_obj = content_settings_.get(env);
269 jobject obj = scoped_obj.obj(); 278 jobject obj = scoped_obj.obj();
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 obj, field_ids_->support_multiple_windows); 363 obj, field_ids_->support_multiple_windows);
355 364
356 prefs.plugins_enabled = !Java_ContentSettings_getPluginsDisabled(env, obj); 365 prefs.plugins_enabled = !Java_ContentSettings_getPluginsDisabled(env, obj);
357 366
358 prefs.application_cache_enabled = 367 prefs.application_cache_enabled =
359 Java_ContentSettings_getAppCacheEnabled(env, obj); 368 Java_ContentSettings_getAppCacheEnabled(env, obj);
360 369
361 prefs.local_storage_enabled = env->GetBooleanField( 370 prefs.local_storage_enabled = env->GetBooleanField(
362 obj, field_ids_->dom_storage_enabled); 371 obj, field_ids_->dom_storage_enabled);
363 372
373 prefs.viewport_enabled = env->GetBooleanField(
374 obj, field_ids_->use_wide_viewport);
375
364 render_view_host->UpdateWebkitPreferences(prefs); 376 render_view_host->UpdateWebkitPreferences(prefs);
365 } 377 }
366 378
367 void ContentSettings::SyncFromNative(JNIEnv* env, jobject obj) { 379 void ContentSettings::SyncFromNative(JNIEnv* env, jobject obj) {
368 SyncFromNativeImpl(); 380 SyncFromNativeImpl();
369 } 381 }
370 382
371 void ContentSettings::SyncToNative(JNIEnv* env, jobject obj) { 383 void ContentSettings::SyncToNative(JNIEnv* env, jobject obj) {
372 SyncToNativeImpl(); 384 SyncToNativeImpl();
373 } 385 }
(...skipping 16 matching lines...) Expand all
390 new ContentSettings(env, obj, web_contents, is_master_mode); 402 new ContentSettings(env, obj, web_contents, is_master_mode);
391 return reinterpret_cast<jint>(content_settings); 403 return reinterpret_cast<jint>(content_settings);
392 } 404 }
393 405
394 static jstring GetDefaultUserAgent(JNIEnv* env, jclass clazz) { 406 static jstring GetDefaultUserAgent(JNIEnv* env, jclass clazz) {
395 return base::android::ConvertUTF8ToJavaString( 407 return base::android::ConvertUTF8ToJavaString(
396 env, GetContentClient()->GetUserAgent()).Release(); 408 env, GetContentClient()->GetUserAgent()).Release();
397 } 409 }
398 410
399 } // namespace content 411 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698