| 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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 MimeHandlerViewGuest::MimeHandlerViewGuest( | 75 MimeHandlerViewGuest::MimeHandlerViewGuest( |
| 76 content::WebContents* owner_web_contents) | 76 content::WebContents* owner_web_contents) |
| 77 : GuestView<MimeHandlerViewGuest>(owner_web_contents), | 77 : GuestView<MimeHandlerViewGuest>(owner_web_contents), |
| 78 delegate_(ExtensionsAPIClient::Get()->CreateMimeHandlerViewGuestDelegate( | 78 delegate_(ExtensionsAPIClient::Get()->CreateMimeHandlerViewGuestDelegate( |
| 79 this)) { | 79 this)) { |
| 80 } | 80 } |
| 81 | 81 |
| 82 MimeHandlerViewGuest::~MimeHandlerViewGuest() { | 82 MimeHandlerViewGuest::~MimeHandlerViewGuest() { |
| 83 } | 83 } |
| 84 | 84 |
| 85 WindowController* MimeHandlerViewGuest::GetExtensionWindowController() const { | |
| 86 return nullptr; | |
| 87 } | |
| 88 | |
| 89 WebContents* MimeHandlerViewGuest::GetAssociatedWebContents() const { | |
| 90 return web_contents(); | |
| 91 } | |
| 92 | |
| 93 const char* MimeHandlerViewGuest::GetAPINamespace() const { | 85 const char* MimeHandlerViewGuest::GetAPINamespace() const { |
| 94 return "mimeHandlerViewGuestInternal"; | 86 return "mimeHandlerViewGuestInternal"; |
| 95 } | 87 } |
| 96 | 88 |
| 97 int MimeHandlerViewGuest::GetTaskPrefix() const { | 89 int MimeHandlerViewGuest::GetTaskPrefix() const { |
| 98 return IDS_EXTENSION_TASK_MANAGER_MIMEHANDLERVIEW_TAG_PREFIX; | 90 return IDS_EXTENSION_TASK_MANAGER_MIMEHANDLERVIEW_TAG_PREFIX; |
| 99 } | 91 } |
| 100 | 92 |
| 101 void MimeHandlerViewGuest::CreateWebContents( | 93 void MimeHandlerViewGuest::CreateWebContents( |
| 102 const base::DictionaryValue& create_params, | 94 const base::DictionaryValue& create_params, |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 void MimeHandlerViewGuest::DidAttachToEmbedder() { | 140 void MimeHandlerViewGuest::DidAttachToEmbedder() { |
| 149 web_contents()->GetController().LoadURL( | 141 web_contents()->GetController().LoadURL( |
| 150 stream_->handler_url(), content::Referrer(), | 142 stream_->handler_url(), content::Referrer(), |
| 151 ui::PAGE_TRANSITION_AUTO_TOPLEVEL, std::string()); | 143 ui::PAGE_TRANSITION_AUTO_TOPLEVEL, std::string()); |
| 152 web_contents()->GetMainFrame()->GetServiceRegistry()->AddService( | 144 web_contents()->GetMainFrame()->GetServiceRegistry()->AddService( |
| 153 base::Bind(&MimeHandlerServiceImpl::Create, stream_->GetWeakPtr())); | 145 base::Bind(&MimeHandlerServiceImpl::Create, stream_->GetWeakPtr())); |
| 154 } | 146 } |
| 155 | 147 |
| 156 void MimeHandlerViewGuest::DidInitialize( | 148 void MimeHandlerViewGuest::DidInitialize( |
| 157 const base::DictionaryValue& create_params) { | 149 const base::DictionaryValue& create_params) { |
| 158 extension_function_dispatcher_.reset( | 150 ExtensionsAPIClient::Get()->AttachWebContentsHelpers(web_contents()); |
| 159 new ExtensionFunctionDispatcher(browser_context(), this)); | |
| 160 if (delegate_) | |
| 161 delegate_->AttachHelpers(); | |
| 162 } | 151 } |
| 163 | 152 |
| 164 bool MimeHandlerViewGuest::ZoomPropagatesFromEmbedderToGuest() const { | 153 bool MimeHandlerViewGuest::ZoomPropagatesFromEmbedderToGuest() const { |
| 165 return false; | 154 return false; |
| 166 } | 155 } |
| 167 | 156 |
| 168 bool MimeHandlerViewGuest::Find(int request_id, | 157 bool MimeHandlerViewGuest::Find(int request_id, |
| 169 const base::string16& search_text, | 158 const base::string16& search_text, |
| 170 const blink::WebFindOptions& options) { | 159 const blink::WebFindOptions& options) { |
| 171 if (is_full_page_plugin()) { | 160 if (is_full_page_plugin()) { |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 referrer); | 233 referrer); |
| 245 return true; | 234 return true; |
| 246 } | 235 } |
| 247 | 236 |
| 248 void MimeHandlerViewGuest::DocumentOnLoadCompletedInMainFrame() { | 237 void MimeHandlerViewGuest::DocumentOnLoadCompletedInMainFrame() { |
| 249 embedder_web_contents()->Send( | 238 embedder_web_contents()->Send( |
| 250 new ExtensionsGuestViewMsg_MimeHandlerViewGuestOnLoadCompleted( | 239 new ExtensionsGuestViewMsg_MimeHandlerViewGuestOnLoadCompleted( |
| 251 element_instance_id())); | 240 element_instance_id())); |
| 252 } | 241 } |
| 253 | 242 |
| 254 bool MimeHandlerViewGuest::OnMessageReceived(const IPC::Message& message) { | |
| 255 bool handled = true; | |
| 256 IPC_BEGIN_MESSAGE_MAP(MimeHandlerViewGuest, message) | |
| 257 IPC_MESSAGE_HANDLER(ExtensionHostMsg_Request, OnRequest) | |
| 258 IPC_MESSAGE_UNHANDLED(handled = false) | |
| 259 IPC_END_MESSAGE_MAP() | |
| 260 return handled; | |
| 261 } | |
| 262 | |
| 263 base::WeakPtr<StreamContainer> MimeHandlerViewGuest::GetStream() const { | 243 base::WeakPtr<StreamContainer> MimeHandlerViewGuest::GetStream() const { |
| 264 if (!stream_) | 244 if (!stream_) |
| 265 return base::WeakPtr<StreamContainer>(); | 245 return base::WeakPtr<StreamContainer>(); |
| 266 return stream_->GetWeakPtr(); | 246 return stream_->GetWeakPtr(); |
| 267 } | 247 } |
| 268 | 248 |
| 269 void MimeHandlerViewGuest::OnRequest( | |
| 270 const ExtensionHostMsg_Request_Params& params) { | |
| 271 if (extension_function_dispatcher_) { | |
| 272 extension_function_dispatcher_->Dispatch( | |
| 273 params, web_contents()->GetRenderViewHost()); | |
| 274 } | |
| 275 } | |
| 276 | |
| 277 } // namespace extensions | 249 } // namespace extensions |
| OLD | NEW |