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

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.h

Issue 2843693003: Move methods from FrameViewBase to FrameView. (Closed)
Patch Set: more scrollbar revert Created 3 years, 7 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 /* 1 /*
2 Copyright (C) 1997 Martin Jones (mjones@kde.org) 2 Copyright (C) 1997 Martin Jones (mjones@kde.org)
3 (C) 1998 Waldo Bastian (bastian@kde.org) 3 (C) 1998 Waldo Bastian (bastian@kde.org)
4 (C) 1998, 1999 Torben Weis (weis@kde.org) 4 (C) 1998, 1999 Torben Weis (weis@kde.org)
5 (C) 1999 Lars Knoll (knoll@kde.org) 5 (C) 1999 Lars Knoll (knoll@kde.org)
6 (C) 1999 Antti Koivisto (koivisto@kde.org) 6 (C) 1999 Antti Koivisto (koivisto@kde.org)
7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights 7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
8 reserved. 8 reserved.
9 9
10 This library is free software; you can redistribute it and/or 10 This library is free software; you can redistribute it and/or
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 class PrintContext; 95 class PrintContext;
96 class ScrollingCoordinator; 96 class ScrollingCoordinator;
97 class TracedValue; 97 class TracedValue;
98 class TransformState; 98 class TransformState;
99 struct AnnotatedRegionValue; 99 struct AnnotatedRegionValue;
100 struct CompositedSelection; 100 struct CompositedSelection;
101 101
102 typedef unsigned long long DOMTimeStamp; 102 typedef unsigned long long DOMTimeStamp;
103 103
104 class CORE_EXPORT FrameView final 104 class CORE_EXPORT FrameView final
105 : public FrameViewBase, 105 : public GarbageCollectedFinalized<FrameView>,
106 public FrameViewBase,
106 public FrameOrPlugin, 107 public FrameOrPlugin,
107 public PaintInvalidationCapableScrollableArea { 108 public PaintInvalidationCapableScrollableArea {
108 USING_GARBAGE_COLLECTED_MIXIN(FrameView); 109 USING_GARBAGE_COLLECTED_MIXIN(FrameView);
109 110
110 friend class PaintControllerPaintTestBase; 111 friend class PaintControllerPaintTestBase;
111 friend class Internals; 112 friend class Internals;
112 friend class LayoutPart; // for invalidateTreeIfNeeded 113 friend class LayoutPart; // for invalidateTreeIfNeeded
113 114
114 public: 115 public:
115 static FrameView* Create(LocalFrame&); 116 static FrameView* Create(LocalFrame&);
116 static FrameView* Create(LocalFrame&, const IntSize& initial_size); 117 static FrameView* Create(LocalFrame&, const IntSize& initial_size);
117 118
118 ~FrameView() override; 119 ~FrameView() override;
119 120
120 void Invalidate() { InvalidateRect(IntRect(0, 0, Width(), Height())); } 121 void Invalidate() { InvalidateRect(IntRect(0, 0, Width(), Height())); }
121 void InvalidateRect(const IntRect&); 122 void InvalidateRect(const IntRect&);
122 void SetFrameRect(const IntRect&) override; 123 void SetFrameRect(const IntRect&) override;
123 const IntRect& FrameRect() const override { 124 const IntRect& FrameRect() const override { return frame_rect_; }
124 return FrameViewBase::FrameRect(); 125 int X() const { return frame_rect_.X(); }
126 int Y() const { return frame_rect_.Y(); }
127 int Width() const { return frame_rect_.Width(); }
128 int Height() const { return frame_rect_.Height(); }
129 IntSize Size() const { return frame_rect_.Size(); }
130 IntPoint Location() const override { return frame_rect_.Location(); }
131 void Resize(int w, int h) {
haraken 2017/04/26 07:42:14 width height
joelhockey 2017/04/26 07:48:37 Done
132 SetFrameRect(IntRect(frame_rect_.X(), frame_rect_.Y(), w, h));
125 } 133 }
134 void Resize(const IntSize& s) { SetFrameRect(IntRect(Location(), s)); }
haraken 2017/04/26 07:42:14 size
joelhockey 2017/04/26 07:48:37 Done
126 135
127 LocalFrame& GetFrame() const { 136 LocalFrame& GetFrame() const {
128 ASSERT(frame_); 137 ASSERT(frame_);
129 return *frame_; 138 return *frame_;
130 } 139 }
131 140
132 Page* GetPage() const; 141 Page* GetPage() const;
133 142
134 // TODO(pilgrim) replace all instances of layoutView() with layoutViewItem() 143 // TODO(pilgrim) replace all instances of layoutView() with layoutViewItem()
135 // https://crbug.com/499321 144 // https://crbug.com/499321
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 476
468 // The window that hosts the FrameView. The FrameView will communicate scrolls 477 // The window that hosts the FrameView. The FrameView will communicate scrolls
469 // and repaints to the host window in the window's coordinate space. 478 // and repaints to the host window in the window's coordinate space.
470 PlatformChromeClient* GetChromeClient() const; 479 PlatformChromeClient* GetChromeClient() const;
471 480
472 typedef HeapHashSet<Member<FrameViewBase>> ChildrenSet; 481 typedef HeapHashSet<Member<FrameViewBase>> ChildrenSet;
473 typedef HeapHashSet<Member<PluginView>> PluginsSet; 482 typedef HeapHashSet<Member<PluginView>> PluginsSet;
474 typedef HeapHashSet<Member<Scrollbar>> ScrollbarsSet; 483 typedef HeapHashSet<Member<Scrollbar>> ScrollbarsSet;
475 484
476 // Functions for child manipulation and inspection. 485 // Functions for child manipulation and inspection.
486 bool IsSelfVisible() const {
487 return self_visible_;
488 } // Whether or not we have been explicitly marked as visible or not.
489 bool IsParentVisible() const {
490 return parent_visible_;
491 } // Whether or not our parent is visible.
492 bool IsVisible() const {
493 return self_visible_ && parent_visible_;
494 } // Whether or not we are actually visible.
495 void SetParentVisible(bool);
496 void SetSelfVisible(bool v) { self_visible_ = v; }
477 void SetParent(FrameViewBase*) override; 497 void SetParent(FrameViewBase*) override;
498 FrameViewBase* Parent() const override { return parent_; }
499 FrameView* Root() const;
478 void RemoveChild(FrameViewBase*); 500 void RemoveChild(FrameViewBase*);
479 void AddChild(FrameViewBase*); 501 void AddChild(FrameViewBase*);
480 const ChildrenSet* Children() const { return &children_; } 502 const ChildrenSet* Children() const { return &children_; }
481 void RemovePlugin(PluginView*); 503 void RemovePlugin(PluginView*);
482 void AddPlugin(PluginView*); 504 void AddPlugin(PluginView*);
483 const PluginsSet* Plugins() const { return &plugins_; } 505 const PluginsSet* Plugins() const { return &plugins_; }
484 void RemoveScrollbar(Scrollbar*); 506 void RemoveScrollbar(Scrollbar*);
485 void AddScrollbar(Scrollbar*); 507 void AddScrollbar(Scrollbar*);
486 const ScrollbarsSet* Scrollbars() const { return &scrollbars_; } 508 const ScrollbarsSet* Scrollbars() const { return &scrollbars_; }
487 509
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 IntPoint ConvertSelfToChild(const FrameViewBase*, const IntPoint&) const; 655 IntPoint ConvertSelfToChild(const FrameViewBase*, const IntPoint&) const;
634 656
635 // FrameViewBase override. Handles painting of the contents of the view as 657 // FrameViewBase override. Handles painting of the contents of the view as
636 // well as the scrollbars. 658 // well as the scrollbars.
637 void Paint(GraphicsContext&, const CullRect&) const override; 659 void Paint(GraphicsContext&, const CullRect&) const override;
638 void Paint(GraphicsContext&, const GlobalPaintFlags, const CullRect&) const; 660 void Paint(GraphicsContext&, const GlobalPaintFlags, const CullRect&) const;
639 void PaintContents(GraphicsContext&, 661 void PaintContents(GraphicsContext&,
640 const GlobalPaintFlags, 662 const GlobalPaintFlags,
641 const IntRect& damage_rect) const; 663 const IntRect& damage_rect) const;
642 664
643 // FrameViewBase overrides to ensure that our children's visibility status is
644 // kept up to date when we get shown and hidden.
645 void Show() override; 665 void Show() override;
646 void Hide() override; 666 void Hide() override;
647 void SetParentVisible(bool) override;
648 667
649 bool IsPointInScrollbarCorner(const IntPoint&); 668 bool IsPointInScrollbarCorner(const IntPoint&);
650 bool ScrollbarCornerPresent() const; 669 bool ScrollbarCornerPresent() const;
651 IntRect ScrollCornerRect() const override; 670 IntRect ScrollCornerRect() const override;
652 671
653 IntPoint ConvertFromContainingFrameViewBaseToScrollbar( 672 IntPoint ConvertFromContainingFrameViewBaseToScrollbar(
654 const Scrollbar&, 673 const Scrollbar&,
655 const IntPoint&) const override; 674 const IntPoint&) const override;
656 675
657 bool IsFrameView() const override { return true; } 676 bool IsFrameView() const override { return true; }
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
868 : scope_(&view->in_update_scrollbars_, true) {} 887 : scope_(&view->in_update_scrollbars_, true) {}
869 888
870 private: 889 private:
871 AutoReset<bool> scope_; 890 AutoReset<bool> scope_;
872 }; 891 };
873 892
874 // Only for LayoutPart to traverse into sub frames during paint invalidation. 893 // Only for LayoutPart to traverse into sub frames during paint invalidation.
875 void InvalidateTreeIfNeeded(const PaintInvalidationState&); 894 void InvalidateTreeIfNeeded(const PaintInvalidationState&);
876 895
877 private: 896 private:
878 explicit FrameView(LocalFrame&); 897 explicit FrameView(LocalFrame&, IntRect);
879 class ScrollbarManager : public blink::ScrollbarManager { 898 class ScrollbarManager : public blink::ScrollbarManager {
880 DISALLOW_NEW(); 899 DISALLOW_NEW();
881 900
882 // Helper class to manage the life cycle of Scrollbar objects. 901 // Helper class to manage the life cycle of Scrollbar objects.
883 public: 902 public:
884 ScrollbarManager(FrameView& scroller) : blink::ScrollbarManager(scroller) {} 903 ScrollbarManager(FrameView& scroller) : blink::ScrollbarManager(scroller) {}
885 904
886 void SetHasHorizontalScrollbar(bool has_scrollbar) override; 905 void SetHasHorizontalScrollbar(bool has_scrollbar) override;
887 void SetHasVerticalScrollbar(bool has_scrollbar) override; 906 void SetHasVerticalScrollbar(bool has_scrollbar) override;
888 907
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
1047 1066
1048 typedef HashSet<RefPtr<LayoutEmbeddedObject>> EmbeddedObjectSet; 1067 typedef HashSet<RefPtr<LayoutEmbeddedObject>> EmbeddedObjectSet;
1049 EmbeddedObjectSet part_update_set_; 1068 EmbeddedObjectSet part_update_set_;
1050 1069
1051 // FIXME: These are just "children" of the FrameView and should be 1070 // FIXME: These are just "children" of the FrameView and should be
1052 // Member<FrameViewBase> instead. 1071 // Member<FrameViewBase> instead.
1053 HashSet<RefPtr<LayoutPart>> parts_; 1072 HashSet<RefPtr<LayoutPart>> parts_;
1054 1073
1055 Member<LocalFrame> frame_; 1074 Member<LocalFrame> frame_;
1056 1075
1076 IntRect frame_rect_;
1077 Member<FrameView> parent_;
1078 bool self_visible_;
1079 bool parent_visible_;
1080
1057 WebDisplayMode display_mode_; 1081 WebDisplayMode display_mode_;
1058 1082
1059 DisplayShape display_shape_; 1083 DisplayShape display_shape_;
1060 1084
1061 bool can_have_scrollbars_; 1085 bool can_have_scrollbars_;
1062 1086
1063 bool has_pending_layout_; 1087 bool has_pending_layout_;
1064 LayoutSubtreeRootList layout_subtree_root_list_; 1088 LayoutSubtreeRootList layout_subtree_root_list_;
1065 DepthOrderedLayoutObjectList orthogonal_writing_mode_root_list_; 1089 DepthOrderedLayoutObjectList orthogonal_writing_mode_root_list_;
1066 1090
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
1249 frameViewBase.IsFrameView()); 1273 frameViewBase.IsFrameView());
1250 DEFINE_TYPE_CASTS(FrameView, 1274 DEFINE_TYPE_CASTS(FrameView,
1251 ScrollableArea, 1275 ScrollableArea,
1252 scrollableArea, 1276 scrollableArea,
1253 scrollableArea->IsFrameView(), 1277 scrollableArea->IsFrameView(),
1254 scrollableArea.IsFrameView()); 1278 scrollableArea.IsFrameView());
1255 1279
1256 } // namespace blink 1280 } // namespace blink
1257 1281
1258 #endif // FrameView_h 1282 #endif // FrameView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698