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