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

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, 1 month 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 5149177b16217ae5003bd2a92f23fb7cce857d21..97bd33c3c902dea34bf62aac6521d6cd85ef8aae 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -744,7 +744,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_));
@@ -3201,17 +3201,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);
@@ -3320,6 +3309,13 @@ bool RenderViewImpl::DoesRecordFullLayer() const {
}
#endif
+void RenderViewImpl::OnDeviceScaleFactorChanged() {
+ RenderWidget::OnDeviceScaleFactorChanged();
+ UpdateWebViewWithDeviceScaleFactor();
+ if (auto_resize_mode_)
+ AutoResizeCompositor();
+}
+
void RenderViewImpl::SetScreenMetricsEmulationParameters(
bool enabled,
const blink::WebDeviceEmulationParams& params) {
@@ -3711,14 +3707,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