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

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_mac.mm

Issue 1608733002: Remove ui/gfx/screen_type_delegate.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@metro-mode-4
Patch Set: and another rebase Created 4 years, 11 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/renderer_host/render_widget_host_view_mac.h" 5 #include "content/browser/renderer_host/render_widget_host_view_mac.h"
6 6
7 #import <objc/runtime.h> 7 #import <objc/runtime.h>
8 #include <OpenGL/gl.h> 8 #include <OpenGL/gl.h>
9 #include <QuartzCore/QuartzCore.h> 9 #include <QuartzCore/QuartzCore.h>
10 #include <stdint.h> 10 #include <stdint.h>
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 if (ancestor_window && (NSWidth([enclosing_window frame]) == 389 if (ancestor_window && (NSWidth([enclosing_window frame]) ==
390 NSWidth([ancestor_window frame]))) { 390 NSWidth([ancestor_window frame]))) {
391 enclosing_window = ancestor_window; 391 enclosing_window = ancestor_window;
392 } 392 }
393 393
394 return enclosing_window; 394 return enclosing_window;
395 } 395 }
396 396
397 blink::WebScreenInfo GetWebScreenInfo(NSView* view) { 397 blink::WebScreenInfo GetWebScreenInfo(NSView* view) {
398 gfx::Display display = 398 gfx::Display display =
399 gfx::Screen::GetNativeScreen()->GetDisplayNearestWindow(view); 399 gfx::Screen::GetScreen()->GetDisplayNearestWindow(view);
400 400
401 NSScreen* screen = [NSScreen deepestScreen]; 401 NSScreen* screen = [NSScreen deepestScreen];
402 402
403 blink::WebScreenInfo results; 403 blink::WebScreenInfo results;
404 404
405 results.deviceScaleFactor = static_cast<int>(display.device_scale_factor()); 405 results.deviceScaleFactor = static_cast<int>(display.device_scale_factor());
406 results.depth = NSBitsPerPixelFromDepth([screen depth]); 406 results.depth = NSBitsPerPixelFromDepth([screen depth]);
407 results.depthPerComponent = NSBitsPerSampleFromDepth([screen depth]); 407 results.depthPerComponent = NSBitsPerSampleFromDepth([screen depth]);
408 results.isMonochrome = 408 results.isMonochrome =
409 [[screen colorSpace] colorSpaceModel] == NSGrayColorSpaceModel; 409 [[screen colorSpace] colorSpaceModel] == NSGrayColorSpaceModel;
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 background_layer_.reset([[CALayer alloc] init]); 532 background_layer_.reset([[CALayer alloc] init]);
533 // Set the default color to be white. This is the wrong thing to do, but many 533 // Set the default color to be white. This is the wrong thing to do, but many
534 // UI components expect this view to be opaque. 534 // UI components expect this view to be opaque.
535 [background_layer_ setBackgroundColor:CGColorGetConstantColor(kCGColorWhite)]; 535 [background_layer_ setBackgroundColor:CGColorGetConstantColor(kCGColorWhite)];
536 [cocoa_view_ setLayer:background_layer_]; 536 [cocoa_view_ setLayer:background_layer_];
537 [cocoa_view_ setWantsLayer:YES]; 537 [cocoa_view_ setWantsLayer:YES];
538 538
539 root_layer_.reset(new ui::Layer(ui::LAYER_SOLID_COLOR)); 539 root_layer_.reset(new ui::Layer(ui::LAYER_SOLID_COLOR));
540 delegated_frame_host_.reset(new DelegatedFrameHost(this)); 540 delegated_frame_host_.reset(new DelegatedFrameHost(this));
541 541
542 gfx::Screen::GetScreenFor(cocoa_view_)->AddObserver(this); 542 gfx::Screen::GetScreen()->AddObserver(this);
543 543
544 if (!is_guest_view_hack_) 544 if (!is_guest_view_hack_)
545 render_widget_host_->SetView(this); 545 render_widget_host_->SetView(this);
546 546
547 // Let the page-level input event router know about our surface ID 547 // Let the page-level input event router know about our surface ID
548 // namespace for surface-based hit testing. 548 // namespace for surface-based hit testing.
549 if (render_widget_host_->delegate() && 549 if (render_widget_host_->delegate() &&
550 render_widget_host_->delegate()->GetInputEventRouter()) { 550 render_widget_host_->delegate()->GetInputEventRouter()) {
551 render_widget_host_->delegate() 551 render_widget_host_->delegate()
552 ->GetInputEventRouter() 552 ->GetInputEventRouter()
553 ->AddSurfaceIdNamespaceOwner(GetSurfaceIdNamespace(), this); 553 ->AddSurfaceIdNamespaceOwner(GetSurfaceIdNamespace(), this);
554 } 554 }
555 } 555 }
556 556
557 RenderWidgetHostViewMac::~RenderWidgetHostViewMac() { 557 RenderWidgetHostViewMac::~RenderWidgetHostViewMac() {
558 gfx::Screen::GetScreenFor(cocoa_view_)->RemoveObserver(this); 558 gfx::Screen::GetScreen()->RemoveObserver(this);
559 559
560 // This is being called from |cocoa_view_|'s destructor, so invalidate the 560 // This is being called from |cocoa_view_|'s destructor, so invalidate the
561 // pointer. 561 // pointer.
562 cocoa_view_ = nil; 562 cocoa_view_ = nil;
563 563
564 UnlockMouse(); 564 UnlockMouse();
565 565
566 if (render_widget_host_ && render_widget_host_->delegate() && 566 if (render_widget_host_ && render_widget_host_->delegate() &&
567 render_widget_host_->delegate()->GetInputEventRouter()) { 567 render_widget_host_->delegate()->GetInputEventRouter()) {
568 render_widget_host_->delegate() 568 render_widget_host_->delegate()
(...skipping 998 matching lines...) Expand 10 before | Expand all | Expand 10 after
1567 uint32_t RenderWidgetHostViewMac::GetSurfaceIdNamespace() { 1567 uint32_t RenderWidgetHostViewMac::GetSurfaceIdNamespace() {
1568 DCHECK(delegated_frame_host_); 1568 DCHECK(delegated_frame_host_);
1569 return delegated_frame_host_->GetSurfaceIdNamespace(); 1569 return delegated_frame_host_->GetSurfaceIdNamespace();
1570 } 1570 }
1571 1571
1572 uint32_t RenderWidgetHostViewMac::SurfaceIdNamespaceAtPoint( 1572 uint32_t RenderWidgetHostViewMac::SurfaceIdNamespaceAtPoint(
1573 const gfx::Point& point, 1573 const gfx::Point& point,
1574 gfx::Point* transformed_point) { 1574 gfx::Point* transformed_point) {
1575 // The surface hittest happens in device pixels, so we need to convert the 1575 // The surface hittest happens in device pixels, so we need to convert the
1576 // |point| from DIPs to pixels before hittesting. 1576 // |point| from DIPs to pixels before hittesting.
1577 float scale_factor = gfx::Screen::GetScreenFor(cocoa_view_) 1577 float scale_factor = gfx::Screen::GetScreen()
1578 ->GetDisplayNearestWindow(cocoa_view_) 1578 ->GetDisplayNearestWindow(cocoa_view_)
1579 .device_scale_factor(); 1579 .device_scale_factor();
1580 gfx::Point point_in_pixels = gfx::ConvertPointToPixel(scale_factor, point); 1580 gfx::Point point_in_pixels = gfx::ConvertPointToPixel(scale_factor, point);
1581 cc::SurfaceId id = delegated_frame_host_->SurfaceIdAtPoint(point_in_pixels, 1581 cc::SurfaceId id = delegated_frame_host_->SurfaceIdAtPoint(point_in_pixels,
1582 transformed_point); 1582 transformed_point);
1583 *transformed_point = gfx::ConvertPointToDIP(scale_factor, *transformed_point); 1583 *transformed_point = gfx::ConvertPointToDIP(scale_factor, *transformed_point);
1584 1584
1585 // It is possible that the renderer has not yet produced a surface, in which 1585 // It is possible that the renderer has not yet produced a surface, in which
1586 // case we return our current namespace. 1586 // case we return our current namespace.
1587 if (id.is_null()) 1587 if (id.is_null())
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
1752 // gfx::DisplayObserver, public: 1752 // gfx::DisplayObserver, public:
1753 1753
1754 void RenderWidgetHostViewMac::OnDisplayAdded(const gfx::Display& display) { 1754 void RenderWidgetHostViewMac::OnDisplayAdded(const gfx::Display& display) {
1755 } 1755 }
1756 1756
1757 void RenderWidgetHostViewMac::OnDisplayRemoved(const gfx::Display& display) { 1757 void RenderWidgetHostViewMac::OnDisplayRemoved(const gfx::Display& display) {
1758 } 1758 }
1759 1759
1760 void RenderWidgetHostViewMac::OnDisplayMetricsChanged( 1760 void RenderWidgetHostViewMac::OnDisplayMetricsChanged(
1761 const gfx::Display& display, uint32_t metrics) { 1761 const gfx::Display& display, uint32_t metrics) {
1762 gfx::Screen* screen = gfx::Screen::GetScreenFor(cocoa_view_); 1762 gfx::Screen* screen = gfx::Screen::GetScreen();
1763 if (display.id() != screen->GetDisplayNearestWindow(cocoa_view_).id()) 1763 if (display.id() != screen->GetDisplayNearestWindow(cocoa_view_).id())
1764 return; 1764 return;
1765 1765
1766 UpdateScreenInfo(cocoa_view_); 1766 UpdateScreenInfo(cocoa_view_);
1767 } 1767 }
1768 1768
1769 } // namespace content 1769 } // namespace content
1770 1770
1771 // RenderWidgetHostViewCocoa --------------------------------------------------- 1771 // RenderWidgetHostViewCocoa ---------------------------------------------------
1772 1772
(...skipping 1663 matching lines...) Expand 10 before | Expand all | Expand 10 after
3436 3436
3437 // "-webkit-app-region: drag | no-drag" is implemented on Mac by excluding 3437 // "-webkit-app-region: drag | no-drag" is implemented on Mac by excluding
3438 // regions that are not draggable. (See ControlRegionView in 3438 // regions that are not draggable. (See ControlRegionView in
3439 // native_app_window_cocoa.mm). This requires the render host view to be 3439 // native_app_window_cocoa.mm). This requires the render host view to be
3440 // draggable by default. 3440 // draggable by default.
3441 - (BOOL)mouseDownCanMoveWindow { 3441 - (BOOL)mouseDownCanMoveWindow {
3442 return YES; 3442 return YES;
3443 } 3443 }
3444 3444
3445 @end 3445 @end
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_base.cc ('k') | content/browser/web_contents/web_contents_view_aura.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698