| 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 CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ |
| 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ |
| 7 | 7 |
| 8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
| 9 #include <list> | 9 #include <list> |
| 10 #include <map> | 10 #include <map> |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 #include "third_party/WebKit/Source/WebKit/chromium/public/WebCompositionUnderli
ne.h" | 24 #include "third_party/WebKit/Source/WebKit/chromium/public/WebCompositionUnderli
ne.h" |
| 25 #include "ui/base/cocoa/base_view.h" | 25 #include "ui/base/cocoa/base_view.h" |
| 26 #include "webkit/common/cursors/webcursor.h" | 26 #include "webkit/common/cursors/webcursor.h" |
| 27 | 27 |
| 28 namespace content { | 28 namespace content { |
| 29 class CompositingIOSurfaceMac; | 29 class CompositingIOSurfaceMac; |
| 30 class RenderWidgetHostViewMac; | 30 class RenderWidgetHostViewMac; |
| 31 class RenderWidgetHostViewMacEditCommandHelper; | 31 class RenderWidgetHostViewMacEditCommandHelper; |
| 32 } | 32 } |
| 33 | 33 |
| 34 @class CompositingIOSurfaceLayer; |
| 34 @class FullscreenWindowManager; | 35 @class FullscreenWindowManager; |
| 35 @protocol RenderWidgetHostViewMacDelegate; | 36 @protocol RenderWidgetHostViewMacDelegate; |
| 36 @class ToolTip; | 37 @class ToolTip; |
| 37 | 38 |
| 38 @protocol RenderWidgetHostViewMacOwner | 39 @protocol RenderWidgetHostViewMacOwner |
| 39 - (content::RenderWidgetHostViewMac*)renderWidgetHostViewMac; | 40 - (content::RenderWidgetHostViewMac*)renderWidgetHostViewMac; |
| 40 @end | 41 @end |
| 41 | 42 |
| 42 // This is the view that lives in the Cocoa view hierarchy. In Windows-land, | 43 // This is the view that lives in the Cocoa view hierarchy. In Windows-land, |
| 43 // RenderWidgetHostViewWin is both the view and the delegate. We split the roles | 44 // RenderWidgetHostViewWin is both the view and the delegate. We split the roles |
| (...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 386 // value returns true for is_null() if we are not recording whiteout times. | 387 // value returns true for is_null() if we are not recording whiteout times. |
| 387 base::TimeTicks whiteout_start_time_; | 388 base::TimeTicks whiteout_start_time_; |
| 388 | 389 |
| 389 // The time it took after this view was selected for it to be fully painted. | 390 // The time it took after this view was selected for it to be fully painted. |
| 390 base::TimeTicks web_contents_switch_paint_time_; | 391 base::TimeTicks web_contents_switch_paint_time_; |
| 391 | 392 |
| 392 // Current text input type. | 393 // Current text input type. |
| 393 ui::TextInputType text_input_type_; | 394 ui::TextInputType text_input_type_; |
| 394 bool can_compose_inline_; | 395 bool can_compose_inline_; |
| 395 | 396 |
| 397 scoped_nsobject<CALayer> software_layer_; |
| 398 scoped_nsobject<CompositingIOSurfaceLayer> compositing_iosurface_layer_; |
| 396 scoped_ptr<CompositingIOSurfaceMac> compositing_iosurface_; | 399 scoped_ptr<CompositingIOSurfaceMac> compositing_iosurface_; |
| 397 | 400 |
| 398 // Whether to allow overlapping views. | 401 // Whether to allow overlapping views. |
| 399 bool allow_overlapping_views_; | 402 bool allow_overlapping_views_; |
| 400 | 403 |
| 404 // Whether to use the CoreAnimation path to draw content. |
| 405 bool use_core_animation_; |
| 406 |
| 401 NSWindow* pepper_fullscreen_window() const { | 407 NSWindow* pepper_fullscreen_window() const { |
| 402 return pepper_fullscreen_window_; | 408 return pepper_fullscreen_window_; |
| 403 } | 409 } |
| 404 | 410 |
| 405 CONTENT_EXPORT void release_pepper_fullscreen_window_for_testing(); | 411 CONTENT_EXPORT void release_pepper_fullscreen_window_for_testing(); |
| 406 | 412 |
| 407 RenderWidgetHostViewMac* fullscreen_parent_host_view() const { | 413 RenderWidgetHostViewMac* fullscreen_parent_host_view() const { |
| 408 return fullscreen_parent_host_view_; | 414 return fullscreen_parent_host_view_; |
| 409 } | 415 } |
| 410 | 416 |
| 411 RenderWidgetHostViewFrameSubscriber* frame_subscriber() const { | 417 RenderWidgetHostViewFrameSubscriber* frame_subscriber() const { |
| 412 return frame_subscriber_.get(); | 418 return frame_subscriber_.get(); |
| 413 } | 419 } |
| 414 | 420 |
| 415 int window_number() const; | 421 int window_number() const; |
| 416 | 422 |
| 423 float scale_factor() const; |
| 424 |
| 425 bool is_hidden() const { return is_hidden_; } |
| 426 |
| 417 private: | 427 private: |
| 418 friend class RenderWidgetHostView; | 428 friend class RenderWidgetHostView; |
| 419 friend class RenderWidgetHostViewMacTest; | 429 friend class RenderWidgetHostViewMacTest; |
| 420 | 430 |
| 421 // The view will associate itself with the given widget. The native view must | 431 // The view will associate itself with the given widget. The native view must |
| 422 // be hooked up immediately to the view hierarchy, or else when it is | 432 // be hooked up immediately to the view hierarchy, or else when it is |
| 423 // deleted it will delete this out from under the caller. | 433 // deleted it will delete this out from under the caller. |
| 424 explicit RenderWidgetHostViewMac(RenderWidgetHost* widget); | 434 explicit RenderWidgetHostViewMac(RenderWidgetHost* widget); |
| 425 | 435 |
| 426 // Returns whether this render view is a popup (autocomplete window). | 436 // Returns whether this render view is a popup (autocomplete window). |
| 427 bool IsPopup() const; | 437 bool IsPopup() const; |
| 428 | 438 |
| 429 // Shuts down the render_widget_host_. This is a separate function so we can | 439 // Shuts down the render_widget_host_. This is a separate function so we can |
| 430 // invoke it from the message loop. | 440 // invoke it from the message loop. |
| 431 void ShutdownHost(); | 441 void ShutdownHost(); |
| 432 | 442 |
| 443 // Change this view to use CoreAnimation to draw. |
| 444 void EnableCoreAnimation(); |
| 445 |
| 433 // Called when a GPU SwapBuffers is received. | 446 // Called when a GPU SwapBuffers is received. |
| 434 void GotAcceleratedFrame(); | 447 void GotAcceleratedFrame(); |
| 435 // Called when a software DIB is received. | 448 // Called when a software DIB is received. |
| 436 void GotSoftwareFrame(); | 449 void GotSoftwareFrame(); |
| 437 | 450 |
| 438 void OnPluginFocusChanged(bool focused, int plugin_id); | 451 void OnPluginFocusChanged(bool focused, int plugin_id); |
| 439 void OnStartPluginIme(); | 452 void OnStartPluginIme(); |
| 440 CONTENT_EXPORT void OnAcceleratedSurfaceSetIOSurface( | 453 CONTENT_EXPORT void OnAcceleratedSurfaceSetIOSurface( |
| 441 gfx::PluginWindowHandle window, | 454 gfx::PluginWindowHandle window, |
| 442 int32 width, | 455 int32 width, |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 494 | 507 |
| 495 // Subscriber that listens to frame presentation events. | 508 // Subscriber that listens to frame presentation events. |
| 496 scoped_ptr<RenderWidgetHostViewFrameSubscriber> frame_subscriber_; | 509 scoped_ptr<RenderWidgetHostViewFrameSubscriber> frame_subscriber_; |
| 497 | 510 |
| 498 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewMac); | 511 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewMac); |
| 499 }; | 512 }; |
| 500 | 513 |
| 501 } // namespace content | 514 } // namespace content |
| 502 | 515 |
| 503 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ | 516 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ |
| OLD | NEW |