| 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/api/guest_view/web_view/web_view_internal_api.h" | 5 #include "extensions/browser/api/guest_view/web_view/web_view_internal_api.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/guid.h" | 9 #include "base/guid.h" |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 508 | 508 |
| 509 if (!params->instance_id) | 509 if (!params->instance_id) |
| 510 return RespondNow(Error(kViewInstanceIdError)); | 510 return RespondNow(Error(kViewInstanceIdError)); |
| 511 | 511 |
| 512 GURL owner_base_url( | 512 GURL owner_base_url( |
| 513 render_frame_host()->GetSiteInstance()->GetSiteURL().GetWithEmptyPath()); | 513 render_frame_host()->GetSiteInstance()->GetSiteURL().GetWithEmptyPath()); |
| 514 content::WebContents* sender_web_contents = GetSenderWebContents(); | 514 content::WebContents* sender_web_contents = GetSenderWebContents(); |
| 515 HostID host_id = GenerateHostIDFromEmbedder(extension(), sender_web_contents); | 515 HostID host_id = GenerateHostIDFromEmbedder(extension(), sender_web_contents); |
| 516 bool incognito_enabled = browser_context()->IsOffTheRecord(); | 516 bool incognito_enabled = browser_context()->IsOffTheRecord(); |
| 517 | 517 |
| 518 std::string error; |
| 518 std::unique_ptr<UserScriptList> result = | 519 std::unique_ptr<UserScriptList> result = |
| 519 ParseContentScripts(params->content_script_list, extension(), host_id, | 520 ParseContentScripts(params->content_script_list, extension(), host_id, |
| 520 incognito_enabled, owner_base_url, &error_); | 521 incognito_enabled, owner_base_url, &error); |
| 521 if (!result) | 522 if (!result) |
| 522 return RespondNow(Error(error_)); | 523 return RespondNow(Error(error)); |
| 523 | 524 |
| 524 WebViewContentScriptManager* manager = | 525 WebViewContentScriptManager* manager = |
| 525 WebViewContentScriptManager::Get(browser_context()); | 526 WebViewContentScriptManager::Get(browser_context()); |
| 526 DCHECK(manager); | 527 DCHECK(manager); |
| 527 | 528 |
| 528 manager->AddContentScripts( | 529 manager->AddContentScripts( |
| 529 sender_web_contents->GetRenderProcessHost()->GetID(), render_frame_host(), | 530 sender_web_contents->GetRenderProcessHost()->GetID(), render_frame_host(), |
| 530 params->instance_id, host_id, std::move(result)); | 531 params->instance_id, host_id, std::move(result)); |
| 531 | 532 |
| 532 return RespondNow(NoArguments()); | 533 return RespondNow(NoArguments()); |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 775 WebViewInternalLoadDataWithBaseUrlFunction::Run() { | 776 WebViewInternalLoadDataWithBaseUrlFunction::Run() { |
| 776 std::unique_ptr<web_view_internal::LoadDataWithBaseUrl::Params> params( | 777 std::unique_ptr<web_view_internal::LoadDataWithBaseUrl::Params> params( |
| 777 web_view_internal::LoadDataWithBaseUrl::Params::Create(*args_)); | 778 web_view_internal::LoadDataWithBaseUrl::Params::Create(*args_)); |
| 778 EXTENSION_FUNCTION_VALIDATE(params.get()); | 779 EXTENSION_FUNCTION_VALIDATE(params.get()); |
| 779 | 780 |
| 780 // If a virtual URL was provided, use it. Otherwise, the user will be shown | 781 // If a virtual URL was provided, use it. Otherwise, the user will be shown |
| 781 // the data URL. | 782 // the data URL. |
| 782 std::string virtual_url = | 783 std::string virtual_url = |
| 783 params->virtual_url ? *params->virtual_url : params->data_url; | 784 params->virtual_url ? *params->virtual_url : params->data_url; |
| 784 | 785 |
| 786 std::string error; |
| 785 bool successful = guest_->LoadDataWithBaseURL( | 787 bool successful = guest_->LoadDataWithBaseURL( |
| 786 params->data_url, params->base_url, virtual_url, &error_); | 788 params->data_url, params->base_url, virtual_url, &error); |
| 787 if (successful) | 789 if (successful) |
| 788 return RespondNow(NoArguments()); | 790 return RespondNow(NoArguments()); |
| 789 return RespondNow(Error(error_)); | 791 return RespondNow(Error(error)); |
| 790 } | 792 } |
| 791 | 793 |
| 792 WebViewInternalGoFunction::WebViewInternalGoFunction() { | 794 WebViewInternalGoFunction::WebViewInternalGoFunction() { |
| 793 } | 795 } |
| 794 | 796 |
| 795 WebViewInternalGoFunction::~WebViewInternalGoFunction() { | 797 WebViewInternalGoFunction::~WebViewInternalGoFunction() { |
| 796 } | 798 } |
| 797 | 799 |
| 798 ExtensionFunction::ResponseAction WebViewInternalGoFunction::Run() { | 800 ExtensionFunction::ResponseAction WebViewInternalGoFunction::Run() { |
| 799 std::unique_ptr<web_view_internal::Go::Params> params( | 801 std::unique_ptr<web_view_internal::Go::Params> params( |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 976 // Will finish asynchronously. | 978 // Will finish asynchronously. |
| 977 return true; | 979 return true; |
| 978 } | 980 } |
| 979 | 981 |
| 980 void WebViewInternalClearDataFunction::ClearDataDone() { | 982 void WebViewInternalClearDataFunction::ClearDataDone() { |
| 981 Release(); // Balanced in RunAsync(). | 983 Release(); // Balanced in RunAsync(). |
| 982 SendResponse(true); | 984 SendResponse(true); |
| 983 } | 985 } |
| 984 | 986 |
| 985 } // namespace extensions | 987 } // namespace extensions |
| OLD | NEW |