| 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/guest_view_base.h" | 5 #include "extensions/browser/guest_view/guest_view_base.h" |
| 6 | 6 |
| 7 #include "base/lazy_instance.h" | 7 #include "base/lazy_instance.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "content/public/browser/render_frame_host.h" | 9 #include "content/public/browser/render_frame_host.h" |
| 10 #include "content/public/browser/render_process_host.h" | 10 #include "content/public/browser/render_process_host.h" |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 | 127 |
| 128 const Extension* embedder_extension = ExtensionRegistry::Get(browser_context_) | 128 const Extension* embedder_extension = ExtensionRegistry::Get(browser_context_) |
| 129 ->enabled_extensions() | 129 ->enabled_extensions() |
| 130 .GetByID(embedder_extension_id); | 130 .GetByID(embedder_extension_id); |
| 131 // Ok for |embedder_extension| to be NULL, the embedder might be WebUI. | 131 // Ok for |embedder_extension| to be NULL, the embedder might be WebUI. |
| 132 | 132 |
| 133 CHECK(embedder_web_contents); | 133 CHECK(embedder_web_contents); |
| 134 int embedder_process_id = | 134 int embedder_process_id = |
| 135 embedder_web_contents->GetRenderProcessHost()->GetID(); | 135 embedder_web_contents->GetRenderProcessHost()->GetID(); |
| 136 | 136 |
| 137 const GURL& embedder_site_url = embedder_web_contents->GetLastCommittedURL(); |
| 137 Feature::Availability availability = feature->IsAvailableToContext( | 138 Feature::Availability availability = feature->IsAvailableToContext( |
| 138 embedder_extension, | 139 embedder_extension, |
| 139 process_map->GetMostLikelyContextType(embedder_extension, | 140 process_map->GetMostLikelyContextType(embedder_extension, |
| 140 embedder_process_id), | 141 embedder_process_id), |
| 141 embedder_web_contents->GetLastCommittedURL()); | 142 embedder_site_url); |
| 142 if (!availability.is_available()) { | 143 if (!availability.is_available()) { |
| 143 callback.Run(NULL); | 144 callback.Run(NULL); |
| 144 return; | 145 return; |
| 145 } | 146 } |
| 146 | 147 |
| 147 CreateWebContents(embedder_extension_id, | 148 CreateWebContents(embedder_extension_id, |
| 148 embedder_process_id, | 149 embedder_process_id, |
| 150 embedder_site_url, |
| 149 create_params, | 151 create_params, |
| 150 base::Bind(&GuestViewBase::CompleteInit, | 152 base::Bind(&GuestViewBase::CompleteInit, |
| 151 AsWeakPtr(), | 153 AsWeakPtr(), |
| 152 embedder_extension_id, | 154 embedder_extension_id, |
| 153 embedder_process_id, | 155 embedder_process_id, |
| 154 callback)); | 156 callback)); |
| 155 } | 157 } |
| 156 | 158 |
| 157 void GuestViewBase::InitWithWebContents( | 159 void GuestViewBase::InitWithWebContents( |
| 158 const std::string& embedder_extension_id, | 160 const std::string& embedder_extension_id, |
| (...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 476 | 478 |
| 477 // static | 479 // static |
| 478 void GuestViewBase::RegisterGuestViewTypes() { | 480 void GuestViewBase::RegisterGuestViewTypes() { |
| 479 AppViewGuest::Register(); | 481 AppViewGuest::Register(); |
| 480 ExtensionOptionsGuest::Register(); | 482 ExtensionOptionsGuest::Register(); |
| 481 MimeHandlerViewGuest::Register(); | 483 MimeHandlerViewGuest::Register(); |
| 482 WebViewGuest::Register(); | 484 WebViewGuest::Register(); |
| 483 } | 485 } |
| 484 | 486 |
| 485 } // namespace extensions | 487 } // namespace extensions |
| OLD | NEW |