| 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 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 | 129 |
| 130 const Extension* embedder_extension = ExtensionRegistry::Get(browser_context_) | 130 const Extension* embedder_extension = ExtensionRegistry::Get(browser_context_) |
| 131 ->enabled_extensions() | 131 ->enabled_extensions() |
| 132 .GetByID(embedder_extension_id); | 132 .GetByID(embedder_extension_id); |
| 133 // Ok for |embedder_extension| to be NULL, the embedder might be WebUI. | 133 // Ok for |embedder_extension| to be NULL, the embedder might be WebUI. |
| 134 | 134 |
| 135 CHECK(embedder_web_contents); | 135 CHECK(embedder_web_contents); |
| 136 int embedder_process_id = | 136 int embedder_process_id = |
| 137 embedder_web_contents->GetRenderProcessHost()->GetID(); | 137 embedder_web_contents->GetRenderProcessHost()->GetID(); |
| 138 | 138 |
| 139 const GURL& embedder_site_url = embedder_web_contents->GetLastCommittedURL(); |
| 139 Feature::Availability availability = feature->IsAvailableToContext( | 140 Feature::Availability availability = feature->IsAvailableToContext( |
| 140 embedder_extension, | 141 embedder_extension, |
| 141 process_map->GetMostLikelyContextType(embedder_extension, | 142 process_map->GetMostLikelyContextType(embedder_extension, |
| 142 embedder_process_id), | 143 embedder_process_id), |
| 143 embedder_web_contents->GetLastCommittedURL()); | 144 embedder_site_url); |
| 144 if (!availability.is_available()) { | 145 if (!availability.is_available()) { |
| 145 // The derived class did not create a WebContents so this class serves no | 146 // The derived class did not create a WebContents so this class serves no |
| 146 // purpose. Let's self-destruct. | 147 // purpose. Let's self-destruct. |
| 147 delete this; | 148 delete this; |
| 148 callback.Run(NULL); | 149 callback.Run(NULL); |
| 149 return; | 150 return; |
| 150 } | 151 } |
| 151 | 152 |
| 152 CreateWebContents(embedder_extension_id, | 153 CreateWebContents(embedder_extension_id, |
| 153 embedder_process_id, | 154 embedder_process_id, |
| 155 embedder_site_url, |
| 154 create_params, | 156 create_params, |
| 155 base::Bind(&GuestViewBase::CompleteInit, | 157 base::Bind(&GuestViewBase::CompleteInit, |
| 156 AsWeakPtr(), | 158 AsWeakPtr(), |
| 157 embedder_extension_id, | 159 embedder_extension_id, |
| 158 embedder_process_id, | 160 embedder_process_id, |
| 159 callback)); | 161 callback)); |
| 160 } | 162 } |
| 161 | 163 |
| 162 void GuestViewBase::InitWithWebContents( | 164 void GuestViewBase::InitWithWebContents( |
| 163 const std::string& embedder_extension_id, | 165 const std::string& embedder_extension_id, |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 489 | 491 |
| 490 // static | 492 // static |
| 491 void GuestViewBase::RegisterGuestViewTypes() { | 493 void GuestViewBase::RegisterGuestViewTypes() { |
| 492 AppViewGuest::Register(); | 494 AppViewGuest::Register(); |
| 493 ExtensionOptionsGuest::Register(); | 495 ExtensionOptionsGuest::Register(); |
| 494 MimeHandlerViewGuest::Register(); | 496 MimeHandlerViewGuest::Register(); |
| 495 WebViewGuest::Register(); | 497 WebViewGuest::Register(); |
| 496 } | 498 } |
| 497 | 499 |
| 498 } // namespace extensions | 500 } // namespace extensions |
| OLD | NEW |