| 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 "chrome/browser/guest_view/guest_view_manager.h" | 5 #include "chrome/browser/guest_view/guest_view_manager.h" |
| 6 | 6 |
| 7 #include "base/strings/stringprintf.h" | 7 #include "base/strings/stringprintf.h" |
| 8 #include "chrome/browser/guest_view/guest_view_base.h" | 8 #include "chrome/browser/guest_view/guest_view_base.h" |
| 9 #include "chrome/browser/guest_view/guest_view_constants.h" | 9 #include "chrome/browser/guest_view/guest_view_constants.h" |
| 10 #include "chrome/browser/guest_view/guest_view_manager_factory.h" | 10 #include "chrome/browser/guest_view/guest_view_manager_factory.h" |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 guest_instance_id)) { | 55 guest_instance_id)) { |
| 56 return NULL; | 56 return NULL; |
| 57 } | 57 } |
| 58 return GetGuestByInstanceID(guest_instance_id); | 58 return GetGuestByInstanceID(guest_instance_id); |
| 59 } | 59 } |
| 60 | 60 |
| 61 int GuestViewManager::GetNextInstanceID() { | 61 int GuestViewManager::GetNextInstanceID() { |
| 62 return ++current_instance_id_; | 62 return ++current_instance_id_; |
| 63 } | 63 } |
| 64 | 64 |
| 65 void GuestViewManager::CreateGuest( | 65 void GuestViewManager::CreateGuest(const std::string& view_type, |
| 66 const std::string& view_type, | 66 const std::string& embedder_extension_id, |
| 67 const std::string& embedder_extension_id, | 67 content::WebContents* embedder_web_contents, |
| 68 int embedder_render_process_id, | 68 const base::DictionaryValue& create_params, |
| 69 const base::DictionaryValue& create_params, | 69 const WebContentsCreatedCallback& callback) { |
| 70 const WebContentsCreatedCallback& callback) { | |
| 71 int guest_instance_id = GetNextInstanceID(); | 70 int guest_instance_id = GetNextInstanceID(); |
| 72 GuestViewBase* guest = | 71 GuestViewBase* guest = |
| 73 GuestViewBase::Create(context_, guest_instance_id, view_type); | 72 GuestViewBase::Create(context_, guest_instance_id, view_type); |
| 74 if (!guest) { | 73 if (!guest) { |
| 75 callback.Run(NULL); | 74 callback.Run(NULL); |
| 76 return; | 75 return; |
| 77 } | 76 } |
| 78 guest->Init(embedder_extension_id, | 77 guest->Init( |
| 79 embedder_render_process_id, | 78 embedder_extension_id, embedder_web_contents, create_params, callback); |
| 80 create_params, | |
| 81 callback); | |
| 82 } | 79 } |
| 83 | 80 |
| 84 content::WebContents* GuestViewManager::CreateGuestWithWebContentsParams( | 81 content::WebContents* GuestViewManager::CreateGuestWithWebContentsParams( |
| 85 const std::string& view_type, | 82 const std::string& view_type, |
| 86 const std::string& embedder_extension_id, | 83 const std::string& embedder_extension_id, |
| 87 int embedder_render_process_id, | 84 int embedder_render_process_id, |
| 88 const content::WebContents::CreateParams& create_params) { | 85 const content::WebContents::CreateParams& create_params) { |
| 89 int guest_instance_id = GetNextInstanceID(); | 86 int guest_instance_id = GetNextInstanceID(); |
| 90 GuestViewBase* guest = | 87 GuestViewBase* guest = |
| 91 GuestViewBase::Create(context_, guest_instance_id, view_type); | 88 GuestViewBase::Create(context_, guest_instance_id, view_type); |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 232 guest_web_contents_by_instance_id_.find(guest_instance_id); | 229 guest_web_contents_by_instance_id_.find(guest_instance_id); |
| 233 if (it == guest_web_contents_by_instance_id_.end()) | 230 if (it == guest_web_contents_by_instance_id_.end()) |
| 234 return true; | 231 return true; |
| 235 | 232 |
| 236 GuestViewBase* guest_view = GuestViewBase::FromWebContents(it->second); | 233 GuestViewBase* guest_view = GuestViewBase::FromWebContents(it->second); |
| 237 if (!guest_view) | 234 if (!guest_view) |
| 238 return false; | 235 return false; |
| 239 | 236 |
| 240 return embedder_render_process_id == guest_view->embedder_render_process_id(); | 237 return embedder_render_process_id == guest_view->embedder_render_process_id(); |
| 241 } | 238 } |
| OLD | NEW |