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

Side by Side Diff: Source/core/frame/RemoteFrameView.h

Issue 603193005: Move the Widget hierarchy to the Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Switch LocalFrame::m_pluginElements rep to HashSet<HTMLPlugInElement*> Created 6 years, 2 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef RemoteFrameView_h 5 #ifndef RemoteFrameView_h
6 #define RemoteFrameView_h 6 #define RemoteFrameView_h
7 7
8 #include "platform/Widget.h" 8 #include "platform/Widget.h"
9 #include "platform/geometry/IntRect.h" 9 #include "platform/geometry/IntRect.h"
10 #include "platform/heap/Handle.h" 10 #include "platform/heap/Handle.h"
11 11
12 namespace blink { 12 namespace blink {
13 13
14 class RemoteFrame; 14 class RemoteFrame;
15 15
16 class RemoteFrameView : public Widget { 16 class RemoteFrameView final : public Widget {
17 public: 17 public:
18 static PassRefPtr<RemoteFrameView> create(RemoteFrame*); 18 static PassRefPtrWillBeRawPtr<RemoteFrameView> create(RemoteFrame*);
19 19
20 virtual ~RemoteFrameView(); 20 virtual ~RemoteFrameView();
21 21
22 virtual bool isRemoteFrameView() const override { return true; } 22 virtual bool isRemoteFrameView() const override { return true; }
23 23
24 RemoteFrame& frame() const 24 RemoteFrame& frame() const
25 { 25 {
26 ASSERT(m_remoteFrame); 26 ASSERT(m_remoteFrame);
27 return *m_remoteFrame; 27 return *m_remoteFrame;
28 } 28 }
29 29
30 // Override to notify remote frame that its viewport size has changed. 30 // Override to notify remote frame that its viewport size has changed.
31 virtual void frameRectsChanged() override; 31 virtual void frameRectsChanged() override;
32 32
33 virtual void invalidateRect(const IntRect&) override; 33 virtual void invalidateRect(const IntRect&) override;
34 34
35 virtual void setFrameRect(const IntRect&) override; 35 virtual void setFrameRect(const IntRect&) override;
36 36
37 virtual void trace(Visitor*) override;
38
37 private: 39 private:
38 explicit RemoteFrameView(RemoteFrame*); 40 explicit RemoteFrameView(RemoteFrame*);
39 41
40 // The RefPtrWillBePersistent-cycle between RemoteFrame and its RemoteFrameV iew 42 // The properties and handling of the cycle between RemoteFrame
41 // is broken in the same manner as FrameView::m_frame and LocalFrame::m_view is. 43 // and its RemoteFrameView corresponds to that between LocalFrame
42 // See the FrameView::m_frame comment. 44 // and FrameView. Please see the FrameView::m_frame comment for
43 RefPtrWillBePersistent<RemoteFrame> m_remoteFrame; 45 // details.
46 RefPtrWillBeMember<RemoteFrame> m_remoteFrame;
44 }; 47 };
45 48
46 DEFINE_TYPE_CASTS(RemoteFrameView, Widget, widget, widget->isRemoteFrameView(), widget.isRemoteFrameView()); 49 DEFINE_TYPE_CASTS(RemoteFrameView, Widget, widget, widget->isRemoteFrameView(), widget.isRemoteFrameView());
47 50
48 } // namespace blink 51 } // namespace blink
49 52
50 #endif // RemoteFrameView_h 53 #endif // RemoteFrameView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698