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

Unified Diff: chrome/browser/ui/startup/startup_browser_creator_impl.cc

Issue 11066130: Fix for out-of-sync scale factor issue (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: use API that exists on 23 Created 8 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/display/multi_display_manager.cc ('k') | content/browser/renderer_host/render_widget_host_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/startup/startup_browser_creator_impl.cc
diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
index d6b0d4101fbb7925452af2bea314f89d960f7953..daec2d31c313cbcffc27b22a36458ecc8ddc63c4 100644
--- a/chrome/browser/ui/startup/startup_browser_creator_impl.cc
+++ b/chrome/browser/ui/startup/startup_browser_creator_impl.cc
@@ -97,6 +97,8 @@
#if defined(USE_ASH)
#include "ash/launcher/launcher_types.h"
+#include "ash/shell.h"
+#include "ui/aura/window.h"
#endif
#if defined(OS_MACOSX)
@@ -806,6 +808,20 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser(Browser* browser,
#endif
}
+#if defined(USE_ASH)
+ if (ash::Shell::HasInstance()) {
+ // Set the browser's root window to be an active root window now so
+ // that that web contents can determine correct scale factor for the
+ // renderer. This is a short term fix for crbug.com/155201. Without
+ // this, the renderer may use wrong scale factor first, then
+ // switched to the correct scale factor, which can cause race
+ // condition and lead to the results rendered at wrong scale factor.
+ // Long term fix is tracked in crbug.com/15543.
+ ash::Shell::GetInstance()->set_active_root_window(
+ browser->window()->GetNativeWindow()->GetRootWindow());
+ }
+#endif
+
// In kiosk mode, we want to always be fullscreen, so switch to that now.
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kKioskMode))
chrome::ToggleFullscreenMode(browser);
« no previous file with comments | « ash/display/multi_display_manager.cc ('k') | content/browser/renderer_host/render_widget_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698