summaryrefslogtreecommitdiffstats
path: root/WebCore/page/FrameView.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/page/FrameView.h')
-rw-r--r--WebCore/page/FrameView.h31
1 files changed, 18 insertions, 13 deletions
diff --git a/WebCore/page/FrameView.h b/WebCore/page/FrameView.h
index f9a4bf3..22c05be 100644
--- a/WebCore/page/FrameView.h
+++ b/WebCore/page/FrameView.h
@@ -200,9 +200,24 @@ public:
void forceLayout(bool allowSubtree = false);
void forceLayoutForPagination(const FloatSize& pageSize, float maximumShrinkFactor, Frame::AdjustViewSizeOrNot);
- int pageHeight() const { return m_pageHeight; }
- void adjustPageHeight(float* newBottom, float oldTop, float oldBottom, float bottomLimit);
+ // FIXME: This method is retained because of embedded WebViews in AppKit. When a WebView is embedded inside
+ // some enclosing view with auto-pagination, no call happens to resize the view. The new pagination model
+ // needs the view to resize as a result of the breaks, but that means that the enclosing view has to potentially
+ // resize around that view. Auto-pagination uses the bounds of the actual view that's being printed to determine
+ // the edges of the print operation, so the resize is necessary if the enclosing view's bounds depend on the
+ // web document's bounds.
+ //
+ // This is already a problem if the view needs to be a different size because of printer fonts or because of print stylesheets.
+ // Mail/Dictionary work around this problem by using the _layoutForPrinting SPI
+ // to at least get print stylesheets and printer fonts into play, but since WebKit doesn't know about the page offset or
+ // page size, it can't actually paginate correctly during _layoutForPrinting.
+ //
+ // We can eventually move Mail to a newer SPI that would let them opt in to the layout-time pagination model,
+ // but that doesn't solve the general problem of how other AppKit views could opt in to the better model.
+ //
+ // NO OTHER PLATFORM BESIDES MAC SHOULD USE THIS METHOD.
+ void adjustPageHeightDeprecated(float* newBottom, float oldTop, float oldBottom, float bottomLimit);
bool scrollToFragment(const KURL&);
bool scrollToAnchor(const String&);
@@ -217,13 +232,6 @@ public:
bool isFrameViewScrollCorner(RenderScrollbarPart* scrollCorner) const { return m_scrollCorner == scrollCorner; }
void invalidateScrollCorner();
- void setZoomFactor(float scale, ZoomMode);
- float zoomFactor() const { return m_zoomFactor; }
- bool shouldApplyTextZoom() const;
- bool shouldApplyPageZoom() const;
- float pageZoomFactor() const { return shouldApplyPageZoom() ? m_zoomFactor : 1.0f; }
- float textZoomFactor() const { return shouldApplyTextZoom() ? m_zoomFactor : 1.0f; }
-
// Normal delay
static void setRepaintThrottlingDeferredRepaintDelay(double p);
// Negative value would mean that first few repaints happen without a delay
@@ -270,6 +278,7 @@ private:
// ScrollBarClient interface
virtual void valueChanged(Scrollbar*);
+ virtual void valueChanged(const IntSize&);
virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&);
virtual bool isActive() const;
virtual void getTickmarks(Vector<IntRect>&) const;
@@ -336,8 +345,6 @@ private:
String m_mediaType;
String m_mediaTypeWhenNotPrinting;
- int m_pageHeight;
-
unsigned m_enqueueEvents;
Vector<ScheduledEvent*> m_scheduledEvents;
@@ -373,8 +380,6 @@ private:
// Renderer to hold our custom scroll corner.
RenderScrollbarPart* m_scrollCorner;
- float m_zoomFactor;
-
static double s_deferredRepaintDelay;
static double s_initialDeferredRepaintDelayDuringLoading;
static double s_maxDeferredRepaintDelayDuringLoading;