OLD | NEW |
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/browser/guest_view/mime_handler_view/mime_handler_view_gues
t.h" | 5 #include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_gues
t.h" |
6 | 6 |
7 #include "base/strings/stringprintf.h" | 7 #include "base/strings/stringprintf.h" |
8 #include "components/guest_view/common/guest_view_constants.h" | 8 #include "components/guest_view/common/guest_view_constants.h" |
9 #include "content/public/browser/browser_thread.h" | 9 #include "content/public/browser/browser_thread.h" |
10 #include "content/public/browser/host_zoom_map.h" | 10 #include "content/public/browser/host_zoom_map.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 } | 72 } |
73 | 73 |
74 MimeHandlerViewGuest::MimeHandlerViewGuest(WebContents* owner_web_contents) | 74 MimeHandlerViewGuest::MimeHandlerViewGuest(WebContents* owner_web_contents) |
75 : GuestView<MimeHandlerViewGuest>(owner_web_contents), | 75 : GuestView<MimeHandlerViewGuest>(owner_web_contents), |
76 delegate_(ExtensionsAPIClient::Get()->CreateMimeHandlerViewGuestDelegate( | 76 delegate_(ExtensionsAPIClient::Get()->CreateMimeHandlerViewGuestDelegate( |
77 this)) {} | 77 this)) {} |
78 | 78 |
79 MimeHandlerViewGuest::~MimeHandlerViewGuest() { | 79 MimeHandlerViewGuest::~MimeHandlerViewGuest() { |
80 } | 80 } |
81 | 81 |
82 const char* MimeHandlerViewGuest::GetAPINamespace() const { | 82 base::WeakPtr<StreamContainer> MimeHandlerViewGuest::GetStream() const { |
83 return "mimeHandlerViewGuestInternal"; | 83 if (!stream_) |
| 84 return base::WeakPtr<StreamContainer>(); |
| 85 return stream_->GetWeakPtr(); |
84 } | 86 } |
85 | 87 |
86 int MimeHandlerViewGuest::GetTaskPrefix() const { | |
87 return IDS_EXTENSION_TASK_MANAGER_MIMEHANDLERVIEW_TAG_PREFIX; | |
88 } | |
89 | 88 |
90 void MimeHandlerViewGuest::CreateWebContents( | 89 void MimeHandlerViewGuest::CreateWebContents( |
91 const base::DictionaryValue& create_params, | 90 const base::DictionaryValue& create_params, |
92 const WebContentsCreatedCallback& callback) { | 91 const WebContentsCreatedCallback& callback) { |
93 create_params.GetString(mime_handler_view::kViewId, &view_id_); | 92 create_params.GetString(mime_handler_view::kViewId, &view_id_); |
94 if (view_id_.empty()) { | 93 if (view_id_.empty()) { |
95 callback.Run(nullptr); | 94 callback.Run(nullptr); |
96 return; | 95 return; |
97 } | 96 } |
98 stream_ = | 97 stream_ = |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 } | 134 } |
136 | 135 |
137 void MimeHandlerViewGuest::DidAttachToEmbedder() { | 136 void MimeHandlerViewGuest::DidAttachToEmbedder() { |
138 web_contents()->GetController().LoadURL( | 137 web_contents()->GetController().LoadURL( |
139 stream_->handler_url(), content::Referrer(), | 138 stream_->handler_url(), content::Referrer(), |
140 ui::PAGE_TRANSITION_AUTO_TOPLEVEL, std::string()); | 139 ui::PAGE_TRANSITION_AUTO_TOPLEVEL, std::string()); |
141 web_contents()->GetMainFrame()->GetServiceRegistry()->AddService( | 140 web_contents()->GetMainFrame()->GetServiceRegistry()->AddService( |
142 base::Bind(&MimeHandlerServiceImpl::Create, stream_->GetWeakPtr())); | 141 base::Bind(&MimeHandlerServiceImpl::Create, stream_->GetWeakPtr())); |
143 } | 142 } |
144 | 143 |
| 144 const char* MimeHandlerViewGuest::GetAPINamespace() const { |
| 145 return "mimeHandlerViewGuestInternal"; |
| 146 } |
| 147 |
| 148 int MimeHandlerViewGuest::GetTaskPrefix() const { |
| 149 return IDS_EXTENSION_TASK_MANAGER_MIMEHANDLERVIEW_TAG_PREFIX; |
| 150 } |
| 151 |
145 void MimeHandlerViewGuest::DidInitialize( | 152 void MimeHandlerViewGuest::DidInitialize( |
146 const base::DictionaryValue& create_params) { | 153 const base::DictionaryValue& create_params) { |
147 ExtensionsAPIClient::Get()->AttachWebContentsHelpers(web_contents()); | 154 ExtensionsAPIClient::Get()->AttachWebContentsHelpers(web_contents()); |
148 } | 155 } |
149 | 156 |
150 bool MimeHandlerViewGuest::ShouldHandleFindRequestsForEmbedder() const { | 157 bool MimeHandlerViewGuest::ShouldHandleFindRequestsForEmbedder() const { |
151 return is_full_page_plugin(); | 158 return is_full_page_plugin(); |
152 } | 159 } |
153 | 160 |
154 bool MimeHandlerViewGuest::ZoomPropagatesFromEmbedderToGuest() const { | 161 bool MimeHandlerViewGuest::ZoomPropagatesFromEmbedderToGuest() const { |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 referrer); | 206 referrer); |
200 return true; | 207 return true; |
201 } | 208 } |
202 | 209 |
203 void MimeHandlerViewGuest::DocumentOnLoadCompletedInMainFrame() { | 210 void MimeHandlerViewGuest::DocumentOnLoadCompletedInMainFrame() { |
204 embedder_web_contents()->Send( | 211 embedder_web_contents()->Send( |
205 new ExtensionsGuestViewMsg_MimeHandlerViewGuestOnLoadCompleted( | 212 new ExtensionsGuestViewMsg_MimeHandlerViewGuestOnLoadCompleted( |
206 element_instance_id())); | 213 element_instance_id())); |
207 } | 214 } |
208 | 215 |
209 base::WeakPtr<StreamContainer> MimeHandlerViewGuest::GetStream() const { | |
210 if (!stream_) | |
211 return base::WeakPtr<StreamContainer>(); | |
212 return stream_->GetWeakPtr(); | |
213 } | |
214 | |
215 } // namespace extensions | 216 } // namespace extensions |
OLD | NEW |