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

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: 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 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 if (!host->GetView()) 192 if (!host->GetView())
193 return; 193 return;
194 194
195 last_frame_time_ = base::TimeTicks::Now(); 195 last_frame_time_ = base::TimeTicks::Now();
196 196
197 RenderWidgetHostViewBase* view = static_cast<RenderWidgetHostViewBase*>( 197 RenderWidgetHostViewBase* view = static_cast<RenderWidgetHostViewBase*>(
198 host->GetView()); 198 host->GetView());
199 // TODO(vkuzkokov): do not use previous frame metadata. 199 // TODO(vkuzkokov): do not use previous frame metadata.
200 cc::CompositorFrameMetadata& metadata = last_compositor_frame_metadata_; 200 cc::CompositorFrameMetadata& metadata = last_compositor_frame_metadata_;
201 201
202 float page_scale = metadata.page_scale_factor;
203 gfx::SizeF viewport_size_dip = gfx::ScaleSize( 202 gfx::SizeF viewport_size_dip = gfx::ScaleSize(
204 metadata.scrollable_viewport_size, page_scale); 203 metadata.scrollable_viewport_size, metadata.page_scale_factor);
205 204 gfx::SizeF screen_size_dip = gfx::ScaleSize(view->GetPhysicalBackingSize(),
206 float total_bar_height_dip = metadata.location_bar_content_translation.y() + 205 1 / metadata.device_scale_factor);
207 metadata.overdraw_bottom_height;
208 gfx::SizeF screen_size_dip(viewport_size_dip.width(),
209 viewport_size_dip.height() + total_bar_height_dip);
210 206
211 std::string format; 207 std::string format;
212 int quality = kDefaultScreenshotQuality; 208 int quality = kDefaultScreenshotQuality;
213 double scale = 1; 209 double scale = 1;
214 double max_width = -1; 210 double max_width = -1;
215 double max_height = -1; 211 double max_height = -1;
216 base::DictionaryValue* params = screencast_command_->params(); 212 base::DictionaryValue* params = screencast_command_->params();
217 if (params) { 213 if (params) {
218 params->GetString(devtools::Page::startScreencast::kParamFormat, 214 params->GetString(devtools::Page::startScreencast::kParamFormat,
219 &format); 215 &format);
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 &base_64_data); 559 &base_64_data);
564 560
565 base::DictionaryValue* response = new base::DictionaryValue(); 561 base::DictionaryValue* response = new base::DictionaryValue();
566 response->SetString(devtools::Page::screencastFrame::kParamData, 562 response->SetString(devtools::Page::screencastFrame::kParamData,
567 base_64_data); 563 base_64_data);
568 564
569 // Consider metadata empty in case it has no device scale factor. 565 // Consider metadata empty in case it has no device scale factor.
570 if (metadata.device_scale_factor != 0) { 566 if (metadata.device_scale_factor != 0) {
571 base::DictionaryValue* response_metadata = new base::DictionaryValue(); 567 base::DictionaryValue* response_metadata = new base::DictionaryValue();
572 568
569 RenderViewHost* host = GetRenderViewHostImpl();
570 RenderWidgetHostViewBase* view = static_cast<RenderWidgetHostViewBase*>(
571 host->GetView());
572 if (!view)
573 return;
574
575 gfx::SizeF viewport_size_dip = gfx::ScaleSize(
576 metadata.scrollable_viewport_size, metadata.page_scale_factor);
577 gfx::SizeF screen_size_dip = gfx::ScaleSize(
578 view->GetPhysicalBackingSize(), 1 / metadata.device_scale_factor);
dgozman 2014/08/19 13:05:47 Does GetPhysicalBackingSize() change when top cont
aelias_OOO_until_Jul13 2014/08/19 21:28:39 It doesn't change. GetPhysicalBackingSize returns
dgozman 2014/08/20 04:47:01 Great! I remember we erroneously called method her
579
573 response_metadata->SetDouble( 580 response_metadata->SetDouble(
574 devtools::Page::ScreencastFrameMetadata::kParamDeviceScaleFactor, 581 devtools::Page::ScreencastFrameMetadata::kParamDeviceScaleFactor,
575 metadata.device_scale_factor); 582 metadata.device_scale_factor);
576 response_metadata->SetDouble( 583 response_metadata->SetDouble(
577 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactor, 584 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactor,
578 metadata.page_scale_factor); 585 metadata.page_scale_factor);
579 response_metadata->SetDouble( 586 response_metadata->SetDouble(
580 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactorMin, 587 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactorMin,
581 metadata.min_page_scale_factor); 588 metadata.min_page_scale_factor);
582 response_metadata->SetDouble( 589 response_metadata->SetDouble(
583 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactorMax, 590 devtools::Page::ScreencastFrameMetadata::kParamPageScaleFactorMax,
584 metadata.max_page_scale_factor); 591 metadata.max_page_scale_factor);
585 response_metadata->SetDouble( 592 response_metadata->SetDouble(
586 devtools::Page::ScreencastFrameMetadata::kParamOffsetTop, 593 devtools::Page::ScreencastFrameMetadata::kParamOffsetTop,
587 metadata.location_bar_content_translation.y()); 594 metadata.location_bar_content_translation.y());
588 response_metadata->SetDouble( 595 response_metadata->SetDouble(
589 devtools::Page::ScreencastFrameMetadata::kParamOffsetBottom, 596 devtools::Page::ScreencastFrameMetadata::kParamOffsetBottom,
590 metadata.overdraw_bottom_height); 597 screen_size_dip.height() -
598 metadata.location_bar_content_translation.y() -
599 viewport_size_dip.height());
591 600
592 base::DictionaryValue* viewport = new base::DictionaryValue(); 601 base::DictionaryValue* viewport = new base::DictionaryValue();
593 viewport->SetDouble(devtools::DOM::Rect::kParamX, 602 viewport->SetDouble(devtools::DOM::Rect::kParamX,
594 metadata.root_scroll_offset.x()); 603 metadata.root_scroll_offset.x());
595 viewport->SetDouble(devtools::DOM::Rect::kParamY, 604 viewport->SetDouble(devtools::DOM::Rect::kParamY,
596 metadata.root_scroll_offset.y()); 605 metadata.root_scroll_offset.y());
597 viewport->SetDouble(devtools::DOM::Rect::kParamWidth, 606 viewport->SetDouble(devtools::DOM::Rect::kParamWidth,
598 metadata.scrollable_viewport_size.width()); 607 metadata.scrollable_viewport_size.width());
599 viewport->SetDouble(devtools::DOM::Rect::kParamHeight, 608 viewport->SetDouble(devtools::DOM::Rect::kParamHeight,
600 metadata.scrollable_viewport_size.height()); 609 metadata.scrollable_viewport_size.height());
601 response_metadata->Set( 610 response_metadata->Set(
602 devtools::Page::ScreencastFrameMetadata::kParamViewport, viewport); 611 devtools::Page::ScreencastFrameMetadata::kParamViewport, viewport);
603 612
604 gfx::SizeF viewport_size_dip = gfx::ScaleSize(
605 metadata.scrollable_viewport_size, metadata.page_scale_factor);
606 response_metadata->SetDouble( 613 response_metadata->SetDouble(
607 devtools::Page::ScreencastFrameMetadata::kParamDeviceWidth, 614 devtools::Page::ScreencastFrameMetadata::kParamDeviceWidth,
608 viewport_size_dip.width()); 615 screen_size_dip.width());
609 response_metadata->SetDouble( 616 response_metadata->SetDouble(
610 devtools::Page::ScreencastFrameMetadata::kParamDeviceHeight, 617 devtools::Page::ScreencastFrameMetadata::kParamDeviceHeight,
611 viewport_size_dip.height() + 618 screen_size_dip.height());
612 metadata.location_bar_content_translation.y() +
613 metadata.overdraw_bottom_height);
614 response_metadata->SetDouble( 619 response_metadata->SetDouble(
615 devtools::Page::ScreencastFrameMetadata::kParamScrollOffsetX, 620 devtools::Page::ScreencastFrameMetadata::kParamScrollOffsetX,
616 metadata.root_scroll_offset.x()); 621 metadata.root_scroll_offset.x());
617 response_metadata->SetDouble( 622 response_metadata->SetDouble(
618 devtools::Page::ScreencastFrameMetadata::kParamScrollOffsetY, 623 devtools::Page::ScreencastFrameMetadata::kParamScrollOffsetY,
619 metadata.root_scroll_offset.y()); 624 metadata.root_scroll_offset.y());
620 625
621 response->Set(devtools::Page::screencastFrame::kParamMetadata, 626 response->Set(devtools::Page::screencastFrame::kParamMetadata,
622 response_metadata); 627 response_metadata);
623 } 628 }
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
961 host->ForwardMouseEvent(mouse_event); 966 host->ForwardMouseEvent(mouse_event);
962 return command->SuccessResponse(NULL); 967 return command->SuccessResponse(NULL);
963 } 968 }
964 969
965 RenderViewHostImpl* RendererOverridesHandler::GetRenderViewHostImpl() { 970 RenderViewHostImpl* RendererOverridesHandler::GetRenderViewHostImpl() {
966 return static_cast<RenderViewHostImpl*>( 971 return static_cast<RenderViewHostImpl*>(
967 agent_->GetWebContents()->GetRenderViewHost()); 972 agent_->GetWebContents()->GetRenderViewHost());
968 } 973 }
969 974
970 } // namespace content 975 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698