summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormnaganov@chromium.org <mnaganov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-17 12:02:54 +0000
committermnaganov@chromium.org <mnaganov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-17 12:02:54 +0000
commit35a258e4bbdd37512c75a3695fe25a3129bbf504 (patch)
tree9a7e0ae60fab2b241b91ff928a9ad20a895906f2
parent6effee11459345a7e1e396fdb5990aded79cba99 (diff)
downloadchromium_src-35a258e4bbdd37512c75a3695fe25a3129bbf504.zip
chromium_src-35a258e4bbdd37512c75a3695fe25a3129bbf504.tar.gz
chromium_src-35a258e4bbdd37512c75a3695fe25a3129bbf504.tar.bz2
[Android WebView] Never turn off viewport and fixed layout
This is to avoid skipping "meta viewport" tag processing. For controlling wide viewport-related behavior, a corresponding WebSetting has been added into Blink. Review URL: https://codereview.chromium.org/14234002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194576 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--android_webview/browser/renderer_host/aw_render_view_host_ext.cc6
-rw-r--r--android_webview/browser/renderer_host/aw_render_view_host_ext.h6
-rw-r--r--android_webview/common/render_view_messages.h6
-rw-r--r--android_webview/java/src/org/chromium/android_webview/AwSettings.java16
-rw-r--r--android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnScaleChangedTest.java1
-rw-r--r--android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java42
-rw-r--r--android_webview/javatests/src/org/chromium/android_webview/test/AwTargetDensityDpiTest.java3
-rw-r--r--android_webview/javatests/src/org/chromium/android_webview/test/ContentViewZoomTest.java5
-rw-r--r--android_webview/javatests/src/org/chromium/android_webview/test/WebKitHitTestTest.java1
-rw-r--r--android_webview/native/aw_settings.cc16
-rw-r--r--android_webview/native/aw_settings.h3
-rw-r--r--android_webview/renderer/aw_render_view_ext.cc8
-rw-r--r--android_webview/renderer/aw_render_view_ext.h2
-rw-r--r--content/browser/android/content_settings.cc7
-rw-r--r--content/public/common/common_param_traits_macros.h1
-rw-r--r--webkit/glue/webpreferences.cc4
-rw-r--r--webkit/glue/webpreferences.h1
17 files changed, 13 insertions, 115 deletions
diff --git a/android_webview/browser/renderer_host/aw_render_view_host_ext.cc b/android_webview/browser/renderer_host/aw_render_view_host_ext.cc
index ee1d65e..0955308 100644
--- a/android_webview/browser/renderer_host/aw_render_view_host_ext.cc
+++ b/android_webview/browser/renderer_host/aw_render_view_host_ext.cc
@@ -63,12 +63,6 @@ const AwHitTestData& AwRenderViewHostExt::GetLastHitTestData() const {
return last_hit_test_data_;
}
-void AwRenderViewHostExt::SetEnableFixedLayoutMode(bool enable) {
- DCHECK(CalledOnValidThread());
- Send(new AwViewMsg_SetEnableFixedLayoutMode(web_contents()->GetRoutingID(),
- enable));
-}
-
void AwRenderViewHostExt::SetTextZoomLevel(double level) {
DCHECK(CalledOnValidThread());
Send(new AwViewMsg_SetTextZoomLevel(web_contents()->GetRoutingID(), level));
diff --git a/android_webview/browser/renderer_host/aw_render_view_host_ext.h b/android_webview/browser/renderer_host/aw_render_view_host_ext.h
index e8f56f2..df7d1fe 100644
--- a/android_webview/browser/renderer_host/aw_render_view_host_ext.h
+++ b/android_webview/browser/renderer_host/aw_render_view_host_ext.h
@@ -50,12 +50,6 @@ class AwRenderViewHostExt : public content::WebContentsObserver,
// the corresponding public WebView API is as well.
const AwHitTestData& GetLastHitTestData() const;
- // Set whether fixed layout mode is enabled. Must be updated together
- // with WebSettings.viewport_enabled.
- // TODO(mnaganov): Leave only one setting. See the comments on
- // https://bugs.webkit.org/show_bug.cgi?id=109946
- void SetEnableFixedLayoutMode(bool enable);
-
// Sets the zoom level for text only. Used in layout modes other than
// Text Autosizing.
void SetTextZoomLevel(double level);
diff --git a/android_webview/common/render_view_messages.h b/android_webview/common/render_view_messages.h
index 2f6db4f..f3c60db 100644
--- a/android_webview/common/render_view_messages.h
+++ b/android_webview/common/render_view_messages.h
@@ -69,12 +69,6 @@ IPC_MESSAGE_ROUTED1(AwViewMsg_SetTextZoomLevel,
// recalculated by WebKit.
IPC_MESSAGE_ROUTED0(AwViewMsg_ResetScrollAndScaleState)
-// Set whether fixed layout mode is enabled. Must be updated together
-// with WebSettings.viewport_enabled. Only WebView switches this mode
-// dynamically, thus there is no support for this in the common code.
-IPC_MESSAGE_ROUTED1(AwViewMsg_SetEnableFixedLayoutMode,
- bool /* enabled */)
-
// Sets the initial page scale. This overrides initial scale set by
// the meta viewport tag.
IPC_MESSAGE_ROUTED1(AwViewMsg_SetInitialPageScale,
diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.java b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
index 5451611..76b36f6 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwSettings.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwSettings.java
@@ -149,19 +149,9 @@ public class AwSettings {
}
}
- /**
- * Set whether fixed layout mode is enabled. Must be updated together
- * with ContentSettings.UseWideViewport, which maps on WebSettings.viewport_enabled.
- */
+ @Deprecated
public void setEnableFixedLayoutMode(final boolean enable) {
- // There is no need to lock, because the native code doesn't
- // read anything from the Java side.
- ThreadUtils.runOnUiThreadBlocking(new Runnable() {
- @Override
- public void run() {
- nativeSetEnableFixedLayoutMode(mNativeAwSettings, enable);
- }
- });
+ // No-op. Will be removed.
}
/**
@@ -246,8 +236,6 @@ public class AwSettings {
private native void nativeSetWebContents(int nativeAwSettings, int nativeWebContents);
- private native void nativeSetEnableFixedLayoutMode(int nativeAwSettings, boolean enable);
-
private native void nativeSetInitialPageScale(int nativeAwSettings, float scaleInPercent);
private native void nativeSetTextZoom(int nativeAwSettings, int textZoom);
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnScaleChangedTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnScaleChangedTest.java
index 905c456..eb3a22b 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnScaleChangedTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsClientOnScaleChangedTest.java
@@ -42,7 +42,6 @@ public class AwContentsClientOnScaleChangedTest extends AwTestBase {
@DisabledTest
public void testScaleUp() throws Throwable {
getContentSettingsOnUiThread(mAwContents).setUseWideViewPort(true);
- mAwContents.getSettings().setEnableFixedLayoutMode(true);
loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
CommonResources.ABOUT_HTML, "text/html", false);
ContentViewCore core = mAwContents.getContentViewCore();
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java
index 4487bbb..871f6ec2 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwSettingsTest.java
@@ -938,7 +938,6 @@ public class AwSettingsTest extends AwTestBase {
super(awContents, contentViewClient);
// Font autosizing doesn't step in for narrow layout widths.
mContentSettings.setUseWideViewPort(true);
- mAwSettings.setEnableFixedLayoutMode(true);
}
@Override
@@ -1225,7 +1224,6 @@ public class AwSettingsTest extends AwTestBase {
@Override
protected void setCurrentValue(Boolean value) {
mContentSettings.setUseWideViewPort(value);
- mAwSettings.setEnableFixedLayoutMode(value);
}
@Override
@@ -1257,7 +1255,6 @@ public class AwSettingsTest extends AwTestBase {
super(awContents, contentViewClient, true);
mWithViewPortTag = withViewPortTag;
mContentSettings.setUseWideViewPort(true);
- mAwContents.getSettings().setEnableFixedLayoutMode(true);
}
@Override
@@ -2344,8 +2341,8 @@ public class AwSettingsTest extends AwTestBase {
settings.setJavaScriptEnabled(true);
assertFalse(settings.getUseWideViewPort());
- // When UseWideViewPort is off, "meta viewport" tags are ignored,
- // and the layout width is set to device width in CSS pixels.
+ // When UseWideViewPort is off, "width" setting of "meta viewport"
+ // tags is ignored, and the layout width is set to device width in CSS pixels.
// Thus, all 3 pages will have the same body width.
loadDataSync(awContents, onPageFinishedHelper, pageNoViewport, "text/html", false);
int actualWidth = Integer.parseInt(getTitleOnUiThread(awContents));
@@ -2363,7 +2360,6 @@ public class AwSettingsTest extends AwTestBase {
Math.abs(displayWidth - actualWidth) <= 1);
settings.setUseWideViewPort(true);
- awContents.getSettings().setEnableFixedLayoutMode(true);
// When UseWideViewPort is on, "meta viewport" tag is used.
// If there is no viewport tag, or width isn't specified,
// then layout width is set to max(980, <device-width-in-DIP-pixels>)
@@ -2398,7 +2394,6 @@ public class AwSettingsTest extends AwTestBase {
assertEquals(initialScale, getScaleOnUiThread(awContents));
settings.setUseWideViewPort(true);
- awContents.getSettings().setEnableFixedLayoutMode(true);
loadDataSync(awContents, onPageFinishedHelper, page, "text/html", false);
int onScaleChangedCallCount = contentClient.getOnScaleChangedHelper().getCallCount();
simulateDoubleTapCenterOfWebViewOnUiThread(testContainerView);
@@ -2432,39 +2427,6 @@ public class AwSettingsTest extends AwTestBase {
@SmallTest
@Feature({"AndroidWebView", "Preferences"})
- // Verify that LoadViewOverviewMode doesn't affect pages with initial scale
- // set in the viewport tag.
- public void testLoadWithOverviewModeViewportScale() throws Throwable {
- final TestAwContentsClient contentClient = new TestAwContentsClient();
- final AwTestContainerView testContainerView =
- createAwTestContainerViewOnMainSync(contentClient);
- final AwContents awContents = testContainerView.getAwContents();
- ContentSettings settings = getContentSettingsOnUiThread(awContents);
- CallbackHelper onPageFinishedHelper = contentClient.getOnPageFinishedHelper();
-
- final int pageScale = 2;
- final String page = "<html><head>" +
- "<meta name='viewport' content='width=3000, initial-scale=" + pageScale +
- "' /></head>" +
- "<body></body></html>";
-
- assertFalse(settings.getUseWideViewPort());
- assertFalse(settings.getLoadWithOverviewMode());
- loadDataSync(awContents, onPageFinishedHelper, page, "text/html", false);
- assertEquals(1.0f, getScaleOnUiThread(awContents));
-
- settings.setUseWideViewPort(true);
- awContents.getSettings().setEnableFixedLayoutMode(true);
- settings.setLoadWithOverviewMode(true);
- awContents.getSettings().resetScrollAndScaleState();
- int onScaleChangedCallCount = contentClient.getOnScaleChangedHelper().getCallCount();
- loadDataSync(awContents, onPageFinishedHelper, page, "text/html", false);
- contentClient.getOnScaleChangedHelper().waitForCallback(onScaleChangedCallCount);
- assertEquals((float)pageScale, getScaleOnUiThread(awContents));
- }
-
- @SmallTest
- @Feature({"AndroidWebView", "Preferences"})
public void testSetInitialScale() throws Throwable {
final TestAwContentsClient contentClient = new TestAwContentsClient();
final AwTestContainerView testContainerView =
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwTargetDensityDpiTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwTargetDensityDpiTest.java
index 4bc3a07..5b9a56d 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/AwTargetDensityDpiTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwTargetDensityDpiTest.java
@@ -31,9 +31,6 @@ public class AwTargetDensityDpiTest extends AwTestBase {
final String pageDpi100 = String.format(pageTemplate, "100");
settings.setJavaScriptEnabled(true);
- // TODO(mnaganov): Should not be needed. See b/8487489.
- settings.setUseWideViewPort(true);
- awContents.getSettings().setEnableFixedLayoutMode(true);
DeviceDisplayInfo deviceInfo =
DeviceDisplayInfo.create(getInstrumentation().getTargetContext());
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/ContentViewZoomTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/ContentViewZoomTest.java
index ccfefbb..7b0e769 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/ContentViewZoomTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/ContentViewZoomTest.java
@@ -194,7 +194,6 @@ public class ContentViewZoomTest extends AwTestBase {
private void runMagnificationTest(boolean supportZoom) throws Throwable {
getContentSettingsOnUiThread(mAwContents).setUseWideViewPort(true);
- mAwContents.getSettings().setEnableFixedLayoutMode(true);
loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
getZoomableHtml(), "text/html", false);
// It takes some time for scaling to settle down.
@@ -241,7 +240,6 @@ public class ContentViewZoomTest extends AwTestBase {
public void testZoomUsingMultiTouch() throws Throwable {
ContentSettings webSettings = getContentSettingsOnUiThread(mAwContents);
webSettings.setUseWideViewPort(true);
- mAwContents.getSettings().setEnableFixedLayoutMode(true);
loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
getZoomableHtml(), "text/html", false);
@@ -265,7 +263,6 @@ public class ContentViewZoomTest extends AwTestBase {
public void testZoomControls() throws Throwable {
ContentSettings webSettings = getContentSettingsOnUiThread(mAwContents);
webSettings.setUseWideViewPort(true);
- mAwContents.getSettings().setEnableFixedLayoutMode(true);
loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
getZoomableHtml(), "text/html", false);
@@ -291,7 +288,6 @@ public class ContentViewZoomTest extends AwTestBase {
public void testZoomControlsOnNonZoomableContent() throws Throwable {
ContentSettings webSettings = getContentSettingsOnUiThread(mAwContents);
webSettings.setUseWideViewPort(true);
- mAwContents.getSettings().setEnableFixedLayoutMode(true);
loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
getNonZoomableHtml(), "text/html", false);
@@ -316,7 +312,6 @@ public class ContentViewZoomTest extends AwTestBase {
public void testZoomControlsOnOrientationChange() throws Throwable {
ContentSettings webSettings = getContentSettingsOnUiThread(mAwContents);
webSettings.setUseWideViewPort(true);
- mAwContents.getSettings().setEnableFixedLayoutMode(true);
loadDataSync(mAwContents, mContentsClient.getOnPageFinishedHelper(),
getZoomableHtml(), "text/html", false);
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/WebKitHitTestTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/WebKitHitTestTest.java
index 52d2ec0..fc05f64 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/WebKitHitTestTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/WebKitHitTestTest.java
@@ -376,6 +376,7 @@ public class WebKitHitTestTest extends AwTestBase {
String relImageSrc = "/nonexistent3.jpg";
String fullImageSrc = mWebServer.getResponseUrl(relImageSrc);
String html = CommonResources.makeHtmlPageFrom(
+ "<meta name=\"viewport\" content=\"width=device-width,height=device-height\" />" +
"<style type=\"text/css\">" +
".full_width { width:100%; position:absolute; }" +
"</style>",
diff --git a/android_webview/native/aw_settings.cc b/android_webview/native/aw_settings.cc
index ef10859..8ab91dd 100644
--- a/android_webview/native/aw_settings.cc
+++ b/android_webview/native/aw_settings.cc
@@ -13,7 +13,6 @@ namespace android_webview {
AwSettings::AwSettings(JNIEnv* env, jobject obj)
: java_ref_(env, obj),
- enable_fixed_layout_(false),
initial_page_scale_percent_(0),
text_zoom_percent_(100) {
}
@@ -38,13 +37,6 @@ void AwSettings::ResetScrollAndScaleState(JNIEnv* env, jobject obj) {
rvhe->ResetScrollAndScaleState();
}
-void AwSettings::SetEnableFixedLayoutMode(
- JNIEnv* env, jobject obj, jboolean enabled) {
- if (enable_fixed_layout_ == enabled) return;
- enable_fixed_layout_ = enabled;
- UpdateEnableFixedLayoutMode();
-}
-
void AwSettings::SetInitialPageScale(
JNIEnv* env, jobject obj, jfloat page_scale_percent) {
if (initial_page_scale_percent_ == page_scale_percent) return;
@@ -62,13 +54,6 @@ void AwSettings::SetWebContents(JNIEnv* env, jobject obj, jint web_contents) {
Observe(reinterpret_cast<content::WebContents*>(web_contents));
}
-
-void AwSettings::UpdateEnableFixedLayoutMode() {
- AwRenderViewHostExt* rvhe = GetAwRenderViewHostExt();
- if (!rvhe) return;
- rvhe->SetEnableFixedLayoutMode(enable_fixed_layout_);
-}
-
void AwSettings::UpdateInitialPageScale() {
AwRenderViewHostExt* rvhe = GetAwRenderViewHostExt();
if (!rvhe) return;
@@ -92,7 +77,6 @@ void AwSettings::UpdateTextZoom() {
}
void AwSettings::RenderViewCreated(content::RenderViewHost* render_view_host) {
- UpdateEnableFixedLayoutMode();
UpdateInitialPageScale();
UpdateTextZoom();
}
diff --git a/android_webview/native/aw_settings.h b/android_webview/native/aw_settings.h
index de21024..cc0af1d 100644
--- a/android_webview/native/aw_settings.h
+++ b/android_webview/native/aw_settings.h
@@ -23,14 +23,12 @@ class AwSettings : public content::WebContentsObserver {
// Called from Java.
void Destroy(JNIEnv* env, jobject obj);
void ResetScrollAndScaleState(JNIEnv* env, jobject obj);
- void SetEnableFixedLayoutMode(JNIEnv* env, jobject obj, jboolean enabled);
void SetInitialPageScale(JNIEnv* env, jobject obj, jfloat page_scale_percent);
void SetTextZoom(JNIEnv* env, jobject obj, jint text_zoom_percent);
void SetWebContents(JNIEnv* env, jobject obj, jint web_contents);
private:
AwRenderViewHostExt* GetAwRenderViewHostExt();
- void UpdateEnableFixedLayoutMode();
void UpdateInitialPageScale();
void UpdateTextZoom();
@@ -39,7 +37,6 @@ class AwSettings : public content::WebContentsObserver {
content::RenderViewHost* render_view_host) OVERRIDE;
JavaObjectWeakGlobalRef java_ref_;
- bool enable_fixed_layout_;
float initial_page_scale_percent_;
int text_zoom_percent_;
};
diff --git a/android_webview/renderer/aw_render_view_ext.cc b/android_webview/renderer/aw_render_view_ext.cc
index fdcfbee..df24c77 100644
--- a/android_webview/renderer/aw_render_view_ext.cc
+++ b/android_webview/renderer/aw_render_view_ext.cc
@@ -144,8 +144,6 @@ bool AwRenderViewExt::OnMessageReceived(const IPC::Message& message) {
IPC_BEGIN_MESSAGE_MAP(AwRenderViewExt, message)
IPC_MESSAGE_HANDLER(AwViewMsg_DocumentHasImages, OnDocumentHasImagesRequest)
IPC_MESSAGE_HANDLER(AwViewMsg_DoHitTest, OnDoHitTest)
- IPC_MESSAGE_HANDLER(AwViewMsg_SetEnableFixedLayoutMode,
- OnSetEnableFixedLayoutMode)
IPC_MESSAGE_HANDLER(AwViewMsg_SetTextZoomLevel, OnSetTextZoomLevel)
IPC_MESSAGE_HANDLER(AwViewMsg_ResetScrollAndScaleState,
OnResetScrollAndScaleState)
@@ -244,12 +242,6 @@ void AwRenderViewExt::OnDoHitTest(int view_x, int view_y) {
Send(new AwViewHostMsg_UpdateHitTestData(routing_id(), data));
}
-void AwRenderViewExt::OnSetEnableFixedLayoutMode(bool enabled) {
- if (!render_view() || !render_view()->GetWebView())
- return;
- render_view()->GetWebView()->enableFixedLayoutMode(enabled);
-}
-
void AwRenderViewExt::OnSetTextZoomLevel(double zoom_level) {
if (!render_view() || !render_view()->GetWebView())
return;
diff --git a/android_webview/renderer/aw_render_view_ext.h b/android_webview/renderer/aw_render_view_ext.h
index 26daff8..e94bee6 100644
--- a/android_webview/renderer/aw_render_view_ext.h
+++ b/android_webview/renderer/aw_render_view_ext.h
@@ -41,8 +41,6 @@ class AwRenderViewExt : public content::RenderViewObserver,
void OnDoHitTest(int view_x, int view_y);
- void OnSetEnableFixedLayoutMode(bool enabled);
-
void OnSetTextZoomLevel(double zoom_level);
void OnResetScrollAndScaleState();
diff --git a/content/browser/android/content_settings.cc b/content/browser/android/content_settings.cc
index 3216ce6..fb53d24 100644
--- a/content/browser/android/content_settings.cc
+++ b/content/browser/android/content_settings.cc
@@ -285,7 +285,7 @@ void ContentSettings::SyncFromNativeImpl() {
env->SetBooleanField(
obj,
field_ids_->use_wide_viewport,
- prefs.viewport_enabled);
+ prefs.use_wide_viewport);
CheckException(env);
env->SetBooleanField(
@@ -415,9 +415,8 @@ void ContentSettings::SyncToNativeImpl() {
prefs.databases_enabled = env->GetBooleanField(
obj, field_ids_->database_enabled);
- prefs.viewport_enabled = env->GetBooleanField(
- obj, field_ids_->use_wide_viewport);
- prefs.double_tap_to_zoom_enabled = prefs.viewport_enabled;
+ prefs.double_tap_to_zoom_enabled = prefs.use_wide_viewport =
+ env->GetBooleanField(obj, field_ids_->use_wide_viewport);
prefs.initialize_at_minimum_page_scale = env->GetBooleanField(
obj, field_ids_->load_with_overview_mode);
diff --git a/content/public/common/common_param_traits_macros.h b/content/public/common/common_param_traits_macros.h
index 85438c4..bf7e9ad 100644
--- a/content/public/common/common_param_traits_macros.h
+++ b/content/public/common/common_param_traits_macros.h
@@ -203,6 +203,7 @@ IPC_STRUCT_TRAITS_BEGIN(webkit_glue::WebPreferences)
IPC_STRUCT_TRAITS_MEMBER(user_gesture_required_for_media_playback)
IPC_STRUCT_TRAITS_MEMBER(default_video_poster_url)
IPC_STRUCT_TRAITS_MEMBER(support_deprecated_target_density_dpi)
+ IPC_STRUCT_TRAITS_MEMBER(use_wide_viewport)
#endif
IPC_STRUCT_TRAITS_END()
diff --git a/webkit/glue/webpreferences.cc b/webkit/glue/webpreferences.cc
index b07dd0d..30e41d4 100644
--- a/webkit/glue/webpreferences.cc
+++ b/webkit/glue/webpreferences.cc
@@ -146,7 +146,8 @@ WebPreferences::WebPreferences()
force_enable_zoom(false),
double_tap_to_zoom_enabled(true),
user_gesture_required_for_media_playback(true),
- support_deprecated_target_density_dpi(false)
+ support_deprecated_target_density_dpi(false),
+ use_wide_viewport(true)
#endif
{
standard_font_family_map[kCommonScript] =
@@ -473,6 +474,7 @@ void WebPreferences::Apply(WebView* web_view) const {
ASCIIToUTF16(default_video_poster_url.spec()));
settings->setSupportDeprecatedTargetDensityDPI(
support_deprecated_target_density_dpi);
+ settings->setUseWideViewport(use_wide_viewport);
#endif
WebNetworkStateNotifier::setOnLine(is_online);
diff --git a/webkit/glue/webpreferences.h b/webkit/glue/webpreferences.h
index 5811f83..082545f 100644
--- a/webkit/glue/webpreferences.h
+++ b/webkit/glue/webpreferences.h
@@ -164,6 +164,7 @@ struct WEBKIT_GLUE_EXPORT WebPreferences {
bool user_gesture_required_for_media_playback;
GURL default_video_poster_url;
bool support_deprecated_target_density_dpi;
+ bool use_wide_viewport;
#endif
// We try to keep the default values the same as the default values in