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

Side by Side Diff: extensions/renderer/guest_view/guest_view_container.cc

Issue 1102173002: Move GuestView layer in browser to components (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Jochen's comment + GuestViewBase cleanup Created 5 years, 7 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 #include "extensions/renderer/guest_view/guest_view_container.h" 5 #include "extensions/renderer/guest_view/guest_view_container.h"
6 6
7 #include "components/guest_view/common/guest_view_constants.h"
8 #include "components/guest_view/common/guest_view_messages.h"
7 #include "content/public/renderer/render_frame.h" 9 #include "content/public/renderer/render_frame.h"
8 #include "content/public/renderer/render_frame_observer.h" 10 #include "content/public/renderer/render_frame_observer.h"
9 #include "content/public/renderer/render_view.h" 11 #include "content/public/renderer/render_view.h"
10 #include "extensions/common/guest_view/extensions_guest_view_messages.h" 12 #include "extensions/common/guest_view/extensions_guest_view_messages.h"
11 #include "extensions/common/guest_view/guest_view_constants.h"
12 #include "extensions/common/guest_view/guest_view_messages.h"
13 13
14 namespace extensions { 14 namespace extensions {
15 15
16 class GuestViewContainer::RenderFrameLifetimeObserver 16 class GuestViewContainer::RenderFrameLifetimeObserver
17 : public content::RenderFrameObserver { 17 : public content::RenderFrameObserver {
18 public: 18 public:
19 RenderFrameLifetimeObserver(GuestViewContainer* container, 19 RenderFrameLifetimeObserver(GuestViewContainer* container,
20 content::RenderFrame* render_frame); 20 content::RenderFrame* render_frame);
21 21
22 // content::RenderFrameObserver overrides. 22 // content::RenderFrameObserver overrides.
23 void OnDestruct() override; 23 void OnDestruct() override;
24 24
25 private: 25 private:
26 GuestViewContainer* container_; 26 GuestViewContainer* container_;
27 27
28 DISALLOW_COPY_AND_ASSIGN(RenderFrameLifetimeObserver); 28 DISALLOW_COPY_AND_ASSIGN(RenderFrameLifetimeObserver);
29 }; 29 };
30 30
31 GuestViewContainer::RenderFrameLifetimeObserver::RenderFrameLifetimeObserver( 31 GuestViewContainer::RenderFrameLifetimeObserver::RenderFrameLifetimeObserver(
32 GuestViewContainer* container, 32 GuestViewContainer* container,
33 content::RenderFrame* render_frame) 33 content::RenderFrame* render_frame)
34 : content::RenderFrameObserver(render_frame), 34 : content::RenderFrameObserver(render_frame),
35 container_(container) {} 35 container_(container) {}
36 36
37 void GuestViewContainer::RenderFrameLifetimeObserver::OnDestruct() { 37 void GuestViewContainer::RenderFrameLifetimeObserver::OnDestruct() {
38 container_->RenderFrameDestroyed(); 38 container_->RenderFrameDestroyed();
39 } 39 }
40 40
41 GuestViewContainer::GuestViewContainer(content::RenderFrame* render_frame) 41 GuestViewContainer::GuestViewContainer(content::RenderFrame* render_frame)
42 : element_instance_id_(guestview::kInstanceIDNone), 42 : element_instance_id_(guest_view::kInstanceIDNone),
43 render_frame_(render_frame) { 43 render_frame_(render_frame) {
44 render_frame_lifetime_observer_.reset( 44 render_frame_lifetime_observer_.reset(
45 new RenderFrameLifetimeObserver(this, render_frame_)); 45 new RenderFrameLifetimeObserver(this, render_frame_));
46 } 46 }
47 47
48 GuestViewContainer::~GuestViewContainer() {} 48 GuestViewContainer::~GuestViewContainer() {}
49 49
50 // static. 50 // static.
51 bool GuestViewContainer::HandlesMessage(const IPC::Message& msg) { 51 bool GuestViewContainer::HandlesMessage(const IPC::Message& msg) {
52 switch (msg.type()) { 52 switch (msg.type()) {
53 case ExtensionsGuestViewMsg_CreateMimeHandlerViewGuestACK::ID: 53 case ExtensionsGuestViewMsg_CreateMimeHandlerViewGuestACK::ID:
54 case ExtensionsGuestViewMsg_MimeHandlerViewGuestOnLoadCompleted::ID: 54 case ExtensionsGuestViewMsg_MimeHandlerViewGuestOnLoadCompleted::ID:
55 case GuestViewMsg_GuestAttached::ID: 55 case GuestViewMsg_GuestAttached::ID:
56 case GuestViewMsg_GuestDetached::ID: 56 case GuestViewMsg_GuestDetached::ID:
57 return true; 57 return true;
58 default: 58 default:
59 return false; 59 return false;
60 } 60 }
61 } 61 }
62 62
63 void GuestViewContainer::RenderFrameDestroyed() { 63 void GuestViewContainer::RenderFrameDestroyed() {
64 OnRenderFrameDestroyed(); 64 OnRenderFrameDestroyed();
65 render_frame_ = nullptr; 65 render_frame_ = nullptr;
66 } 66 }
67 67
68 void GuestViewContainer::SetElementInstanceID(int element_instance_id) { 68 void GuestViewContainer::SetElementInstanceID(int element_instance_id) {
69 DCHECK_EQ(element_instance_id_, guestview::kInstanceIDNone); 69 DCHECK_EQ(element_instance_id_, guest_view::kInstanceIDNone);
70 element_instance_id_ = element_instance_id; 70 element_instance_id_ = element_instance_id;
71 } 71 }
72 72
73 } // namespace extensions 73 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698