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

Side by Side Diff: trunk/src/content/browser/renderer_host/render_widget_host_view_mac.h

Issue 387863004: Revert 281866 "Mac ÜC: Make resize smooth" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
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 #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 <IOSurface/IOSurfaceAPI.h> 9 #include <IOSurface/IOSurfaceAPI.h>
10 #include <list> 10 #include <list>
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 scoped_refptr<CompositingIOSurfaceMac> compositing_iosurface_; 435 scoped_refptr<CompositingIOSurfaceMac> compositing_iosurface_;
436 scoped_refptr<CompositingIOSurfaceContext> compositing_iosurface_context_; 436 scoped_refptr<CompositingIOSurfaceContext> compositing_iosurface_context_;
437 437
438 // Delegated frame management and compositior. 438 // Delegated frame management and compositior.
439 scoped_ptr<DelegatedFrameHost> delegated_frame_host_; 439 scoped_ptr<DelegatedFrameHost> delegated_frame_host_;
440 scoped_ptr<ui::Layer> root_layer_; 440 scoped_ptr<ui::Layer> root_layer_;
441 441
442 // Container for the NSView drawn by the browser compositor. 442 // Container for the NSView drawn by the browser compositor.
443 scoped_ptr<BrowserCompositorViewMac> browser_compositor_view_; 443 scoped_ptr<BrowserCompositorViewMac> browser_compositor_view_;
444 444
445 // Set when the browser compositor is requested to paint, and unset when the
446 // browser compositor paints in DoBrowserCompositorPendingPaint.
447 bool browser_compositor_has_pending_paint_;
448
449 // Placeholder that is allocated while browser_compositor_view_ is NULL, 445 // Placeholder that is allocated while browser_compositor_view_ is NULL,
450 // indicating that a BrowserCompositorViewMac may be allocated. This is to 446 // indicating that a BrowserCompositorViewMac may be allocated. This is to
451 // help in recycling the internals of BrowserCompositorViewMac. 447 // help in recycling the internals of BrowserCompositorViewMac.
452 scoped_ptr<BrowserCompositorViewPlaceholderMac> 448 scoped_ptr<BrowserCompositorViewPlaceholderMac>
453 browser_compositor_view_placeholder_; 449 browser_compositor_view_placeholder_;
454 450
455 // This holds the current software compositing framebuffer, if any. 451 // This holds the current software compositing framebuffer, if any.
456 scoped_ptr<SoftwareFrameManager> software_frame_manager_; 452 scoped_ptr<SoftwareFrameManager> software_frame_manager_;
457 453
458 // Latency info to send back when the next frame appears on the 454 // Latency info to send back when the next frame appears on the
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 virtual gfx::Size DesiredFrameSize() OVERRIDE; 510 virtual gfx::Size DesiredFrameSize() OVERRIDE;
515 virtual float CurrentDeviceScaleFactor() OVERRIDE; 511 virtual float CurrentDeviceScaleFactor() OVERRIDE;
516 virtual gfx::Size ConvertViewSizeToPixel(const gfx::Size& size) OVERRIDE; 512 virtual gfx::Size ConvertViewSizeToPixel(const gfx::Size& size) OVERRIDE;
517 virtual DelegatedFrameHost* GetDelegatedFrameHost() const OVERRIDE; 513 virtual DelegatedFrameHost* GetDelegatedFrameHost() const OVERRIDE;
518 514
519 // BrowserCompositorViewMacClient implementation. 515 // BrowserCompositorViewMacClient implementation.
520 virtual void BrowserCompositorViewFrameSwapped( 516 virtual void BrowserCompositorViewFrameSwapped(
521 const std::vector<ui::LatencyInfo>& latency_info) OVERRIDE; 517 const std::vector<ui::LatencyInfo>& latency_info) OVERRIDE;
522 virtual NSView* BrowserCompositorSuperview() OVERRIDE; 518 virtual NSView* BrowserCompositorSuperview() OVERRIDE;
523 virtual ui::Layer* BrowserCompositorRootLayer() OVERRIDE; 519 virtual ui::Layer* BrowserCompositorRootLayer() OVERRIDE;
524 virtual bool BrowserCompositorShouldDrawImmediately() OVERRIDE;
525 520
526 private: 521 private:
527 friend class RenderWidgetHostViewMacTest; 522 friend class RenderWidgetHostViewMacTest;
528 523
529 struct PendingSwapAck { 524 struct PendingSwapAck {
530 PendingSwapAck(int32 route_id, int gpu_host_id, int32 renderer_id) 525 PendingSwapAck(int32 route_id, int gpu_host_id, int32 renderer_id)
531 : route_id(route_id), 526 : route_id(route_id),
532 gpu_host_id(gpu_host_id), 527 gpu_host_id(gpu_host_id),
533 renderer_id(renderer_id) {} 528 renderer_id(renderer_id) {}
534 int32 route_id; 529 int32 route_id;
535 int gpu_host_id; 530 int gpu_host_id;
536 int32 renderer_id; 531 int32 renderer_id;
537 }; 532 };
538 scoped_ptr<PendingSwapAck> pending_swap_ack_; 533 scoped_ptr<PendingSwapAck> pending_swap_ack_;
539 void AddPendingSwapAck(int32 route_id, int gpu_host_id, int32 renderer_id); 534 void AddPendingSwapAck(int32 route_id, int gpu_host_id, int32 renderer_id);
540 535
541 // Returns whether this render view is a popup (autocomplete window). 536 // Returns whether this render view is a popup (autocomplete window).
542 bool IsPopup() const; 537 bool IsPopup() const;
543 538
544 // Shuts down the render_widget_host_. This is a separate function so we can 539 // Shuts down the render_widget_host_. This is a separate function so we can
545 // invoke it from the message loop. 540 // invoke it from the message loop.
546 void ShutdownHost(); 541 void ShutdownHost();
547 542
548 void EnsureBrowserCompositorView(); 543 void EnsureBrowserCompositorView();
549 void DestroyBrowserCompositorView(); 544 void DestroyBrowserCompositorView();
550 void DoBrowserCompositorPendingPaint();
551 545
552 void EnsureSoftwareLayer(); 546 void EnsureSoftwareLayer();
553 void DestroySoftwareLayer(); 547 void DestroySoftwareLayer();
554 548
555 bool EnsureCompositedIOSurface() WARN_UNUSED_RESULT; 549 bool EnsureCompositedIOSurface() WARN_UNUSED_RESULT;
556 void EnsureCompositedIOSurfaceLayer(); 550 void EnsureCompositedIOSurfaceLayer();
557 enum DestroyCompositedIOSurfaceLayerBehavior { 551 enum DestroyCompositedIOSurfaceLayerBehavior {
558 kLeaveLayerInHierarchy, 552 kLeaveLayerInHierarchy,
559 kRemoveLayerFromHierarchy, 553 kRemoveLayerFromHierarchy,
560 }; 554 };
(...skipping 21 matching lines...) Expand all
582 void SendVSyncParametersToRenderer(); 576 void SendVSyncParametersToRenderer();
583 577
584 // The associated view. This is weak and is inserted into the view hierarchy 578 // The associated view. This is weak and is inserted into the view hierarchy
585 // to own this RenderWidgetHostViewMac object. Set to nil at the start of the 579 // to own this RenderWidgetHostViewMac object. Set to nil at the start of the
586 // destructor. 580 // destructor.
587 RenderWidgetHostViewCocoa* cocoa_view_; 581 RenderWidgetHostViewCocoa* cocoa_view_;
588 582
589 // Indicates if the page is loading. 583 // Indicates if the page is loading.
590 bool is_loading_; 584 bool is_loading_;
591 585
592 // Indicates if the view is currently stalled waiting for a new frame to come
593 // in.
594 bool is_paused_for_resize_or_repaint_;
595
596 // The text to be shown in the tooltip, supplied by the renderer. 586 // The text to be shown in the tooltip, supplied by the renderer.
597 base::string16 tooltip_text_; 587 base::string16 tooltip_text_;
598 588
599 // Factory used to safely scope delayed calls to ShutdownHost(). 589 // Factory used to safely scope delayed calls to ShutdownHost().
600 base::WeakPtrFactory<RenderWidgetHostViewMac> weak_factory_; 590 base::WeakPtrFactory<RenderWidgetHostViewMac> weak_factory_;
601 591
602 // selected text on the renderer. 592 // selected text on the renderer.
603 std::string selected_text_; 593 std::string selected_text_;
604 594
605 // The window used for popup widgets. 595 // The window used for popup widgets.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
639 scoped_ptr<RenderWidgetHostViewFrameSubscriber> frame_subscriber_; 629 scoped_ptr<RenderWidgetHostViewFrameSubscriber> frame_subscriber_;
640 630
641 base::WeakPtrFactory<RenderWidgetHostViewMac> 631 base::WeakPtrFactory<RenderWidgetHostViewMac>
642 software_frame_weak_ptr_factory_; 632 software_frame_weak_ptr_factory_;
643 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewMac); 633 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewMac);
644 }; 634 };
645 635
646 } // namespace content 636 } // namespace content
647 637
648 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_ 638 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_MAC_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698