| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/protocol/page_handler.h" | 5 #include "content/browser/devtools/protocol/page_handler.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/base64.h" | 9 #include "base/base64.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 #include "content/public/browser/browser_thread.h" | 24 #include "content/public/browser/browser_thread.h" |
| 25 #include "content/public/browser/javascript_dialog_manager.h" | 25 #include "content/public/browser/javascript_dialog_manager.h" |
| 26 #include "content/public/browser/navigation_controller.h" | 26 #include "content/public/browser/navigation_controller.h" |
| 27 #include "content/public/browser/navigation_entry.h" | 27 #include "content/public/browser/navigation_entry.h" |
| 28 #include "content/public/browser/navigation_handle.h" | 28 #include "content/public/browser/navigation_handle.h" |
| 29 #include "content/public/browser/notification_service.h" | 29 #include "content/public/browser/notification_service.h" |
| 30 #include "content/public/browser/notification_types.h" | 30 #include "content/public/browser/notification_types.h" |
| 31 #include "content/public/browser/storage_partition.h" | 31 #include "content/public/browser/storage_partition.h" |
| 32 #include "content/public/browser/web_contents_delegate.h" | 32 #include "content/public/browser/web_contents_delegate.h" |
| 33 #include "content/public/common/referrer.h" | 33 #include "content/public/common/referrer.h" |
| 34 #include "third_party/WebKit/public/platform/WebScreenInfo.h" | |
| 35 #include "third_party/skia/include/core/SkBitmap.h" | 34 #include "third_party/skia/include/core/SkBitmap.h" |
| 36 #include "ui/base/page_transition_types.h" | 35 #include "ui/base/page_transition_types.h" |
| 37 #include "ui/gfx/codec/jpeg_codec.h" | 36 #include "ui/gfx/codec/jpeg_codec.h" |
| 38 #include "ui/gfx/codec/png_codec.h" | 37 #include "ui/gfx/codec/png_codec.h" |
| 39 #include "ui/gfx/geometry/size_conversions.h" | 38 #include "ui/gfx/geometry/size_conversions.h" |
| 40 #include "ui/snapshot/snapshot.h" | 39 #include "ui/snapshot/snapshot.h" |
| 41 #include "url/gurl.h" | 40 #include "url/gurl.h" |
| 42 | 41 |
| 43 namespace content { | 42 namespace content { |
| 44 namespace devtools { | 43 namespace devtools { |
| (...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 464 host_->GetView()); | 463 host_->GetView()); |
| 465 // TODO(vkuzkokov): do not use previous frame metadata. | 464 // TODO(vkuzkokov): do not use previous frame metadata. |
| 466 cc::CompositorFrameMetadata& metadata = last_compositor_frame_metadata_; | 465 cc::CompositorFrameMetadata& metadata = last_compositor_frame_metadata_; |
| 467 | 466 |
| 468 gfx::SizeF viewport_size_dip = gfx::ScaleSize( | 467 gfx::SizeF viewport_size_dip = gfx::ScaleSize( |
| 469 metadata.scrollable_viewport_size, metadata.page_scale_factor); | 468 metadata.scrollable_viewport_size, metadata.page_scale_factor); |
| 470 gfx::SizeF screen_size_dip = | 469 gfx::SizeF screen_size_dip = |
| 471 gfx::ScaleSize(gfx::SizeF(view->GetPhysicalBackingSize()), | 470 gfx::ScaleSize(gfx::SizeF(view->GetPhysicalBackingSize()), |
| 472 1 / metadata.device_scale_factor); | 471 1 / metadata.device_scale_factor); |
| 473 | 472 |
| 474 blink::WebScreenInfo screen_info; | 473 content::ScreenInfo screen_info; |
| 475 GetWebContents()->GetView()->GetScreenInfo(&screen_info); | 474 GetWebContents()->GetView()->GetScreenInfo(&screen_info); |
| 476 double device_scale_factor = screen_info.deviceScaleFactor; | 475 double device_scale_factor = screen_info.device_scale_factor; |
| 477 double scale = 1; | 476 double scale = 1; |
| 478 | 477 |
| 479 if (screencast_max_width_ > 0) { | 478 if (screencast_max_width_ > 0) { |
| 480 double max_width_dip = screencast_max_width_ / device_scale_factor; | 479 double max_width_dip = screencast_max_width_ / device_scale_factor; |
| 481 scale = std::min(scale, max_width_dip / screen_size_dip.width()); | 480 scale = std::min(scale, max_width_dip / screen_size_dip.width()); |
| 482 } | 481 } |
| 483 if (screencast_max_height_ > 0) { | 482 if (screencast_max_height_ > 0) { |
| 484 double max_height_dip = screencast_max_height_ / device_scale_factor; | 483 double max_height_dip = screencast_max_height_ / device_scale_factor; |
| 485 scale = std::min(scale, max_height_dip / screen_size_dip.height()); | 484 scale = std::min(scale, max_height_dip / screen_size_dip.height()); |
| 486 } | 485 } |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 581 | 580 |
| 582 void PageHandler::OnColorPicked(int r, int g, int b, int a) { | 581 void PageHandler::OnColorPicked(int r, int g, int b, int a) { |
| 583 scoped_refptr<dom::RGBA> color = | 582 scoped_refptr<dom::RGBA> color = |
| 584 dom::RGBA::Create()->set_r(r)->set_g(g)->set_b(b)->set_a(a); | 583 dom::RGBA::Create()->set_r(r)->set_g(g)->set_b(b)->set_a(a); |
| 585 client_->ColorPicked(ColorPickedParams::Create()->set_color(color)); | 584 client_->ColorPicked(ColorPickedParams::Create()->set_color(color)); |
| 586 } | 585 } |
| 587 | 586 |
| 588 } // namespace page | 587 } // namespace page |
| 589 } // namespace devtools | 588 } // namespace devtools |
| 590 } // namespace content | 589 } // namespace content |
| OLD | NEW |