OLD | NEW |
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 #ifndef CHROME_BROWSER_UI_COCOA_EXTENSIONS_NATIVE_APP_WINDOW_COCOA_H_ | 5 #ifndef CHROME_BROWSER_UI_COCOA_EXTENSIONS_NATIVE_APP_WINDOW_COCOA_H_ |
6 #define CHROME_BROWSER_UI_COCOA_EXTENSIONS_NATIVE_APP_WINDOW_COCOA_H_ | 6 #define CHROME_BROWSER_UI_COCOA_EXTENSIONS_NATIVE_APP_WINDOW_COCOA_H_ |
7 | 7 |
8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/memory/scoped_nsobject.h" | 11 #include "base/mac/scoped_nsobject.h" |
12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
13 #import "chrome/browser/ui/cocoa/browser_command_executor.h" | 13 #import "chrome/browser/ui/cocoa/browser_command_executor.h" |
14 #include "chrome/browser/ui/extensions/native_app_window.h" | 14 #include "chrome/browser/ui/extensions/native_app_window.h" |
15 #include "chrome/browser/ui/extensions/shell_window.h" | 15 #include "chrome/browser/ui/extensions/shell_window.h" |
16 #include "content/public/browser/notification_registrar.h" | 16 #include "content/public/browser/notification_registrar.h" |
17 #include "extensions/common/draggable_region.h" | 17 #include "extensions/common/draggable_region.h" |
18 #include "ui/gfx/rect.h" | 18 #include "ui/gfx/rect.h" |
19 | 19 |
20 class ExtensionKeybindingRegistryCocoa; | 20 class ExtensionKeybindingRegistryCocoa; |
21 class Profile; | 21 class Profile; |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 bool has_frame_; | 152 bool has_frame_; |
153 | 153 |
154 bool is_maximized_; | 154 bool is_maximized_; |
155 bool is_fullscreen_; | 155 bool is_fullscreen_; |
156 NSRect restored_bounds_; | 156 NSRect restored_bounds_; |
157 | 157 |
158 gfx::Size min_size_; | 158 gfx::Size min_size_; |
159 gfx::Size max_size_; | 159 gfx::Size max_size_; |
160 bool resizable_; | 160 bool resizable_; |
161 | 161 |
162 scoped_nsobject<NativeAppWindowController> window_controller_; | 162 base::scoped_nsobject<NativeAppWindowController> window_controller_; |
163 NSInteger attention_request_id_; // identifier from requestUserAttention | 163 NSInteger attention_request_id_; // identifier from requestUserAttention |
164 | 164 |
165 // Indicates whether system drag or custom drag should be used, depending on | 165 // Indicates whether system drag or custom drag should be used, depending on |
166 // the complexity of draggable regions. | 166 // the complexity of draggable regions. |
167 bool use_system_drag_; | 167 bool use_system_drag_; |
168 | 168 |
169 // For system drag, the whole window is draggable and the non-draggable areas | 169 // For system drag, the whole window is draggable and the non-draggable areas |
170 // have to been explicitly excluded. | 170 // have to been explicitly excluded. |
171 std::vector<gfx::Rect> system_drag_exclude_areas_; | 171 std::vector<gfx::Rect> system_drag_exclude_areas_; |
172 | 172 |
173 // For custom drag, the whole window is non-draggable and the draggable region | 173 // For custom drag, the whole window is non-draggable and the draggable region |
174 // has to been explicitly provided. | 174 // has to been explicitly provided. |
175 scoped_ptr<SkRegion> draggable_region_; // used in custom drag. | 175 scoped_ptr<SkRegion> draggable_region_; // used in custom drag. |
176 | 176 |
177 // Mouse location since the last mouse event, in screen coordinates. This is | 177 // Mouse location since the last mouse event, in screen coordinates. This is |
178 // used in custom drag to compute the window movement. | 178 // used in custom drag to compute the window movement. |
179 NSPoint last_mouse_location_; | 179 NSPoint last_mouse_location_; |
180 | 180 |
181 // The Extension Command Registry used to determine which keyboard events to | 181 // The Extension Command Registry used to determine which keyboard events to |
182 // handle. | 182 // handle. |
183 scoped_ptr<ExtensionKeybindingRegistryCocoa> extension_keybinding_registry_; | 183 scoped_ptr<ExtensionKeybindingRegistryCocoa> extension_keybinding_registry_; |
184 | 184 |
185 DISALLOW_COPY_AND_ASSIGN(NativeAppWindowCocoa); | 185 DISALLOW_COPY_AND_ASSIGN(NativeAppWindowCocoa); |
186 }; | 186 }; |
187 | 187 |
188 #endif // CHROME_BROWSER_UI_COCOA_EXTENSIONS_NATIVE_APP_WINDOW_COCOA_H_ | 188 #endif // CHROME_BROWSER_UI_COCOA_EXTENSIONS_NATIVE_APP_WINDOW_COCOA_H_ |
OLD | NEW |