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

Side by Side Diff: Source/core/page/FrameView.h

Issue 18601002: Add infrastructure for partial layouts (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: If text autosizing is enabled, only partial layout for the second of two layouts Created 7 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 unified diff | Download patch | Annotate | Revision Log
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 reserv ed. 7 Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
8 8
9 This library is free software; you can redistribute it and/or 9 This library is free software; you can redistribute it and/or
10 modify it under the terms of the GNU Library General Public 10 modify it under the terms of the GNU Library General Public
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 void setInProgrammaticScroll(bool programmaticScroll) { m_inProgrammaticScro ll = programmaticScroll; } 328 void setInProgrammaticScroll(bool programmaticScroll) { m_inProgrammaticScro ll = programmaticScroll; }
329 329
330 void setHasSoftwareFilters(bool hasSoftwareFilters) { m_hasSoftwareFilters = hasSoftwareFilters; } 330 void setHasSoftwareFilters(bool hasSoftwareFilters) { m_hasSoftwareFilters = hasSoftwareFilters; }
331 bool hasSoftwareFilters() const { return m_hasSoftwareFilters; } 331 bool hasSoftwareFilters() const { return m_hasSoftwareFilters; }
332 332
333 virtual bool isActive() const OVERRIDE; 333 virtual bool isActive() const OVERRIDE;
334 334
335 // DEPRECATED: Use viewportConstrainedVisibleContentRect() instead. 335 // DEPRECATED: Use viewportConstrainedVisibleContentRect() instead.
336 IntSize scrollOffsetForFixedPosition() const; 336 IntSize scrollOffsetForFixedPosition() const;
337 337
338 bool shouldStopPartialLayout() const { return m_shouldStopPartialLayout; }
339 void checkPartialLayoutComplete(RenderObject*);
340 void setStopLayoutAtRenderer(RenderObject* renderer) { m_stopLayoutAtRendere r = renderer; }
341 void resetPartialLayoutState() { m_stopLayoutAtRenderer = 0; m_shouldStopPar tialLayout = false; }
esprehn 2013/08/18 03:43:15 Isn't shouldStopPartialLayout the same as checking
pdr. 2013/08/20 06:19:10 We need the boolean to track that we're exiting in
342
338 protected: 343 protected:
339 virtual bool scrollContentsFastPath(const IntSize& scrollDelta, const IntRec t& rectToScroll, const IntRect& clipRect); 344 virtual bool scrollContentsFastPath(const IntSize& scrollDelta, const IntRec t& rectToScroll, const IntRect& clipRect);
340 virtual void scrollContentsSlowPath(const IntRect& updateRect); 345 virtual void scrollContentsSlowPath(const IntRect& updateRect);
341 346
342 virtual bool isVerticalDocument() const; 347 virtual bool isVerticalDocument() const;
343 virtual bool isFlippedDocument() const; 348 virtual bool isFlippedDocument() const;
344 349
345 private: 350 private:
346 explicit FrameView(Frame*); 351 explicit FrameView(Frame*);
347 352
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 OwnPtr<ViewportConstrainedObjectSet> m_viewportConstrainedObjects; 524 OwnPtr<ViewportConstrainedObjectSet> m_viewportConstrainedObjects;
520 525
521 static double s_normalDeferredRepaintDelay; 526 static double s_normalDeferredRepaintDelay;
522 static double s_initialDeferredRepaintDelayDuringLoading; 527 static double s_initialDeferredRepaintDelayDuringLoading;
523 static double s_maxDeferredRepaintDelayDuringLoading; 528 static double s_maxDeferredRepaintDelayDuringLoading;
524 static double s_deferredRepaintDelayIncrementDuringLoading; 529 static double s_deferredRepaintDelayIncrementDuringLoading;
525 530
526 bool m_hasSoftwareFilters; 531 bool m_hasSoftwareFilters;
527 532
528 float m_visibleContentScaleFactor; 533 float m_visibleContentScaleFactor;
534
535 bool m_shouldStopPartialLayout;
536 RenderObject* m_stopLayoutAtRenderer;
529 }; 537 };
530 538
531 inline void FrameView::incrementVisuallyNonEmptyCharacterCount(unsigned count) 539 inline void FrameView::incrementVisuallyNonEmptyCharacterCount(unsigned count)
532 { 540 {
533 if (m_isVisuallyNonEmpty) 541 if (m_isVisuallyNonEmpty)
534 return; 542 return;
535 m_visuallyNonEmptyCharacterCount += count; 543 m_visuallyNonEmptyCharacterCount += count;
536 // Use a threshold value to prevent very small amounts of visible content fr om triggering didFirstVisuallyNonEmptyLayout. 544 // Use a threshold value to prevent very small amounts of visible content fr om triggering didFirstVisuallyNonEmptyLayout.
537 // The first few hundred characters rarely contain the interesting content o f the page. 545 // The first few hundred characters rarely contain the interesting content o f the page.
538 static const unsigned visualCharacterThreshold = 200; 546 static const unsigned visualCharacterThreshold = 200;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 ASSERT(!widget || widget->isFrameView()); 580 ASSERT(!widget || widget->isFrameView());
573 return static_cast<const FrameView*>(widget); 581 return static_cast<const FrameView*>(widget);
574 } 582 }
575 583
576 // This will catch anyone doing an unnecessary cast. 584 // This will catch anyone doing an unnecessary cast.
577 void toFrameView(const FrameView*); 585 void toFrameView(const FrameView*);
578 586
579 } // namespace WebCore 587 } // namespace WebCore
580 588
581 #endif // FrameView_h 589 #endif // FrameView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698