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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 class RenderBox; | 50 class RenderBox; |
51 class RenderEmbeddedObject; | 51 class RenderEmbeddedObject; |
52 class RenderObject; | 52 class RenderObject; |
53 class RenderScrollbarPart; | 53 class RenderScrollbarPart; |
54 class RenderStyle; | 54 class RenderStyle; |
55 class RenderView; | 55 class RenderView; |
56 class RenderWidget; | 56 class RenderWidget; |
57 | 57 |
58 typedef unsigned long long DOMTimeStamp; | 58 typedef unsigned long long DOMTimeStamp; |
59 | 59 |
| 60 // FIXME: Oilpan: move FrameView (or ScrollView) to the heap. |
60 class FrameView FINAL : public ScrollView { | 61 class FrameView FINAL : public ScrollView { |
61 public: | 62 public: |
62 friend class RenderView; | 63 friend class RenderView; |
63 friend class Internals; | 64 friend class Internals; |
64 | 65 |
65 static PassRefPtr<FrameView> create(LocalFrame*); | 66 static PassRefPtr<FrameView> create(LocalFrame*); |
66 static PassRefPtr<FrameView> create(LocalFrame*, const IntSize& initialSize)
; | 67 static PassRefPtr<FrameView> create(LocalFrame*, const IntSize& initialSize)
; |
67 | 68 |
68 virtual ~FrameView(); | 69 virtual ~FrameView(); |
69 | 70 |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 static bool s_inPaintContents; | 412 static bool s_inPaintContents; |
412 | 413 |
413 LayoutSize m_size; | 414 LayoutSize m_size; |
414 | 415 |
415 typedef WillBeHeapHashSet<RefPtrWillBeMember<RenderEmbeddedObject> > Embedde
dObjectSet; | 416 typedef WillBeHeapHashSet<RefPtrWillBeMember<RenderEmbeddedObject> > Embedde
dObjectSet; |
416 WillBePersistentHeapHashSet<RefPtrWillBeMember<RenderEmbeddedObject> > m_wid
getUpdateSet; | 417 WillBePersistentHeapHashSet<RefPtrWillBeMember<RenderEmbeddedObject> > m_wid
getUpdateSet; |
417 | 418 |
418 // FIXME: These are just "children" of the FrameView and should be RefPtr<Wi
dget> instead. | 419 // FIXME: These are just "children" of the FrameView and should be RefPtr<Wi
dget> instead. |
419 WillBePersistentHeapHashSet<RefPtrWillBeMember<RenderWidget> > m_widgets; | 420 WillBePersistentHeapHashSet<RefPtrWillBeMember<RenderWidget> > m_widgets; |
420 | 421 |
421 RefPtr<LocalFrame> m_frame; | 422 // Oilpan: the use of a persistent back reference 'emulates' the |
| 423 // RefPtr-cycle that is kept between the two objects non-Oilpan. |
| 424 // |
| 425 // That cycle is broken when a LocalFrame is detached by |
| 426 // FrameLoader::detachFromParent(), it then clears its |
| 427 // FrameView's m_frame reference by calling setView(nullptr). |
| 428 RefPtrWillBePersistent<LocalFrame> m_frame; |
422 | 429 |
423 bool m_doFullPaintInvalidation; | 430 bool m_doFullPaintInvalidation; |
424 | 431 |
425 bool m_canHaveScrollbars; | 432 bool m_canHaveScrollbars; |
426 unsigned m_slowRepaintObjectCount; | 433 unsigned m_slowRepaintObjectCount; |
427 | 434 |
428 bool m_hasPendingLayout; | 435 bool m_hasPendingLayout; |
429 RenderObject* m_layoutSubtreeRoot; | 436 RenderObject* m_layoutSubtreeRoot; |
430 | 437 |
431 bool m_layoutSchedulingEnabled; | 438 bool m_layoutSchedulingEnabled; |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
539 m_view->setCanInvalidatePaintDuringPerformLayout(m_originalValue); | 546 m_view->setCanInvalidatePaintDuringPerformLayout(m_originalValue); |
540 } | 547 } |
541 private: | 548 private: |
542 FrameView* m_view; | 549 FrameView* m_view; |
543 bool m_originalValue; | 550 bool m_originalValue; |
544 }; | 551 }; |
545 | 552 |
546 } // namespace blink | 553 } // namespace blink |
547 | 554 |
548 #endif // FrameView_h | 555 #endif // FrameView_h |
OLD | NEW |