summaryrefslogtreecommitdiffstats
path: root/src/core/content_browser_client_qt.cpp
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2014-05-07 16:40:26 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-05-08 18:46:56 +0200
commitac5cdf7600948a3e403ca3262d7597dc198a0755 (patch)
tree555aeb2793b43ea49e6f305aec0093d6aab868e2 /src/core/content_browser_client_qt.cpp
parent1ca3a574117bdd8e67381b178a823e7d695f4bfd (diff)
Fix a crash when attempting to drag
Q_UNREACHABLE in RenderWidgetHostViewQt::GetNativeView is now called through RenderViewHostImpl::OnStartDragging since the last Chromium update. Even after removing this, OnStartDragging will now also try fetching the device pixel ratio through gfx::Screen::GetNativeScreen(). Provide a dummy implementation of gfx::Screen only to avoid the crash, the class still doesn't do anything and is filled with Q_UNREACHABLEs to catch if any of those methods are reached in a future Chromium update. Change-Id: I2e9dafab5e4622df97100dd7a859523067635118 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
Diffstat (limited to 'src/core/content_browser_client_qt.cpp')
-rw-r--r--src/core/content_browser_client_qt.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp
index 8945ad0e5..200ebd35f 100644
--- a/src/core/content_browser_client_qt.cpp
+++ b/src/core/content_browser_client_qt.cpp
@@ -49,11 +49,13 @@
#include "content/public/browser/resource_dispatcher_host.h"
#include "content/public/common/main_function_params.h"
#include "content/public/common/url_constants.h"
+#include "ui/gfx/screen.h"
#include "ui/gl/gl_context.h"
#include "ui/gl/gl_implementation.h"
#include "ui/gl/gl_share_group.h"
#include "browser_context_qt.h"
+#include "desktop_screen_qt.h"
#include "dev_tools_http_handler_delegate_qt.h"
#include "media_capture_devices_dispatcher.h"
#include "resource_dispatcher_host_delegate_qt.h"
@@ -186,6 +188,8 @@ public:
int PreCreateThreads() Q_DECL_OVERRIDE
{
base::ThreadRestrictions::SetIOAllowed(true);
+ // Like ChromeBrowserMainExtraPartsAura::PreCreateThreads does.
+ gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, new DesktopScreenQt);
return 0;
}