Index: content/browser/android/content_view_core_impl.cc |
diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc |
index be9a22738360afea0fc3775b0faf87d04267e992..aa82e4ecfec7a8b8a66074bb569621b68016382b 100644 |
--- a/content/browser/android/content_view_core_impl.cc |
+++ b/content/browser/android/content_view_core_impl.cc |
@@ -8,6 +8,7 @@ |
#include "base/android/jni_array.h" |
#include "base/android/jni_string.h" |
#include "base/android/scoped_java_ref.h" |
+#include "base/command_line.h" |
#include "base/json/json_writer.h" |
#include "base/logging.h" |
#include "base/utf_string_conversions.h" |
@@ -36,6 +37,7 @@ |
#include "content/public/browser/notification_types.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/common/content_client.h" |
+#include "content/public/common/content_switches.h" |
#include "content/public/common/page_transition_types.h" |
#include "jni/ContentViewCore_jni.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebBindings.h" |
@@ -44,6 +46,8 @@ |
#include "ui/gfx/android/java_bitmap.h" |
#include "ui/gfx/android/window_android.h" |
#include "ui/gfx/screen.h" |
+#include "ui/gfx/size_conversions.h" |
+#include "ui/gfx/size_f.h" |
#include "webkit/glue/webmenuitem.h" |
#include "webkit/user_agent/user_agent_util.h" |
@@ -167,7 +171,8 @@ ContentViewCoreImpl::ContentViewCoreImpl(JNIEnv* env, jobject obj, |
InitJNI(env, obj); |
- if (!gfx::Screen::GetNativeScreen()->IsDIPEnabled()) { |
+ if (CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableCssTransformPinch)) { |
dpi_scale_ = 1; |
} else { |
scoped_ptr<content::DeviceInfo> device_info(new content::DeviceInfo()); |
@@ -607,15 +612,19 @@ void ContentViewCoreImpl::ShowDisambiguationPopup( |
java_bitmap.obj()); |
} |
-gfx::Rect ContentViewCoreImpl::GetBounds() const { |
+gfx::Size ContentViewCoreImpl::GetPhysicalSize() const { |
JNIEnv* env = AttachCurrentThread(); |
ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); |
if (j_obj.is_null()) |
- return gfx::Rect(); |
- return gfx::Rect(Java_ContentViewCore_getWidth(env, j_obj.obj()), |
+ return gfx::Size(); |
+ return gfx::Size(Java_ContentViewCore_getWidth(env, j_obj.obj()), |
Java_ContentViewCore_getHeight(env, j_obj.obj())); |
} |
+gfx::Size ContentViewCoreImpl::GetDIPSize() const { |
+ return gfx::ToCeiledSize(gfx::ScaleSize(GetPhysicalSize(), 1 / DpiScale())); |
+} |
+ |
void ContentViewCoreImpl::AttachLayer(scoped_refptr<cc::Layer> layer) { |
root_layer_->addChild(layer); |
} |