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

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

Issue 2855523002: Deleted Widget/FrameViewBase (Closed)
Patch Set: removed FrameViewBase.h file now that dependent CL submitted 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 22 matching lines...) Expand all
33 #include "core/frame/FrameViewAutoSizeInfo.h" 33 #include "core/frame/FrameViewAutoSizeInfo.h"
34 #include "core/frame/LayoutSubtreeRootList.h" 34 #include "core/frame/LayoutSubtreeRootList.h"
35 #include "core/frame/RootFrameViewport.h" 35 #include "core/frame/RootFrameViewport.h"
36 #include "core/layout/MapCoordinatesFlags.h" 36 #include "core/layout/MapCoordinatesFlags.h"
37 #include "core/layout/ScrollAnchor.h" 37 #include "core/layout/ScrollAnchor.h"
38 #include "core/paint/FirstMeaningfulPaintDetector.h" 38 #include "core/paint/FirstMeaningfulPaintDetector.h"
39 #include "core/paint/ObjectPaintProperties.h" 39 #include "core/paint/ObjectPaintProperties.h"
40 #include "core/paint/PaintInvalidationCapableScrollableArea.h" 40 #include "core/paint/PaintInvalidationCapableScrollableArea.h"
41 #include "core/paint/PaintPhase.h" 41 #include "core/paint/PaintPhase.h"
42 #include "core/paint/ScrollbarManager.h" 42 #include "core/paint/ScrollbarManager.h"
43 #include "platform/FrameViewBase.h"
44 #include "platform/PlatformFrameView.h" 43 #include "platform/PlatformFrameView.h"
45 #include "platform/RuntimeEnabledFeatures.h" 44 #include "platform/RuntimeEnabledFeatures.h"
46 #include "platform/animation/CompositorAnimationHost.h" 45 #include "platform/animation/CompositorAnimationHost.h"
47 #include "platform/animation/CompositorAnimationTimeline.h" 46 #include "platform/animation/CompositorAnimationTimeline.h"
48 #include "platform/geometry/IntRect.h" 47 #include "platform/geometry/IntRect.h"
49 #include "platform/geometry/LayoutRect.h" 48 #include "platform/geometry/LayoutRect.h"
50 #include "platform/graphics/Color.h" 49 #include "platform/graphics/Color.h"
51 #include "platform/graphics/CompositorElementId.h" 50 #include "platform/graphics/CompositorElementId.h"
52 #include "platform/graphics/GraphicsLayerClient.h" 51 #include "platform/graphics/GraphicsLayerClient.h"
53 #include "platform/scroll/ScrollTypes.h" 52 #include "platform/scroll/ScrollTypes.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 class TracedValue; 96 class TracedValue;
98 class TransformState; 97 class TransformState;
99 struct AnnotatedRegionValue; 98 struct AnnotatedRegionValue;
100 struct CompositedSelection; 99 struct CompositedSelection;
101 100
102 typedef unsigned long long DOMTimeStamp; 101 typedef unsigned long long DOMTimeStamp;
103 102
104 class CORE_EXPORT FrameView final 103 class CORE_EXPORT FrameView final
105 : public GarbageCollectedFinalized<FrameView>, 104 : public GarbageCollectedFinalized<FrameView>,
106 public PlatformFrameView, 105 public PlatformFrameView,
107 public FrameViewBase,
108 public FrameOrPlugin, 106 public FrameOrPlugin,
109 public PaintInvalidationCapableScrollableArea { 107 public PaintInvalidationCapableScrollableArea {
110 USING_GARBAGE_COLLECTED_MIXIN(FrameView); 108 USING_GARBAGE_COLLECTED_MIXIN(FrameView);
111 109
112 friend class PaintControllerPaintTestBase; 110 friend class PaintControllerPaintTestBase;
113 friend class Internals; 111 friend class Internals;
114 friend class LayoutPart; // for invalidateTreeIfNeeded 112 friend class LayoutPart; // for invalidateTreeIfNeeded
115 113
116 public: 114 public:
117 static FrameView* Create(LocalFrame&); 115 static FrameView* Create(LocalFrame&);
118 static FrameView* Create(LocalFrame&, const IntSize& initial_size); 116 static FrameView* Create(LocalFrame&, const IntSize& initial_size);
119 117
120 ~FrameView() override; 118 ~FrameView() override;
121 119
122 void Invalidate() { InvalidateRect(IntRect(0, 0, Width(), Height())); } 120 void Invalidate() { InvalidateRect(IntRect(0, 0, Width(), Height())); }
123 void InvalidateRect(const IntRect&); 121 void InvalidateRect(const IntRect&);
124 void SetFrameRect(const IntRect&) override; 122 void SetFrameRect(const IntRect&) override;
125 const IntRect& FrameRect() const override { return frame_rect_; } 123 const IntRect& FrameRect() const override { return frame_rect_; }
126 int X() const { return frame_rect_.X(); } 124 int X() const { return frame_rect_.X(); }
127 int Y() const { return frame_rect_.Y(); } 125 int Y() const { return frame_rect_.Y(); }
128 int Width() const { return frame_rect_.Width(); } 126 int Width() const { return frame_rect_.Width(); }
129 int Height() const { return frame_rect_.Height(); } 127 int Height() const { return frame_rect_.Height(); }
130 IntSize Size() const { return frame_rect_.Size(); } 128 IntSize Size() const { return frame_rect_.Size(); }
131 IntPoint Location() const override { return frame_rect_.Location(); } 129 IntPoint Location() const { return frame_rect_.Location(); }
132 void Resize(int width, int height) { 130 void Resize(int width, int height) {
133 SetFrameRect(IntRect(frame_rect_.X(), frame_rect_.Y(), width, height)); 131 SetFrameRect(IntRect(frame_rect_.X(), frame_rect_.Y(), width, height));
134 } 132 }
135 void Resize(const IntSize& size) { SetFrameRect(IntRect(Location(), size)); } 133 void Resize(const IntSize& size) { SetFrameRect(IntRect(Location(), size)); }
136 134
137 LocalFrame& GetFrame() const { 135 LocalFrame& GetFrame() const {
138 DCHECK(frame_); 136 DCHECK(frame_);
139 return *frame_; 137 return *frame_;
140 } 138 }
141 139
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 472
475 LayoutRect ScrollIntoView(const LayoutRect& rect_in_content, 473 LayoutRect ScrollIntoView(const LayoutRect& rect_in_content,
476 const ScrollAlignment& align_x, 474 const ScrollAlignment& align_x,
477 const ScrollAlignment& align_y, 475 const ScrollAlignment& align_y,
478 ScrollType = kProgrammaticScroll) override; 476 ScrollType = kProgrammaticScroll) override;
479 477
480 // The window that hosts the FrameView. The FrameView will communicate scrolls 478 // The window that hosts the FrameView. The FrameView will communicate scrolls
481 // and repaints to the host window in the window's coordinate space. 479 // and repaints to the host window in the window's coordinate space.
482 PlatformChromeClient* GetChromeClient() const; 480 PlatformChromeClient* GetChromeClient() const;
483 481
484 typedef HeapHashSet<Member<FrameOrPlugin>> ChildrenSet;
485 typedef HeapHashSet<Member<Scrollbar>> ScrollbarsSet;
486
487 // Functions for child manipulation and inspection. 482 // Functions for child manipulation and inspection.
488 bool IsSelfVisible() const { 483 bool IsSelfVisible() const {
489 return self_visible_; 484 return self_visible_;
490 } // Whether or not we have been explicitly marked as visible or not. 485 } // Whether or not we have been explicitly marked as visible or not.
491 bool IsParentVisible() const { 486 bool IsParentVisible() const {
492 return parent_visible_; 487 return parent_visible_;
493 } // Whether or not our parent is visible. 488 } // Whether or not our parent is visible.
494 bool IsVisible() const { 489 bool IsVisible() const {
495 return self_visible_ && parent_visible_; 490 return self_visible_ && parent_visible_;
496 } // Whether or not we are actually visible. 491 } // Whether or not we are actually visible.
497 void SetParentVisible(bool) override; 492 void SetParentVisible(bool) override;
498 void SetSelfVisible(bool v) { self_visible_ = v; } 493 void SetSelfVisible(bool v) { self_visible_ = v; }
499 void SetParent(FrameView*) override; 494 void SetParent(FrameView*) override;
500 FrameView* Parent() const override { return parent_; } 495 FrameView* Parent() const override { return parent_; }
501 void RemoveChild(FrameOrPlugin*); 496 void RemoveChild(FrameOrPlugin*);
502 void AddChild(FrameOrPlugin*); 497 void AddChild(FrameOrPlugin*);
498 using ChildrenSet = HeapHashSet<Member<FrameOrPlugin>>;
503 const ChildrenSet& Children() const { return children_; } 499 const ChildrenSet& Children() const { return children_; }
500 // Custom scrollbars in PaintLayerScrollableArea need to be called with
501 // StyleChanged whenever window focus is changed.
504 void RemoveScrollbar(Scrollbar*); 502 void RemoveScrollbar(Scrollbar*);
505 void AddScrollbar(Scrollbar*); 503 void AddScrollbar(Scrollbar*);
506 const ScrollbarsSet* Scrollbars() const { return &scrollbars_; }
507 504
508 // If the scroll view does not use a native widget, then it will have 505 // If the scroll view does not use a native widget, then it will have
509 // cross-platform Scrollbars. These functions can be used to obtain those 506 // cross-platform Scrollbars. These functions can be used to obtain those
510 // scrollbars. 507 // scrollbars.
511 Scrollbar* HorizontalScrollbar() const override { 508 Scrollbar* HorizontalScrollbar() const override {
512 return scrollbar_manager_.HorizontalScrollbar(); 509 return scrollbar_manager_.HorizontalScrollbar();
513 } 510 }
514 Scrollbar* VerticalScrollbar() const override { 511 Scrollbar* VerticalScrollbar() const override {
515 return scrollbar_manager_.VerticalScrollbar(); 512 return scrollbar_manager_.VerticalScrollbar();
516 } 513 }
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 640
644 // Functions for converting to screen coordinates. 641 // Functions for converting to screen coordinates.
645 IntRect ContentsToScreen(const IntRect&) const; 642 IntRect ContentsToScreen(const IntRect&) const;
646 643
647 // For platforms that need to hit test scrollbars from within the engine's 644 // For platforms that need to hit test scrollbars from within the engine's
648 // event handlers (like Win32). 645 // event handlers (like Win32).
649 Scrollbar* ScrollbarAtFramePoint(const IntPoint&); 646 Scrollbar* ScrollbarAtFramePoint(const IntPoint&);
650 647
651 IntRect ConvertToRootFrame(const IntRect&) const; 648 IntRect ConvertToRootFrame(const IntRect&) const;
652 IntPoint ConvertToRootFrame(const IntPoint&) const; 649 IntPoint ConvertToRootFrame(const IntPoint&) const;
650 IntRect ConvertFromRootFrame(const IntRect&) const;
651 IntPoint ConvertFromRootFrame(const IntPoint&) const override;
652 FloatPoint ConvertFromRootFrame(const FloatPoint&) const;
653 IntPoint ConvertSelfToChild(const FrameOrPlugin&, const IntPoint&) const; 653 IntPoint ConvertSelfToChild(const FrameOrPlugin&, const IntPoint&) const;
654 654
655 // Handles painting of the contents of the view as well as the scrollbars. 655 // Handles painting of the contents of the view as well as the scrollbars.
656 void Paint(GraphicsContext&, const CullRect&) const override; 656 void Paint(GraphicsContext&, const CullRect&) const override;
657 void Paint(GraphicsContext&, const GlobalPaintFlags, const CullRect&) const; 657 void Paint(GraphicsContext&, const GlobalPaintFlags, const CullRect&) const;
658 void PaintContents(GraphicsContext&, 658 void PaintContents(GraphicsContext&,
659 const GlobalPaintFlags, 659 const GlobalPaintFlags,
660 const IntRect& damage_rect) const; 660 const IntRect& damage_rect) const;
661 661
662 void Show() override; 662 void Show() override;
(...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after
1138 bool has_been_disposed_ = false; 1138 bool has_been_disposed_ = false;
1139 #endif 1139 #endif
1140 1140
1141 ScrollbarMode horizontal_scrollbar_mode_; 1141 ScrollbarMode horizontal_scrollbar_mode_;
1142 ScrollbarMode vertical_scrollbar_mode_; 1142 ScrollbarMode vertical_scrollbar_mode_;
1143 1143
1144 bool horizontal_scrollbar_lock_; 1144 bool horizontal_scrollbar_lock_;
1145 bool vertical_scrollbar_lock_; 1145 bool vertical_scrollbar_lock_;
1146 1146
1147 ChildrenSet children_; 1147 ChildrenSet children_;
1148 ScrollbarsSet scrollbars_; 1148 HeapHashSet<Member<Scrollbar>> scrollbars_;
1149 1149
1150 ScrollOffset pending_scroll_delta_; 1150 ScrollOffset pending_scroll_delta_;
1151 ScrollOffset scroll_offset_; 1151 ScrollOffset scroll_offset_;
1152 IntSize contents_size_; 1152 IntSize contents_size_;
1153 1153
1154 bool scrollbars_suppressed_; 1154 bool scrollbars_suppressed_;
1155 1155
1156 bool in_update_scrollbars_; 1156 bool in_update_scrollbars_;
1157 1157
1158 std::unique_ptr<LayoutAnalyzer> analyzer_; 1158 std::unique_ptr<LayoutAnalyzer> analyzer_;
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1261 if (visually_non_empty_pixel_count_ > kVisualPixelThreshold) 1261 if (visually_non_empty_pixel_count_ > kVisualPixelThreshold)
1262 SetIsVisuallyNonEmpty(); 1262 SetIsVisuallyNonEmpty();
1263 } 1263 }
1264 1264
1265 DEFINE_TYPE_CASTS(FrameView, 1265 DEFINE_TYPE_CASTS(FrameView,
1266 PlatformFrameView, 1266 PlatformFrameView,
1267 platform_frame_view, 1267 platform_frame_view,
1268 platform_frame_view->IsFrameView(), 1268 platform_frame_view->IsFrameView(),
1269 platform_frame_view.IsFrameView()); 1269 platform_frame_view.IsFrameView());
1270 DEFINE_TYPE_CASTS(FrameView, 1270 DEFINE_TYPE_CASTS(FrameView,
1271 FrameViewBase,
1272 frameViewBase,
1273 frameViewBase->IsFrameView(),
1274 frameViewBase.IsFrameView());
1275 DEFINE_TYPE_CASTS(FrameView,
1276 FrameOrPlugin, 1271 FrameOrPlugin,
1277 frame_or_plugin, 1272 frame_or_plugin,
1278 frame_or_plugin->IsFrameView(), 1273 frame_or_plugin->IsFrameView(),
1279 frame_or_plugin.IsFrameView()); 1274 frame_or_plugin.IsFrameView());
1280 DEFINE_TYPE_CASTS(FrameView, 1275 DEFINE_TYPE_CASTS(FrameView,
1281 ScrollableArea, 1276 ScrollableArea,
1282 scrollableArea, 1277 scrollableArea,
1283 scrollableArea->IsFrameView(), 1278 scrollableArea->IsFrameView(),
1284 scrollableArea.IsFrameView()); 1279 scrollableArea.IsFrameView());
1285 1280
1286 } // namespace blink 1281 } // namespace blink
1287 1282
1288 #endif // FrameView_h 1283 #endif // FrameView_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/bindings/core/v8/ScriptController.cpp ('k') | third_party/WebKit/Source/core/frame/FrameView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698