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

Side by Side Diff: content/browser/web_contents/web_contents_view_mac.mm

Issue 2317563004: Change blink::WebScreenInfo to content::ScreenInfo (Closed)
Patch Set: Fix Windows compile Created 4 years, 3 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 #import <Carbon/Carbon.h> 5 #import <Carbon/Carbon.h>
6 6
7 #import "content/browser/web_contents/web_contents_view_mac.h" 7 #import "content/browser/web_contents/web_contents_view_mac.h"
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 22 matching lines...) Expand all
33 #include "ui/display/screen.h" 33 #include "ui/display/screen.h"
34 #include "ui/gfx/image/image_skia_util_mac.h" 34 #include "ui/gfx/image/image_skia_util_mac.h"
35 35
36 using blink::WebDragOperation; 36 using blink::WebDragOperation;
37 using blink::WebDragOperationsMask; 37 using blink::WebDragOperationsMask;
38 using content::DropData; 38 using content::DropData;
39 using content::PopupMenuHelper; 39 using content::PopupMenuHelper;
40 using content::RenderViewHostFactory; 40 using content::RenderViewHostFactory;
41 using content::RenderWidgetHostView; 41 using content::RenderWidgetHostView;
42 using content::RenderWidgetHostViewMac; 42 using content::RenderWidgetHostViewMac;
43 using content::ScreenInfo;
43 using content::WebContents; 44 using content::WebContents;
44 using content::WebContentsImpl; 45 using content::WebContentsImpl;
45 using content::WebContentsViewMac; 46 using content::WebContentsViewMac;
46 47
47 // Ensure that the blink::WebDragOperation enum values stay in sync with 48 // Ensure that the blink::WebDragOperation enum values stay in sync with
48 // NSDragOperation constants, since the code below static_casts between 'em. 49 // NSDragOperation constants, since the code below static_casts between 'em.
49 #define STATIC_ASSERT_ENUM(a, b) \ 50 #define STATIC_ASSERT_ENUM(a, b) \
50 static_assert(static_cast<int>(a) == static_cast<int>(b), \ 51 static_assert(static_cast<int>(a) == static_cast<int>(b), \
51 "enum mismatch: " #a) 52 "enum mismatch: " #a)
52 STATIC_ASSERT_ENUM(NSDragOperationNone, blink::WebDragOperationNone); 53 STATIC_ASSERT_ENUM(NSDragOperationNone, blink::WebDragOperationNone);
(...skipping 17 matching lines...) Expand all
70 - (void)cancelDeferredClose; 71 - (void)cancelDeferredClose;
71 - (void)clearWebContentsView; 72 - (void)clearWebContentsView;
72 - (void)closeTabAfterEvent; 73 - (void)closeTabAfterEvent;
73 - (void)updateWebContentsVisibility; 74 - (void)updateWebContentsVisibility;
74 - (void)viewDidBecomeFirstResponder:(NSNotification*)notification; 75 - (void)viewDidBecomeFirstResponder:(NSNotification*)notification;
75 - (content::WebContentsImpl*)webContents; 76 - (content::WebContentsImpl*)webContents;
76 @end 77 @end
77 78
78 namespace { 79 namespace {
79 80
80 blink::WebScreenInfo GetWebScreenInfo(NSView* view) { 81 content::ScreenInfo GetNSViewScreenInfo(NSView* view) {
81 display::Display display = 82 display::Display display =
82 display::Screen::GetScreen()->GetDisplayNearestWindow(view); 83 display::Screen::GetScreen()->GetDisplayNearestWindow(view);
83 84
84 NSScreen* screen = [NSScreen deepestScreen]; 85 NSScreen* screen = [NSScreen deepestScreen];
85 86
86 blink::WebScreenInfo results; 87 content::ScreenInfo results;
87 88
88 results.deviceScaleFactor = static_cast<int>(display.device_scale_factor()); 89 results.device_scale_factor = static_cast<int>(display.device_scale_factor());
89 results.depth = NSBitsPerPixelFromDepth([screen depth]); 90 results.depth = NSBitsPerPixelFromDepth([screen depth]);
90 results.depthPerComponent = NSBitsPerSampleFromDepth([screen depth]); 91 results.depth_per_component = NSBitsPerSampleFromDepth([screen depth]);
91 results.isMonochrome = 92 results.is_monochrome =
92 [[screen colorSpace] colorSpaceModel] == NSGrayColorSpaceModel; 93 [[screen colorSpace] colorSpaceModel] == NSGrayColorSpaceModel;
93 results.rect = display.bounds(); 94 results.rect = display.bounds();
94 results.availableRect = display.work_area(); 95 results.available_rect = display.work_area();
95 results.orientationAngle = display.RotationAsDegree(); 96 results.orientation_angle = display.RotationAsDegree();
96 results.orientationType = 97 results.orientation_type =
97 content::RenderWidgetHostViewBase::GetOrientationTypeForDesktop(display); 98 content::RenderWidgetHostViewBase::GetOrientationTypeForDesktop(display);
98 99
99 return results; 100 return results;
100 } 101 }
101 102
102 } // namespace 103 } // namespace
103 104
104 namespace content { 105 namespace content {
105 106
106 // static 107 // static
107 void WebContentsView::GetDefaultScreenInfo( 108 void WebContentsView::GetDefaultScreenInfo(ScreenInfo* results) {
108 blink::WebScreenInfo* results) { 109 *results = GetNSViewScreenInfo(nil);
109 *results = GetWebScreenInfo(NULL);
110 } 110 }
111 111
112 WebContentsView* CreateWebContentsView( 112 WebContentsView* CreateWebContentsView(
113 WebContentsImpl* web_contents, 113 WebContentsImpl* web_contents,
114 WebContentsViewDelegate* delegate, 114 WebContentsViewDelegate* delegate,
115 RenderViewHostDelegateView** render_view_host_delegate_view) { 115 RenderViewHostDelegateView** render_view_host_delegate_view) {
116 WebContentsViewMac* rv = new WebContentsViewMac(web_contents, delegate); 116 WebContentsViewMac* rv = new WebContentsViewMac(web_contents, delegate);
117 *render_view_host_delegate_view = rv; 117 *render_view_host_delegate_view = rv;
118 return rv; 118 return rv;
119 } 119 }
(...skipping 23 matching lines...) Expand all
143 if (!rwhv) 143 if (!rwhv)
144 return NULL; 144 return NULL;
145 return rwhv->GetNativeView(); 145 return rwhv->GetNativeView();
146 } 146 }
147 147
148 gfx::NativeWindow WebContentsViewMac::GetTopLevelNativeWindow() const { 148 gfx::NativeWindow WebContentsViewMac::GetTopLevelNativeWindow() const {
149 NSWindow* window = [cocoa_view_.get() window]; 149 NSWindow* window = [cocoa_view_.get() window];
150 return window ? window : delegate_->GetNativeWindow(); 150 return window ? window : delegate_->GetNativeWindow();
151 } 151 }
152 152
153 void WebContentsViewMac::GetScreenInfo(blink::WebScreenInfo* results) const { 153 void WebContentsViewMac::GetScreenInfo(ScreenInfo* results) const {
154 *results = GetWebScreenInfo(GetNativeView()); 154 *results = GetNSViewScreenInfo(GetNativeView());
155 } 155 }
156 156
157 void WebContentsViewMac::GetContainerBounds(gfx::Rect* out) const { 157 void WebContentsViewMac::GetContainerBounds(gfx::Rect* out) const {
158 NSWindow* window = [cocoa_view_.get() window]; 158 NSWindow* window = [cocoa_view_.get() window];
159 NSRect bounds = [cocoa_view_.get() bounds]; 159 NSRect bounds = [cocoa_view_.get() bounds];
160 if (window) { 160 if (window) {
161 // Convert bounds to window coordinate space. 161 // Convert bounds to window coordinate space.
162 bounds = [cocoa_view_.get() convertRect:bounds toView:nil]; 162 bounds = [cocoa_view_.get() convertRect:bounds toView:nil];
163 163
164 // Convert bounds to screen coordinate space. 164 // Convert bounds to screen coordinate space.
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 714
715 - (void)viewDidHide { 715 - (void)viewDidHide {
716 [self updateWebContentsVisibility]; 716 [self updateWebContentsVisibility];
717 } 717 }
718 718
719 - (void)viewDidUnhide { 719 - (void)viewDidUnhide {
720 [self updateWebContentsVisibility]; 720 [self updateWebContentsVisibility];
721 } 721 }
722 722
723 @end 723 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698