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

Unified 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, 8 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 side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698