Chromium Code Reviews| Index: third_party/WebKit/Source/core/frame/FrameView.h |
| diff --git a/third_party/WebKit/Source/core/frame/FrameView.h b/third_party/WebKit/Source/core/frame/FrameView.h |
| index 061869d708f1de0111c96ba48d060c4c8b146b51..e67d1507932ab737d6d4712d035724e9803a84ee 100644 |
| --- a/third_party/WebKit/Source/core/frame/FrameView.h |
| +++ b/third_party/WebKit/Source/core/frame/FrameView.h |
| @@ -102,7 +102,8 @@ struct CompositedSelection; |
| typedef unsigned long long DOMTimeStamp; |
| class CORE_EXPORT FrameView final |
| - : public FrameViewBase, |
| + : public GarbageCollectedFinalized<FrameView>, |
| + public FrameViewBase, |
| public FrameOrPlugin, |
| public PaintInvalidationCapableScrollableArea { |
| USING_GARBAGE_COLLECTED_MIXIN(FrameView); |
| @@ -120,9 +121,17 @@ class CORE_EXPORT FrameView final |
| void Invalidate() { InvalidateRect(IntRect(0, 0, Width(), Height())); } |
| void InvalidateRect(const IntRect&); |
| void SetFrameRect(const IntRect&) override; |
| - const IntRect& FrameRect() const override { |
| - return FrameViewBase::FrameRect(); |
| + const IntRect& FrameRect() const override { return frame_rect_; } |
| + int X() const { return frame_rect_.X(); } |
| + int Y() const { return frame_rect_.Y(); } |
| + int Width() const { return frame_rect_.Width(); } |
| + int Height() const { return frame_rect_.Height(); } |
| + IntSize Size() const { return frame_rect_.Size(); } |
| + IntPoint Location() const override { return frame_rect_.Location(); } |
| + void Resize(int w, int h) { |
|
haraken
2017/04/26 07:42:14
width
height
joelhockey
2017/04/26 07:48:37
Done
|
| + SetFrameRect(IntRect(frame_rect_.X(), frame_rect_.Y(), w, h)); |
| } |
| + 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
|
| LocalFrame& GetFrame() const { |
| ASSERT(frame_); |
| @@ -474,7 +483,20 @@ class CORE_EXPORT FrameView final |
| typedef HeapHashSet<Member<Scrollbar>> ScrollbarsSet; |
| // Functions for child manipulation and inspection. |
| + bool IsSelfVisible() const { |
| + return self_visible_; |
| + } // Whether or not we have been explicitly marked as visible or not. |
| + bool IsParentVisible() const { |
| + return parent_visible_; |
| + } // Whether or not our parent is visible. |
| + bool IsVisible() const { |
| + return self_visible_ && parent_visible_; |
| + } // Whether or not we are actually visible. |
| + void SetParentVisible(bool); |
| + void SetSelfVisible(bool v) { self_visible_ = v; } |
| void SetParent(FrameViewBase*) override; |
| + FrameViewBase* Parent() const override { return parent_; } |
| + FrameView* Root() const; |
| void RemoveChild(FrameViewBase*); |
| void AddChild(FrameViewBase*); |
| const ChildrenSet* Children() const { return &children_; } |
| @@ -640,11 +662,8 @@ class CORE_EXPORT FrameView final |
| const GlobalPaintFlags, |
| const IntRect& damage_rect) const; |
| - // FrameViewBase overrides to ensure that our children's visibility status is |
| - // kept up to date when we get shown and hidden. |
| void Show() override; |
| void Hide() override; |
| - void SetParentVisible(bool) override; |
| bool IsPointInScrollbarCorner(const IntPoint&); |
| bool ScrollbarCornerPresent() const; |
| @@ -875,7 +894,7 @@ class CORE_EXPORT FrameView final |
| void InvalidateTreeIfNeeded(const PaintInvalidationState&); |
| private: |
| - explicit FrameView(LocalFrame&); |
| + explicit FrameView(LocalFrame&, IntRect); |
| class ScrollbarManager : public blink::ScrollbarManager { |
| DISALLOW_NEW(); |
| @@ -1054,6 +1073,11 @@ class CORE_EXPORT FrameView final |
| Member<LocalFrame> frame_; |
| + IntRect frame_rect_; |
| + Member<FrameView> parent_; |
| + bool self_visible_; |
| + bool parent_visible_; |
| + |
| WebDisplayMode display_mode_; |
| DisplayShape display_shape_; |