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

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: Rebase 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 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 if (!host_ || !host_->GetView()) 224 if (!host_ || !host_->GetView())
225 return; 225 return;
226 226
227 last_frame_time_ = base::TimeTicks::Now(); 227 last_frame_time_ = base::TimeTicks::Now();
228 228
229 RenderWidgetHostViewBase* view = static_cast<RenderWidgetHostViewBase*>( 229 RenderWidgetHostViewBase* view = static_cast<RenderWidgetHostViewBase*>(
230 host_->GetView()); 230 host_->GetView());
231 // TODO(vkuzkokov): do not use previous frame metadata. 231 // TODO(vkuzkokov): do not use previous frame metadata.
232 cc::CompositorFrameMetadata& metadata = last_compositor_frame_metadata_; 232 cc::CompositorFrameMetadata& metadata = last_compositor_frame_metadata_;
233 233
234 float page_scale = metadata.page_scale_factor;
235 gfx::SizeF viewport_size_dip = gfx::ScaleSize( 234 gfx::SizeF viewport_size_dip = gfx::ScaleSize(
236 metadata.scrollable_viewport_size, page_scale); 235 metadata.scrollable_viewport_size, metadata.page_scale_factor);
237 236 gfx::SizeF screen_size_dip = gfx::ScaleSize(view->GetPhysicalBackingSize(),
238 float total_bar_height_dip = metadata.location_bar_content_translation.y() + 237 1 / metadata.device_scale_factor);
239 metadata.overdraw_bottom_height;
240 gfx::SizeF screen_size_dip(viewport_size_dip.width(),
241 viewport_size_dip.height() + total_bar_height_dip);
242 238
243 std::string format; 239 std::string format;
244 int quality = kDefaultScreenshotQuality; 240 int quality = kDefaultScreenshotQuality;
245 double scale = 1; 241 double scale = 1;
246 double max_width = -1; 242 double max_width = -1;
247 double max_height = -1; 243 double max_height = -1;
248 base::DictionaryValue* params = screencast_command_->params(); 244 base::DictionaryValue* params = screencast_command_->params();
249 if (params) { 245 if (params) {
250 params->GetString(devtools::Page::startScreencast::kParamFormat, 246 params->GetString(devtools::Page::startScreencast::kParamFormat,
251 &format); 247 &format);
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 &base_64_data); 610 &base_64_data);
615 611
616 base::DictionaryValue* response = new base::DictionaryValue(); 612 base::DictionaryValue* response = new base::DictionaryValue();
617 response->SetString(devtools::Page::screencastFrame::kParamData, 613 response->SetString(devtools::Page::screencastFrame::kParamData,
618 base_64_data); 614 base_64_data);
619 615
620 // Consider metadata empty in case it has no device scale factor. 616 // Consider metadata empty in case it has no device scale factor.
621 if (metadata.device_scale_factor != 0) { 617 if (metadata.device_scale_factor != 0) {
622 base::DictionaryValue* response_metadata = new base::DictionaryValue(); 618 base::DictionaryValue* response_metadata = new base::DictionaryValue();
623 619
620 RenderWidgetHostViewBase* view = static_cast<RenderWidgetHostViewBase*>(
621 host_->GetView());
piman 2014/08/19 23:58:45 nit: is the cast safe in tests? (sorry, I'm not fa
aelias_OOO_until_Jul13 2014/08/20 03:09:46 There are similar casts elsewhere in this file. d
dgozman 2014/08/20 04:47:01 We don't use mock views in tests for this function
622 if (!view)
623 return;
624
625 gfx::SizeF viewport_size_dip = gfx::ScaleSize(
626 metadata.scrollable_viewport_size, metadata.page_scale_factor);
627 gfx::SizeF screen_size_dip = gfx::ScaleSize(
628 view->GetPhysicalBackingSize(), 1 / metadata.device_scale_factor);
629
624 response_metadata->SetDouble( 630 response_metadata->SetDouble(
625 devtools::Page::ScreencastFrameMetadata::kParamDeviceScaleFactor, 631 devtools::Page::ScreencastFrameMetadata::kParamDeviceScaleFactor,
626 metadata.device_scale_factor); 632 metadata.device_scale_factor);
627 response_metadata->SetDouble( 633 response_metadata->SetDouble(
628 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactor, 634 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactor,
629 metadata.page_scale_factor); 635 metadata.page_scale_factor);
630 response_metadata->SetDouble( 636 response_metadata->SetDouble(
631 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactorMin, 637 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactorMin,
632 metadata.min_page_scale_factor); 638 metadata.min_page_scale_factor);
633 response_metadata->SetDouble( 639 response_metadata->SetDouble(
634 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactorMax, 640 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactorMax,
635 metadata.max_page_scale_factor); 641 metadata.max_page_scale_factor);
636 response_metadata->SetDouble( 642 response_metadata->SetDouble(
637 devtools::Page::ScreencastFrameMetadata::kParamOffsetTop, 643 devtools::Page::ScreencastFrameMetadata::kParamOffsetTop,
638 metadata.location_bar_content_translation.y()); 644 metadata.location_bar_content_translation.y());
639 response_metadata->SetDouble( 645 response_metadata->SetDouble(
640 devtools::Page::ScreencastFrameMetadata::kParamOffsetBottom, 646 devtools::Page::ScreencastFrameMetadata::kParamOffsetBottom,
641 metadata.overdraw_bottom_height); 647 screen_size_dip.height() -
648 metadata.location_bar_content_translation.y() -
649 viewport_size_dip.height());
642 650
643 base::DictionaryValue* viewport = new base::DictionaryValue(); 651 base::DictionaryValue* viewport = new base::DictionaryValue();
644 viewport->SetDouble(devtools::DOM::Rect::kParamX, 652 viewport->SetDouble(devtools::DOM::Rect::kParamX,
645 metadata.root_scroll_offset.x()); 653 metadata.root_scroll_offset.x());
646 viewport->SetDouble(devtools::DOM::Rect::kParamY, 654 viewport->SetDouble(devtools::DOM::Rect::kParamY,
647 metadata.root_scroll_offset.y()); 655 metadata.root_scroll_offset.y());
648 viewport->SetDouble(devtools::DOM::Rect::kParamWidth, 656 viewport->SetDouble(devtools::DOM::Rect::kParamWidth,
649 metadata.scrollable_viewport_size.width()); 657 metadata.scrollable_viewport_size.width());
650 viewport->SetDouble(devtools::DOM::Rect::kParamHeight, 658 viewport->SetDouble(devtools::DOM::Rect::kParamHeight,
651 metadata.scrollable_viewport_size.height()); 659 metadata.scrollable_viewport_size.height());
652 response_metadata->Set( 660 response_metadata->Set(
653 devtools::Page::ScreencastFrameMetadata::kParamViewport, viewport); 661 devtools::Page::ScreencastFrameMetadata::kParamViewport, viewport);
654 662
655 gfx::SizeF viewport_size_dip = gfx::ScaleSize(
656 metadata.scrollable_viewport_size, metadata.page_scale_factor);
657 response_metadata->SetDouble( 663 response_metadata->SetDouble(
658 devtools::Page::ScreencastFrameMetadata::kParamDeviceWidth, 664 devtools::Page::ScreencastFrameMetadata::kParamDeviceWidth,
659 viewport_size_dip.width()); 665 screen_size_dip.width());
660 response_metadata->SetDouble( 666 response_metadata->SetDouble(
661 devtools::Page::ScreencastFrameMetadata::kParamDeviceHeight, 667 devtools::Page::ScreencastFrameMetadata::kParamDeviceHeight,
662 viewport_size_dip.height() + 668 screen_size_dip.height());
663 metadata.location_bar_content_translation.y() +
664 metadata.overdraw_bottom_height);
665 response_metadata->SetDouble( 669 response_metadata->SetDouble(
666 devtools::Page::ScreencastFrameMetadata::kParamScrollOffsetX, 670 devtools::Page::ScreencastFrameMetadata::kParamScrollOffsetX,
667 metadata.root_scroll_offset.x()); 671 metadata.root_scroll_offset.x());
668 response_metadata->SetDouble( 672 response_metadata->SetDouble(
669 devtools::Page::ScreencastFrameMetadata::kParamScrollOffsetY, 673 devtools::Page::ScreencastFrameMetadata::kParamScrollOffsetY,
670 metadata.root_scroll_offset.y()); 674 metadata.root_scroll_offset.y());
671 675
672 response->Set(devtools::Page::screencastFrame::kParamMetadata, 676 response->Set(devtools::Page::screencastFrame::kParamMetadata,
673 response_metadata); 677 response_metadata);
674 } 678 }
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after
1245 return command->InternalErrorResponse("Could not connect to view"); 1249 return command->InternalErrorResponse("Could not connect to view");
1246 1250
1247 if (event->type == WebInputEvent::MouseWheel) 1251 if (event->type == WebInputEvent::MouseWheel)
1248 host_->ForwardWheelEvent(wheel_event); 1252 host_->ForwardWheelEvent(wheel_event);
1249 else 1253 else
1250 host_->ForwardMouseEvent(mouse_event); 1254 host_->ForwardMouseEvent(mouse_event);
1251 return command->SuccessResponse(NULL); 1255 return command->SuccessResponse(NULL);
1252 } 1256 }
1253 1257
1254 } // namespace content 1258 } // 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