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

Unified Diff: content/renderer/render_view_impl.cc

Issue 1456753002: Compute the popup location/size correctly when use-zoom-for-dsf is enabled. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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
Index: content/renderer/render_view_impl.cc
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index a5aa8179f99dec9406c6b7687fa5e52afd36df4e..247d28bc829ffe8a5d38023b4a6eedf17db10e03 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -734,7 +734,7 @@ void RenderViewImpl::Initialize(const ViewMsg_New_Params& params,
// completing initialization. Otherwise, we can finish it now.
if (opener_id_ == MSG_ROUTING_NONE)
did_show_ = true;
- UpdateDeviceScaleFactor();
+ UpdateWebViewWithDeviceScaleFactor();
webview()->setDisplayMode(display_mode_);
webview()->settings()->setPreferCompositingToLCDTextEnabled(
PreferCompositingToLCDText(compositor_deps_, device_scale_factor_));
@@ -3203,17 +3203,6 @@ void RenderViewImpl::OnImeConfirmComposition(
keep_selection);
}
-void RenderViewImpl::SetDeviceScaleFactor(float device_scale_factor) {
- RenderWidget::SetDeviceScaleFactor(device_scale_factor);
- if (webview()) {
- UpdateDeviceScaleFactor();
- webview()->settings()->setPreferCompositingToLCDTextEnabled(
- PreferCompositingToLCDText(compositor_deps_, device_scale_factor_));
- }
- if (auto_resize_mode_)
- AutoResizeCompositor();
-}
-
bool RenderViewImpl::SetDeviceColorProfile(
const std::vector<char>& profile) {
bool changed = RenderWidget::SetDeviceColorProfile(profile);
@@ -3316,6 +3305,13 @@ void RenderViewImpl::DidCompletePageScaleAnimation() {
FocusChangeComplete();
}
+void RenderViewImpl::OnDeviceScaleFactorChanged() {
+ RenderWidget::OnDeviceScaleFactorChanged();
+ UpdateWebViewWithDeviceScaleFactor();
+ if (auto_resize_mode_)
+ AutoResizeCompositor();
+}
+
void RenderViewImpl::SetScreenMetricsEmulationParameters(
bool enabled,
const blink::WebDeviceEmulationParams& params) {
@@ -3706,14 +3702,16 @@ void RenderViewImpl::DidStopLoadingIcons() {
SendUpdateFaviconURL(urls);
}
-void RenderViewImpl::UpdateDeviceScaleFactor() {
+void RenderViewImpl::UpdateWebViewWithDeviceScaleFactor() {
+ if (!webview())
+ return;
if (IsUseZoomForDSFEnabled()) {
- compositor_->SetPaintedDeviceScaleFactor(device_scale_factor_);
- webview()->setZoomFactorForDeviceScaleFactor(
- device_scale_factor_);
+ webview()->setZoomFactorForDeviceScaleFactor(device_scale_factor_);
} else {
webview()->setDeviceScaleFactor(device_scale_factor_);
}
+ webview()->settings()->setPreferCompositingToLCDTextEnabled(
+ PreferCompositingToLCDText(compositor_deps_, device_scale_factor_));
}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698