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 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 // value returns true for is_null() if we are not recording whiteout times. | 434 // value returns true for is_null() if we are not recording whiteout times. |
435 base::TimeTicks whiteout_start_time_; | 435 base::TimeTicks whiteout_start_time_; |
436 | 436 |
437 // The time it took after this view was selected for it to be fully painted. | 437 // The time it took after this view was selected for it to be fully painted. |
438 base::TimeTicks web_contents_switch_paint_time_; | 438 base::TimeTicks web_contents_switch_paint_time_; |
439 | 439 |
440 // Current text input type. | 440 // Current text input type. |
441 ui::TextInputType text_input_type_; | 441 ui::TextInputType text_input_type_; |
442 bool can_compose_inline_; | 442 bool can_compose_inline_; |
443 | 443 |
444 // The background CoreAnimation layer used before compositing nor software | 444 // The background CoreAnimation layer which is hosted by |cocoa_view_|. |
445 // compositing has been enabled, and when the compositing or software | 445 // The compositing or software layers will be added as sublayers to this. |
446 // compositing surface has been evicted. | |
447 base::scoped_nsobject<CALayer> background_layer_; | 446 base::scoped_nsobject<CALayer> background_layer_; |
448 | 447 |
449 // The CoreAnimation layer for software compositing. Note that at most one of | 448 // The CoreAnimation layer for software compositing. This should be NULL |
450 // |software_layer_| and |compositing_iosurface_layer_| may be non-NULL. | 449 // when software compositing is not in use. |
451 base::scoped_nsobject<SoftwareLayer> software_layer_; | 450 base::scoped_nsobject<SoftwareLayer> software_layer_; |
452 | 451 |
453 // Accelerated compositing structures. These may be dynamically created and | 452 // Accelerated compositing structures. These may be dynamically created and |
454 // destroyed together in Create/DestroyCompositedIOSurfaceAndLayer. | 453 // destroyed together in Create/DestroyCompositedIOSurfaceAndLayer. |
455 base::scoped_nsobject<CompositingIOSurfaceLayer> compositing_iosurface_layer_; | 454 base::scoped_nsobject<CompositingIOSurfaceLayer> compositing_iosurface_layer_; |
456 scoped_ptr<CompositingIOSurfaceMac> compositing_iosurface_; | 455 scoped_ptr<CompositingIOSurfaceMac> compositing_iosurface_; |
457 scoped_refptr<CompositingIOSurfaceContext> compositing_iosurface_context_; | 456 scoped_refptr<CompositingIOSurfaceContext> compositing_iosurface_context_; |
458 | 457 |
459 // Timer used to dynamically transition the compositing layer in and out of | 458 // Timer used to dynamically transition the compositing layer in and out of |
460 // asynchronous mode. | 459 // asynchronous mode. |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
538 // deleted it will delete this out from under the caller. | 537 // deleted it will delete this out from under the caller. |
539 explicit RenderWidgetHostViewMac(RenderWidgetHost* widget); | 538 explicit RenderWidgetHostViewMac(RenderWidgetHost* widget); |
540 | 539 |
541 // Returns whether this render view is a popup (autocomplete window). | 540 // Returns whether this render view is a popup (autocomplete window). |
542 bool IsPopup() const; | 541 bool IsPopup() const; |
543 | 542 |
544 // Shuts down the render_widget_host_. This is a separate function so we can | 543 // Shuts down the render_widget_host_. This is a separate function so we can |
545 // invoke it from the message loop. | 544 // invoke it from the message loop. |
546 void ShutdownHost(); | 545 void ShutdownHost(); |
547 | 546 |
548 void CreateSoftwareLayerAndDestroyCompositedLayer(); | 547 void CreateSoftwareLayer(); |
549 void DestroySoftwareLayer(); | 548 void DestroySoftwareLayer(); |
550 | 549 |
551 bool CreateCompositedIOSurface(); | 550 bool CreateCompositedIOSurface(); |
552 bool CreateCompositedLayerAndDestroySoftwareLayer(); | 551 bool CreateCompositedIOSurfaceLayer(); |
553 enum DestroyContextBehavior { | 552 enum DestroyContextBehavior { |
554 kLeaveContextBoundToView, | 553 kLeaveContextBoundToView, |
555 kDestroyContext, | 554 kDestroyContext, |
556 }; | 555 }; |
| 556 void DestroyCompositedIOSurfaceLayer(); |
557 void DestroyCompositedIOSurfaceAndLayer(DestroyContextBehavior | 557 void DestroyCompositedIOSurfaceAndLayer(DestroyContextBehavior |
558 destroy_context_behavior); | 558 destroy_context_behavior); |
559 | 559 |
560 // Unbind the GL context (if any) that is bound to |cocoa_view_|. | 560 // Unbind the GL context (if any) that is bound to |cocoa_view_|. |
561 void ClearBoundContextDrawable(); | 561 void ClearBoundContextDrawable(); |
562 | 562 |
563 // Called when a GPU SwapBuffers is received. | 563 // Called when a GPU SwapBuffers is received. |
564 void GotAcceleratedFrame(); | 564 void GotAcceleratedFrame(); |
565 | 565 |
566 // Called when a software DIB is received. | 566 // Called when a software DIB is received. |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
641 scoped_ptr<RenderWidgetHostViewFrameSubscriber> frame_subscriber_; | 641 scoped_ptr<RenderWidgetHostViewFrameSubscriber> frame_subscriber_; |
642 | 642 |
643 base::WeakPtrFactory<RenderWidgetHostViewMac> | 643 base::WeakPtrFactory<RenderWidgetHostViewMac> |
644 software_frame_weak_ptr_factory_; | 644 software_frame_weak_ptr_factory_; |
645 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewMac); | 645 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewMac); |
646 }; | 646 }; |
647 | 647 |
648 } // namespace content | 648 } // namespace content |
649 | 649 |
650 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ | 650 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ |
OLD | NEW |