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

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

Issue 2653963002: [Experimental] Supporting OOPIF printing
Patch Set: Rename service, fix for webview, and connect to DiscardableMemoryManager Created 3 years, 8 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 final : public Widget { 16 class RemoteFrameView final : public Widget, public DisplayItemClient {
17 public: 17 public:
18 static RemoteFrameView* create(RemoteFrame*); 18 static RemoteFrameView* create(RemoteFrame*);
19 19
20 ~RemoteFrameView() override; 20 ~RemoteFrameView() override;
21 21
22 bool isRemoteFrameView() const override { return true; } 22 bool isRemoteFrameView() const override { return true; }
23 void setParent(Widget*) override; 23 void setParent(Widget*) override;
24 24
25 RemoteFrame& frame() const { 25 RemoteFrame& frame() const {
26 ASSERT(m_remoteFrame); 26 ASSERT(m_remoteFrame);
27 return *m_remoteFrame; 27 return *m_remoteFrame;
28 } 28 }
29 29
30 void dispose() override; 30 void dispose() override;
31 // Override to notify remote frame that its viewport size has changed. 31 // Override to notify remote frame that its viewport size has changed.
32 void frameRectsChanged() override; 32 void frameRectsChanged() override;
33 void invalidateRect(const IntRect&) override; 33 void invalidateRect(const IntRect&) override;
34 void setFrameRect(const IntRect&) override; 34 void setFrameRect(const IntRect&) override;
35 void hide() override; 35 void hide() override;
36 void show() override; 36 void show() override;
37 void setParentVisible(bool) override; 37 void setParentVisible(bool) override;
38 void paint(GraphicsContext&, const CullRect&) const override;
39
40 // DisplayItemClient
41 LayoutRect visualRect() const override;
42 String debugName() const override;
43
44 int print(const IntRect&, int) const;
38 45
39 DECLARE_VIRTUAL_TRACE(); 46 DECLARE_VIRTUAL_TRACE();
40 47
41 private: 48 private:
42 explicit RemoteFrameView(RemoteFrame*); 49 explicit RemoteFrameView(RemoteFrame*);
43 50
44 void updateRemoteViewportIntersection(); 51 void updateRemoteViewportIntersection();
45 52
46 // The properties and handling of the cycle between RemoteFrame 53 // The properties and handling of the cycle between RemoteFrame
47 // and its RemoteFrameView corresponds to that between LocalFrame 54 // and its RemoteFrameView corresponds to that between LocalFrame
48 // and FrameView. Please see the FrameView::m_frame comment for 55 // and FrameView. Please see the FrameView::m_frame comment for
49 // details. 56 // details.
50 Member<RemoteFrame> m_remoteFrame; 57 Member<RemoteFrame> m_remoteFrame;
51 58
52 IntRect m_lastViewportIntersection; 59 IntRect m_lastViewportIntersection;
53 }; 60 };
54 61
55 DEFINE_TYPE_CASTS(RemoteFrameView, 62 DEFINE_TYPE_CASTS(RemoteFrameView,
56 Widget, 63 Widget,
57 widget, 64 widget,
58 widget->isRemoteFrameView(), 65 widget->isRemoteFrameView(),
59 widget.isRemoteFrameView()); 66 widget.isRemoteFrameView());
60 67
61 } // namespace blink 68 } // namespace blink
62 69
63 #endif // RemoteFrameView_h 70 #endif // RemoteFrameView_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/RemoteFrameClient.h ('k') | third_party/WebKit/Source/core/frame/RemoteFrameView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698