Chromium Code Reviews| OLD | NEW | 
|---|---|
| 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 23 matching lines...) Expand all Loading... | |
| 34 #include "wtf/OwnPtr.h" | 34 #include "wtf/OwnPtr.h" | 
| 35 #include "wtf/text/WTFString.h" | 35 #include "wtf/text/WTFString.h" | 
| 36 | 36 | 
| 37 namespace blink { | 37 namespace blink { | 
| 38 | 38 | 
| 39 class AXObjectCache; | 39 class AXObjectCache; | 
| 40 class DocumentLifecycle; | 40 class DocumentLifecycle; | 
| 41 class Cursor; | 41 class Cursor; | 
| 42 class Element; | 42 class Element; | 
| 43 class FloatSize; | 43 class FloatSize; | 
| 44 class FrameView; | |
| 44 class HTMLFrameOwnerElement; | 45 class HTMLFrameOwnerElement; | 
| 45 class LocalFrame; | 46 class LocalFrame; | 
| 46 class KURL; | 47 class KURL; | 
| 47 class Node; | 48 class Node; | 
| 48 class Page; | 49 class Page; | 
| 49 class RenderBox; | 50 class RenderBox; | 
| 50 class RenderEmbeddedObject; | 51 class RenderEmbeddedObject; | 
| 51 class RenderObject; | 52 class RenderObject; | 
| 52 class RenderScrollbarPart; | 53 class RenderScrollbarPart; | 
| 53 class RenderStyle; | 54 class RenderStyle; | 
| 54 class RenderView; | 55 class RenderView; | 
| 55 class RenderWidget; | 56 class RenderWidget; | 
| 56 | 57 | 
| 57 typedef unsigned long long DOMTimeStamp; | 58 typedef unsigned long long DOMTimeStamp; | 
| 58 | 59 | 
| 60 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.
 
 | |
| 61 WTF_MAKE_NONCOPYABLE(FrameViewAutoSizeData); WTF_MAKE_FAST_ALLOCATED; | |
| 62 public: | |
| 63 FrameViewAutoSizeData(FrameView *view) | |
| 64 : m_frameView(view) | |
| 65 , m_shouldAutoSize(false) | |
| 66 , m_inAutoSize(false) | |
| 67 , m_didRunAutosize(false) | |
| 68 { | |
| 69 } | |
| 70 | |
| 71 void enableAutoSizeMode(bool enable, const IntSize& minSize, const IntSize& maxSize); | |
| 72 void autoSizeIfEnabled(); | |
| 73 | |
| 74 private: | |
| 75 FrameView *m_frameView; | |
| 76 | |
| 77 // If true, automatically resize the frame view around its content. | |
| 78 bool m_shouldAutoSize; | |
| 79 bool m_inAutoSize; | |
| 80 // True if autosize has been run since m_shouldAutoSize was set. | |
| 81 bool m_didRunAutosize; | |
| 82 // The lower bound on the size when autosizing. | |
| 83 IntSize m_minAutoSize; | |
| 84 // The upper bound on the size when autosizing. | |
| 85 IntSize m_maxAutoSize; | |
| 86 }; | |
| 87 | |
| 59 class FrameView FINAL : public ScrollView { | 88 class FrameView FINAL : public ScrollView { | 
| 60 public: | 89 public: | 
| 61 friend class RenderView; | 90 friend class RenderView; | 
| 62 friend class Internals; | 91 friend class Internals; | 
| 63 | 92 | 
| 64 static PassRefPtr<FrameView> create(LocalFrame*); | 93 static PassRefPtr<FrameView> create(LocalFrame*); | 
| 65 static PassRefPtr<FrameView> create(LocalFrame*, const IntSize& initialSize) ; | 94 static PassRefPtr<FrameView> create(LocalFrame*, const IntSize& initialSize) ; | 
| 66 | 95 | 
| 67 virtual ~FrameView(); | 96 virtual ~FrameView(); | 
| 68 | 97 | 
| (...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 348 friend class RenderWidget; | 377 friend class RenderWidget; | 
| 349 bool useSlowRepaints(bool considerOverlap = true) const; | 378 bool useSlowRepaints(bool considerOverlap = true) const; | 
| 350 bool useSlowRepaintsIfNotOverlapped() const; | 379 bool useSlowRepaintsIfNotOverlapped() const; | 
| 351 | 380 | 
| 352 bool contentsInCompositedLayer() const; | 381 bool contentsInCompositedLayer() const; | 
| 353 | 382 | 
| 354 void applyOverflowToViewportAndSetRenderer(RenderObject*, ScrollbarMode& hMo de, ScrollbarMode& vMode); | 383 void applyOverflowToViewportAndSetRenderer(RenderObject*, ScrollbarMode& hMo de, ScrollbarMode& vMode); | 
| 355 void updateOverflowStatus(bool horizontalOverflow, bool verticalOverflow); | 384 void updateOverflowStatus(bool horizontalOverflow, bool verticalOverflow); | 
| 356 | 385 | 
| 357 void updateCounters(); | 386 void updateCounters(); | 
| 358 void autoSizeIfEnabled(); | |
| 359 void forceLayoutParentViewIfNeeded(); | 387 void forceLayoutParentViewIfNeeded(); | 
| 360 void performPreLayoutTasks(); | 388 void performPreLayoutTasks(); | 
| 361 void performLayout(RenderObject* rootForThisLayout, bool inSubtreeLayout); | 389 void performLayout(RenderObject* rootForThisLayout, bool inSubtreeLayout); | 
| 362 void scheduleOrPerformPostLayoutTasks(); | 390 void scheduleOrPerformPostLayoutTasks(); | 
| 363 void performPostLayoutTasks(); | 391 void performPostLayoutTasks(); | 
| 364 | 392 | 
| 365 void invalidateTreeIfNeeded(); | 393 void invalidateTreeIfNeeded(); | 
| 366 | 394 | 
| 367 void gatherDebugLayoutRects(RenderObject* layoutRoot); | 395 void gatherDebugLayoutRects(RenderObject* layoutRoot); | 
| 368 | 396 | 
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 407 AXObjectCache* axObjectCache() const; | 435 AXObjectCache* axObjectCache() const; | 
| 408 void removeFromAXObjectCache(); | 436 void removeFromAXObjectCache(); | 
| 409 | 437 | 
| 410 void setLayoutSizeInternal(const IntSize&); | 438 void setLayoutSizeInternal(const IntSize&); | 
| 411 | 439 | 
| 412 bool paintInvalidationIsAllowed() const | 440 bool paintInvalidationIsAllowed() const | 
| 413 { | 441 { | 
| 414 return !isInPerformLayout() || canInvalidatePaintDuringPerformLayout(); | 442 return !isInPerformLayout() || canInvalidatePaintDuringPerformLayout(); | 
| 415 } | 443 } | 
| 416 | 444 | 
| 445 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
 
 | |
| 446 { | |
| 447 if (!m_autoSizeData) | |
| 448 m_autoSizeData = adoptPtr(new FrameViewAutoSizeData(this)); | |
| 449 return *m_autoSizeData.get(); | |
| 450 } | |
| 451 | |
| 417 static double s_currentFrameTimeStamp; // used for detecting decoded resourc e thrash in the cache | 452 static double s_currentFrameTimeStamp; // used for detecting decoded resourc e thrash in the cache | 
| 418 static bool s_inPaintContents; | 453 static bool s_inPaintContents; | 
| 419 | 454 | 
| 420 LayoutSize m_size; | 455 LayoutSize m_size; | 
| 421 | 456 | 
| 422 typedef HashSet<RefPtr<RenderEmbeddedObject> > EmbeddedObjectSet; | 457 typedef HashSet<RefPtr<RenderEmbeddedObject> > EmbeddedObjectSet; | 
| 423 EmbeddedObjectSet m_widgetUpdateSet; | 458 EmbeddedObjectSet m_widgetUpdateSet; | 
| 424 | 459 | 
| 425 // FIXME: These are just "children" of the FrameView and should be RefPtr<Wi dget> instead. | 460 // FIXME: These are just "children" of the FrameView and should be RefPtr<Wi dget> instead. | 
| 426 HashSet<RefPtr<RenderWidget> > m_widgets; | 461 HashSet<RefPtr<RenderWidget> > m_widgets; | 
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 478 unsigned m_visuallyNonEmptyCharacterCount; | 513 unsigned m_visuallyNonEmptyCharacterCount; | 
| 479 unsigned m_visuallyNonEmptyPixelCount; | 514 unsigned m_visuallyNonEmptyPixelCount; | 
| 480 bool m_isVisuallyNonEmpty; | 515 bool m_isVisuallyNonEmpty; | 
| 481 bool m_firstVisuallyNonEmptyLayoutCallbackPending; | 516 bool m_firstVisuallyNonEmptyLayoutCallbackPending; | 
| 482 | 517 | 
| 483 RefPtrWillBePersistent<Node> m_maintainScrollPositionAnchor; | 518 RefPtrWillBePersistent<Node> m_maintainScrollPositionAnchor; | 
| 484 | 519 | 
| 485 // Renderer to hold our custom scroll corner. | 520 // Renderer to hold our custom scroll corner. | 
| 486 RenderScrollbarPart* m_scrollCorner; | 521 RenderScrollbarPart* m_scrollCorner; | 
| 487 | 522 | 
| 488 // If true, automatically resize the frame view around its content. | |
| 489 bool m_shouldAutoSize; | |
| 490 bool m_inAutoSize; | |
| 491 // True if autosize has been run since m_shouldAutoSize was set. | |
| 492 bool m_didRunAutosize; | |
| 493 // The lower bound on the size when autosizing. | |
| 494 IntSize m_minAutoSize; | |
| 495 // The upper bound on the size when autosizing. | |
| 496 IntSize m_maxAutoSize; | |
| 497 | |
| 498 OwnPtr<ScrollableAreaSet> m_scrollableAreas; | 523 OwnPtr<ScrollableAreaSet> m_scrollableAreas; | 
| 499 OwnPtr<ResizerAreaSet> m_resizerAreas; | 524 OwnPtr<ResizerAreaSet> m_resizerAreas; | 
| 500 OwnPtr<ViewportConstrainedObjectSet> m_viewportConstrainedObjects; | 525 OwnPtr<ViewportConstrainedObjectSet> m_viewportConstrainedObjects; | 
| 526 OwnPtr<FrameViewAutoSizeData> m_autoSizeData; | |
| 501 | 527 | 
| 502 bool m_hasSoftwareFilters; | 528 bool m_hasSoftwareFilters; | 
| 503 | 529 | 
| 504 float m_visibleContentScaleFactor; | 530 float m_visibleContentScaleFactor; | 
| 505 IntSize m_inputEventsOffsetForEmulation; | 531 IntSize m_inputEventsOffsetForEmulation; | 
| 506 float m_inputEventsScaleFactorForEmulation; | 532 float m_inputEventsScaleFactorForEmulation; | 
| 507 | 533 | 
| 508 IntSize m_layoutSize; | 534 IntSize m_layoutSize; | 
| 509 bool m_layoutSizeFixedToFrameSize; | 535 bool m_layoutSizeFixedToFrameSize; | 
| 510 | 536 | 
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 558 m_view->setCanInvalidatePaintDuringPerformLayout(m_originalValue); | 584 m_view->setCanInvalidatePaintDuringPerformLayout(m_originalValue); | 
| 559 } | 585 } | 
| 560 private: | 586 private: | 
| 561 FrameView* m_view; | 587 FrameView* m_view; | 
| 562 bool m_originalValue; | 588 bool m_originalValue; | 
| 563 }; | 589 }; | 
| 564 | 590 | 
| 565 } // namespace blink | 591 } // namespace blink | 
| 566 | 592 | 
| 567 #endif // FrameView_h | 593 #endif // FrameView_h | 
| OLD | NEW |