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

Side by Side Diff: content/browser/devtools/renderer_overrides_handler.cc

Issue 476113004: Replace overdraw_bottom_height with top_controls_layout_height. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix ScrollViewportRounding test Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/devtools/renderer_overrides_handler.h" 5 #include "content/browser/devtools/renderer_overrides_handler.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/barrier_closure.h" 10 #include "base/barrier_closure.h"
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 if (!host_ || !host_->GetView()) 225 if (!host_ || !host_->GetView())
226 return; 226 return;
227 227
228 last_frame_time_ = base::TimeTicks::Now(); 228 last_frame_time_ = base::TimeTicks::Now();
229 229
230 RenderWidgetHostViewBase* view = static_cast<RenderWidgetHostViewBase*>( 230 RenderWidgetHostViewBase* view = static_cast<RenderWidgetHostViewBase*>(
231 host_->GetView()); 231 host_->GetView());
232 // TODO(vkuzkokov): do not use previous frame metadata. 232 // TODO(vkuzkokov): do not use previous frame metadata.
233 cc::CompositorFrameMetadata& metadata = last_compositor_frame_metadata_; 233 cc::CompositorFrameMetadata& metadata = last_compositor_frame_metadata_;
234 234
235 float page_scale = metadata.page_scale_factor;
236 gfx::SizeF viewport_size_dip = gfx::ScaleSize( 235 gfx::SizeF viewport_size_dip = gfx::ScaleSize(
237 metadata.scrollable_viewport_size, page_scale); 236 metadata.scrollable_viewport_size, metadata.page_scale_factor);
238 237 gfx::SizeF screen_size_dip = gfx::ScaleSize(view->GetPhysicalBackingSize(),
239 float total_bar_height_dip = metadata.location_bar_content_translation.y() + 238 1 / metadata.device_scale_factor);
240 metadata.overdraw_bottom_height;
241 gfx::SizeF screen_size_dip(viewport_size_dip.width(),
242 viewport_size_dip.height() + total_bar_height_dip);
243 239
244 std::string format; 240 std::string format;
245 int quality = kDefaultScreenshotQuality; 241 int quality = kDefaultScreenshotQuality;
246 double scale = 1; 242 double scale = 1;
247 double max_width = -1; 243 double max_width = -1;
248 double max_height = -1; 244 double max_height = -1;
249 base::DictionaryValue* params = screencast_command_->params(); 245 base::DictionaryValue* params = screencast_command_->params();
250 if (params) { 246 if (params) {
251 params->GetString(devtools::Page::startScreencast::kParamFormat, 247 params->GetString(devtools::Page::startScreencast::kParamFormat,
252 &format); 248 &format);
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 &base_64_data); 627 &base_64_data);
632 628
633 base::DictionaryValue* response = new base::DictionaryValue(); 629 base::DictionaryValue* response = new base::DictionaryValue();
634 response->SetString(devtools::Page::screencastFrame::kParamData, 630 response->SetString(devtools::Page::screencastFrame::kParamData,
635 base_64_data); 631 base_64_data);
636 632
637 // Consider metadata empty in case it has no device scale factor. 633 // Consider metadata empty in case it has no device scale factor.
638 if (metadata.device_scale_factor != 0) { 634 if (metadata.device_scale_factor != 0) {
639 base::DictionaryValue* response_metadata = new base::DictionaryValue(); 635 base::DictionaryValue* response_metadata = new base::DictionaryValue();
640 636
637 RenderWidgetHostViewBase* view = static_cast<RenderWidgetHostViewBase*>(
638 host_->GetView());
639 if (!view)
640 return;
641
642 gfx::SizeF viewport_size_dip = gfx::ScaleSize(
643 metadata.scrollable_viewport_size, metadata.page_scale_factor);
644 gfx::SizeF screen_size_dip = gfx::ScaleSize(
645 view->GetPhysicalBackingSize(), 1 / metadata.device_scale_factor);
646
641 response_metadata->SetDouble( 647 response_metadata->SetDouble(
642 devtools::Page::ScreencastFrameMetadata::kParamDeviceScaleFactor, 648 devtools::Page::ScreencastFrameMetadata::kParamDeviceScaleFactor,
643 metadata.device_scale_factor); 649 metadata.device_scale_factor);
644 response_metadata->SetDouble( 650 response_metadata->SetDouble(
645 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactor, 651 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactor,
646 metadata.page_scale_factor); 652 metadata.page_scale_factor);
647 response_metadata->SetDouble( 653 response_metadata->SetDouble(
648 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactorMin, 654 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactorMin,
649 metadata.min_page_scale_factor); 655 metadata.min_page_scale_factor);
650 response_metadata->SetDouble( 656 response_metadata->SetDouble(
651 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactorMax, 657 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactorMax,
652 metadata.max_page_scale_factor); 658 metadata.max_page_scale_factor);
653 response_metadata->SetDouble( 659 response_metadata->SetDouble(
654 devtools::Page::ScreencastFrameMetadata::kParamOffsetTop, 660 devtools::Page::ScreencastFrameMetadata::kParamOffsetTop,
655 metadata.location_bar_content_translation.y()); 661 metadata.location_bar_content_translation.y());
656 response_metadata->SetDouble( 662 response_metadata->SetDouble(
657 devtools::Page::ScreencastFrameMetadata::kParamOffsetBottom, 663 devtools::Page::ScreencastFrameMetadata::kParamOffsetBottom,
658 metadata.overdraw_bottom_height); 664 screen_size_dip.height() -
665 metadata.location_bar_content_translation.y() -
666 viewport_size_dip.height());
659 667
660 base::DictionaryValue* viewport = new base::DictionaryValue(); 668 base::DictionaryValue* viewport = new base::DictionaryValue();
661 viewport->SetDouble(devtools::DOM::Rect::kParamX, 669 viewport->SetDouble(devtools::DOM::Rect::kParamX,
662 metadata.root_scroll_offset.x()); 670 metadata.root_scroll_offset.x());
663 viewport->SetDouble(devtools::DOM::Rect::kParamY, 671 viewport->SetDouble(devtools::DOM::Rect::kParamY,
664 metadata.root_scroll_offset.y()); 672 metadata.root_scroll_offset.y());
665 viewport->SetDouble(devtools::DOM::Rect::kParamWidth, 673 viewport->SetDouble(devtools::DOM::Rect::kParamWidth,
666 metadata.scrollable_viewport_size.width()); 674 metadata.scrollable_viewport_size.width());
667 viewport->SetDouble(devtools::DOM::Rect::kParamHeight, 675 viewport->SetDouble(devtools::DOM::Rect::kParamHeight,
668 metadata.scrollable_viewport_size.height()); 676 metadata.scrollable_viewport_size.height());
669 response_metadata->Set( 677 response_metadata->Set(
670 devtools::Page::ScreencastFrameMetadata::kParamViewport, viewport); 678 devtools::Page::ScreencastFrameMetadata::kParamViewport, viewport);
671 679
672 gfx::SizeF viewport_size_dip = gfx::ScaleSize(
673 metadata.scrollable_viewport_size, metadata.page_scale_factor);
674 response_metadata->SetDouble( 680 response_metadata->SetDouble(
675 devtools::Page::ScreencastFrameMetadata::kParamDeviceWidth, 681 devtools::Page::ScreencastFrameMetadata::kParamDeviceWidth,
676 viewport_size_dip.width()); 682 screen_size_dip.width());
677 response_metadata->SetDouble( 683 response_metadata->SetDouble(
678 devtools::Page::ScreencastFrameMetadata::kParamDeviceHeight, 684 devtools::Page::ScreencastFrameMetadata::kParamDeviceHeight,
679 viewport_size_dip.height() + 685 screen_size_dip.height());
680 metadata.location_bar_content_translation.y() +
681 metadata.overdraw_bottom_height);
682 response_metadata->SetDouble( 686 response_metadata->SetDouble(
683 devtools::Page::ScreencastFrameMetadata::kParamScrollOffsetX, 687 devtools::Page::ScreencastFrameMetadata::kParamScrollOffsetX,
684 metadata.root_scroll_offset.x()); 688 metadata.root_scroll_offset.x());
685 response_metadata->SetDouble( 689 response_metadata->SetDouble(
686 devtools::Page::ScreencastFrameMetadata::kParamScrollOffsetY, 690 devtools::Page::ScreencastFrameMetadata::kParamScrollOffsetY,
687 metadata.root_scroll_offset.y()); 691 metadata.root_scroll_offset.y());
688 692
689 response->Set(devtools::Page::screencastFrame::kParamMetadata, 693 response->Set(devtools::Page::screencastFrame::kParamMetadata,
690 response_metadata); 694 response_metadata);
691 } 695 }
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after
1275 return; 1279 return;
1276 bool enabled = touch_emulation_enabled_ || screencast_command_; 1280 bool enabled = touch_emulation_enabled_ || screencast_command_;
1277 host_->SetTouchEventEmulationEnabled(enabled); 1281 host_->SetTouchEventEmulationEnabled(enabled);
1278 WebContentsImpl* web_contents = static_cast<WebContentsImpl*>( 1282 WebContentsImpl* web_contents = static_cast<WebContentsImpl*>(
1279 WebContents::FromRenderViewHost(host_)); 1283 WebContents::FromRenderViewHost(host_));
1280 if (web_contents) 1284 if (web_contents)
1281 web_contents->SetForceDisableOverscrollContent(enabled); 1285 web_contents->SetForceDisableOverscrollContent(enabled);
1282 } 1286 }
1283 1287
1284 } // namespace content 1288 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/android/content_view_core_impl.cc ('k') | content/browser/renderer_host/render_widget_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698