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

Unified Diff: Source/core/frame/FrameView.h

Issue 459633002: Autosizing storage doesnot belong on FrameView (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Removed deadcode Created 6 years, 4 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
« no previous file with comments | « no previous file | Source/core/frame/FrameView.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/frame/FrameView.h
diff --git a/Source/core/frame/FrameView.h b/Source/core/frame/FrameView.h
index 22d6f29f043221229cc324f9b367bfa7650ac350..f17b6f210a24033500ed7a0a6da37ace23e64044 100644
--- a/Source/core/frame/FrameView.h
+++ b/Source/core/frame/FrameView.h
@@ -41,6 +41,7 @@ class DocumentLifecycle;
class Cursor;
class Element;
class FloatSize;
+class FrameView;
class HTMLFrameOwnerElement;
class LocalFrame;
class KURL;
@@ -56,6 +57,34 @@ class RenderWidget;
typedef unsigned long long DOMTimeStamp;
+struct FrameViewAutoSizeData {
ostap 2014/08/10 05:01:51 Shouldn't it go into separate .h & .cpp ?
Shanmuga Pandi 2014/08/10 09:56:48 I thought it is going to be used only in FrameView
Shanmuga Pandi 2014/08/11 08:58:00 Done.
ostap 2014/08/11 19:24:27 I see. Ok.
+ WTF_MAKE_NONCOPYABLE(FrameViewAutoSizeData); WTF_MAKE_FAST_ALLOCATED;
+public:
+ FrameViewAutoSizeData(FrameView *view)
+ : m_frameView(view)
+ , m_shouldAutoSize(false)
+ , m_inAutoSize(false)
+ , m_didRunAutosize(false)
+ {
+ }
+
+ void enableAutoSizeMode(bool enable, const IntSize& minSize, const IntSize& maxSize);
+ void autoSizeIfEnabled();
+
+private:
+ FrameView *m_frameView;
+
+ // If true, automatically resize the frame view around its content.
+ bool m_shouldAutoSize;
+ bool m_inAutoSize;
+ // True if autosize has been run since m_shouldAutoSize was set.
+ bool m_didRunAutosize;
+ // The lower bound on the size when autosizing.
+ IntSize m_minAutoSize;
+ // The upper bound on the size when autosizing.
+ IntSize m_maxAutoSize;
+};
+
class FrameView FINAL : public ScrollView {
public:
friend class RenderView;
@@ -355,7 +384,6 @@ private:
void updateOverflowStatus(bool horizontalOverflow, bool verticalOverflow);
void updateCounters();
- void autoSizeIfEnabled();
void forceLayoutParentViewIfNeeded();
void performPreLayoutTasks();
void performLayout(RenderObject* rootForThisLayout, bool inSubtreeLayout);
@@ -414,6 +442,13 @@ private:
return !isInPerformLayout() || canInvalidatePaintDuringPerformLayout();
}
+ FrameViewAutoSizeData& ensureAutoSizeData()
ostap 2014/08/10 05:01:51 autoSizeData() ?
Shanmuga Pandi 2014/08/10 09:56:48 I have referred ensureRareData in RenderBox.h. Ca
Shanmuga Pandi 2014/08/11 08:58:00 Done.
ostap 2014/08/11 19:24:26 I sees it both ways in code, so it should be fine
+ {
+ if (!m_autoSizeData)
+ m_autoSizeData = adoptPtr(new FrameViewAutoSizeData(this));
+ return *m_autoSizeData.get();
+ }
+
static double s_currentFrameTimeStamp; // used for detecting decoded resource thrash in the cache
static bool s_inPaintContents;
@@ -485,19 +520,10 @@ private:
// Renderer to hold our custom scroll corner.
RenderScrollbarPart* m_scrollCorner;
- // If true, automatically resize the frame view around its content.
- bool m_shouldAutoSize;
- bool m_inAutoSize;
- // True if autosize has been run since m_shouldAutoSize was set.
- bool m_didRunAutosize;
- // The lower bound on the size when autosizing.
- IntSize m_minAutoSize;
- // The upper bound on the size when autosizing.
- IntSize m_maxAutoSize;
-
OwnPtr<ScrollableAreaSet> m_scrollableAreas;
OwnPtr<ResizerAreaSet> m_resizerAreas;
OwnPtr<ViewportConstrainedObjectSet> m_viewportConstrainedObjects;
+ OwnPtr<FrameViewAutoSizeData> m_autoSizeData;
bool m_hasSoftwareFilters;
« no previous file with comments | « no previous file | Source/core/frame/FrameView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698