| 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/memory/ptr_util.h" |
| 9 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
| 10 #include "base/strings/stringprintf.h" | 11 #include "base/strings/stringprintf.h" |
| 11 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
| 12 #include "content/public/browser/browser_context.h" | 13 #include "content/public/browser/browser_context.h" |
| 13 #include "content/public/browser/render_frame_host.h" | 14 #include "content/public/browser/render_frame_host.h" |
| 14 #include "content/public/browser/render_process_host.h" | 15 #include "content/public/browser/render_process_host.h" |
| 15 #include "content/public/browser/render_view_host.h" | 16 #include "content/public/browser/render_view_host.h" |
| 16 #include "content/public/browser/web_contents.h" | 17 #include "content/public/browser/web_contents.h" |
| 17 #include "content/public/common/stop_find_action.h" | 18 #include "content/public/common/stop_find_action.h" |
| 18 #include "content/public/common/url_fetcher.h" | 19 #include "content/public/common/url_fetcher.h" |
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 293 } | 294 } |
| 294 | 295 |
| 295 void WebViewInternalCaptureVisibleRegionFunction::OnCaptureSuccess( | 296 void WebViewInternalCaptureVisibleRegionFunction::OnCaptureSuccess( |
| 296 const SkBitmap& bitmap) { | 297 const SkBitmap& bitmap) { |
| 297 std::string base64_result; | 298 std::string base64_result; |
| 298 if (!EncodeBitmap(bitmap, &base64_result)) { | 299 if (!EncodeBitmap(bitmap, &base64_result)) { |
| 299 OnCaptureFailure(FAILURE_REASON_ENCODING_FAILED); | 300 OnCaptureFailure(FAILURE_REASON_ENCODING_FAILED); |
| 300 return; | 301 return; |
| 301 } | 302 } |
| 302 | 303 |
| 303 SetResult(new base::StringValue(base64_result)); | 304 SetResult(base::MakeUnique<base::StringValue>(base64_result)); |
| 304 SendResponse(true); | 305 SendResponse(true); |
| 305 } | 306 } |
| 306 | 307 |
| 307 void WebViewInternalCaptureVisibleRegionFunction::OnCaptureFailure( | 308 void WebViewInternalCaptureVisibleRegionFunction::OnCaptureFailure( |
| 308 FailureReason reason) { | 309 FailureReason reason) { |
| 309 const char* reason_description = "internal error"; | 310 const char* reason_description = "internal error"; |
| 310 switch (reason) { | 311 switch (reason) { |
| 311 case FAILURE_REASON_UNKNOWN: | 312 case FAILURE_REASON_UNKNOWN: |
| 312 reason_description = "unknown error"; | 313 reason_description = "unknown error"; |
| 313 break; | 314 break; |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 447 } | 448 } |
| 448 | 449 |
| 449 WebViewInternalExecuteScriptFunction::WebViewInternalExecuteScriptFunction() { | 450 WebViewInternalExecuteScriptFunction::WebViewInternalExecuteScriptFunction() { |
| 450 } | 451 } |
| 451 | 452 |
| 452 void WebViewInternalExecuteScriptFunction::OnExecuteCodeFinished( | 453 void WebViewInternalExecuteScriptFunction::OnExecuteCodeFinished( |
| 453 const std::string& error, | 454 const std::string& error, |
| 454 const GURL& on_url, | 455 const GURL& on_url, |
| 455 const base::ListValue& result) { | 456 const base::ListValue& result) { |
| 456 if (error.empty()) | 457 if (error.empty()) |
| 457 SetResult(result.DeepCopy()); | 458 SetResult(result.CreateDeepCopy()); |
| 458 WebViewInternalExecuteCodeFunction::OnExecuteCodeFinished( | 459 WebViewInternalExecuteCodeFunction::OnExecuteCodeFinished( |
| 459 error, on_url, result); | 460 error, on_url, result); |
| 460 } | 461 } |
| 461 | 462 |
| 462 WebViewInternalInsertCSSFunction::WebViewInternalInsertCSSFunction() { | 463 WebViewInternalInsertCSSFunction::WebViewInternalInsertCSSFunction() { |
| 463 } | 464 } |
| 464 | 465 |
| 465 bool WebViewInternalInsertCSSFunction::ShouldInsertCSS() const { | 466 bool WebViewInternalInsertCSSFunction::ShouldInsertCSS() const { |
| 466 return true; | 467 return true; |
| 467 } | 468 } |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 610 | 611 |
| 611 WebViewInternalGetZoomFunction::~WebViewInternalGetZoomFunction() { | 612 WebViewInternalGetZoomFunction::~WebViewInternalGetZoomFunction() { |
| 612 } | 613 } |
| 613 | 614 |
| 614 bool WebViewInternalGetZoomFunction::RunAsyncSafe(WebViewGuest* guest) { | 615 bool WebViewInternalGetZoomFunction::RunAsyncSafe(WebViewGuest* guest) { |
| 615 std::unique_ptr<web_view_internal::GetZoom::Params> params( | 616 std::unique_ptr<web_view_internal::GetZoom::Params> params( |
| 616 web_view_internal::GetZoom::Params::Create(*args_)); | 617 web_view_internal::GetZoom::Params::Create(*args_)); |
| 617 EXTENSION_FUNCTION_VALIDATE(params.get()); | 618 EXTENSION_FUNCTION_VALIDATE(params.get()); |
| 618 | 619 |
| 619 double zoom_factor = guest->GetZoom(); | 620 double zoom_factor = guest->GetZoom(); |
| 620 SetResult(new base::FundamentalValue(zoom_factor)); | 621 SetResult(base::MakeUnique<base::FundamentalValue>(zoom_factor)); |
| 621 SendResponse(true); | 622 SendResponse(true); |
| 622 return true; | 623 return true; |
| 623 } | 624 } |
| 624 | 625 |
| 625 WebViewInternalSetZoomModeFunction::WebViewInternalSetZoomModeFunction() { | 626 WebViewInternalSetZoomModeFunction::WebViewInternalSetZoomModeFunction() { |
| 626 } | 627 } |
| 627 | 628 |
| 628 WebViewInternalSetZoomModeFunction::~WebViewInternalSetZoomModeFunction() { | 629 WebViewInternalSetZoomModeFunction::~WebViewInternalSetZoomModeFunction() { |
| 629 } | 630 } |
| 630 | 631 |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 673 case ZoomController::ZOOM_MODE_ISOLATED: | 674 case ZoomController::ZOOM_MODE_ISOLATED: |
| 674 zoom_mode = web_view_internal::ZOOM_MODE_PER_VIEW; | 675 zoom_mode = web_view_internal::ZOOM_MODE_PER_VIEW; |
| 675 break; | 676 break; |
| 676 case ZoomController::ZOOM_MODE_DISABLED: | 677 case ZoomController::ZOOM_MODE_DISABLED: |
| 677 zoom_mode = web_view_internal::ZOOM_MODE_DISABLED; | 678 zoom_mode = web_view_internal::ZOOM_MODE_DISABLED; |
| 678 break; | 679 break; |
| 679 default: | 680 default: |
| 680 NOTREACHED(); | 681 NOTREACHED(); |
| 681 } | 682 } |
| 682 | 683 |
| 683 SetResult(new base::StringValue(web_view_internal::ToString(zoom_mode))); | 684 SetResult(base::MakeUnique<base::StringValue>( |
| 685 web_view_internal::ToString(zoom_mode))); |
| 684 SendResponse(true); | 686 SendResponse(true); |
| 685 return true; | 687 return true; |
| 686 } | 688 } |
| 687 | 689 |
| 688 WebViewInternalFindFunction::WebViewInternalFindFunction() { | 690 WebViewInternalFindFunction::WebViewInternalFindFunction() { |
| 689 } | 691 } |
| 690 | 692 |
| 691 WebViewInternalFindFunction::~WebViewInternalFindFunction() { | 693 WebViewInternalFindFunction::~WebViewInternalFindFunction() { |
| 692 } | 694 } |
| 693 | 695 |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 775 | 777 |
| 776 WebViewInternalGoFunction::~WebViewInternalGoFunction() { | 778 WebViewInternalGoFunction::~WebViewInternalGoFunction() { |
| 777 } | 779 } |
| 778 | 780 |
| 779 bool WebViewInternalGoFunction::RunAsyncSafe(WebViewGuest* guest) { | 781 bool WebViewInternalGoFunction::RunAsyncSafe(WebViewGuest* guest) { |
| 780 std::unique_ptr<web_view_internal::Go::Params> params( | 782 std::unique_ptr<web_view_internal::Go::Params> params( |
| 781 web_view_internal::Go::Params::Create(*args_)); | 783 web_view_internal::Go::Params::Create(*args_)); |
| 782 EXTENSION_FUNCTION_VALIDATE(params.get()); | 784 EXTENSION_FUNCTION_VALIDATE(params.get()); |
| 783 | 785 |
| 784 bool successful = guest->Go(params->relative_index); | 786 bool successful = guest->Go(params->relative_index); |
| 785 SetResult(new base::FundamentalValue(successful)); | 787 SetResult(base::MakeUnique<base::FundamentalValue>(successful)); |
| 786 SendResponse(true); | 788 SendResponse(true); |
| 787 return true; | 789 return true; |
| 788 } | 790 } |
| 789 | 791 |
| 790 WebViewInternalReloadFunction::WebViewInternalReloadFunction() { | 792 WebViewInternalReloadFunction::WebViewInternalReloadFunction() { |
| 791 } | 793 } |
| 792 | 794 |
| 793 WebViewInternalReloadFunction::~WebViewInternalReloadFunction() { | 795 WebViewInternalReloadFunction::~WebViewInternalReloadFunction() { |
| 794 } | 796 } |
| 795 | 797 |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 831 WebViewPermissionHelper* web_view_permission_helper = | 833 WebViewPermissionHelper* web_view_permission_helper = |
| 832 WebViewPermissionHelper::FromWebContents(guest->web_contents()); | 834 WebViewPermissionHelper::FromWebContents(guest->web_contents()); |
| 833 | 835 |
| 834 WebViewPermissionHelper::SetPermissionResult result = | 836 WebViewPermissionHelper::SetPermissionResult result = |
| 835 web_view_permission_helper->SetPermission( | 837 web_view_permission_helper->SetPermission( |
| 836 params->request_id, action, user_input); | 838 params->request_id, action, user_input); |
| 837 | 839 |
| 838 EXTENSION_FUNCTION_VALIDATE(result != | 840 EXTENSION_FUNCTION_VALIDATE(result != |
| 839 WebViewPermissionHelper::SET_PERMISSION_INVALID); | 841 WebViewPermissionHelper::SET_PERMISSION_INVALID); |
| 840 | 842 |
| 841 SetResult(new base::FundamentalValue( | 843 SetResult(base::MakeUnique<base::FundamentalValue>( |
| 842 result == WebViewPermissionHelper::SET_PERMISSION_ALLOWED)); | 844 result == WebViewPermissionHelper::SET_PERMISSION_ALLOWED)); |
| 843 SendResponse(true); | 845 SendResponse(true); |
| 844 return true; | 846 return true; |
| 845 } | 847 } |
| 846 | 848 |
| 847 WebViewInternalOverrideUserAgentFunction:: | 849 WebViewInternalOverrideUserAgentFunction:: |
| 848 WebViewInternalOverrideUserAgentFunction() { | 850 WebViewInternalOverrideUserAgentFunction() { |
| 849 } | 851 } |
| 850 | 852 |
| 851 WebViewInternalOverrideUserAgentFunction:: | 853 WebViewInternalOverrideUserAgentFunction:: |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 960 // Will finish asynchronously. | 962 // Will finish asynchronously. |
| 961 return true; | 963 return true; |
| 962 } | 964 } |
| 963 | 965 |
| 964 void WebViewInternalClearDataFunction::ClearDataDone() { | 966 void WebViewInternalClearDataFunction::ClearDataDone() { |
| 965 Release(); // Balanced in RunAsync(). | 967 Release(); // Balanced in RunAsync(). |
| 966 SendResponse(true); | 968 SendResponse(true); |
| 967 } | 969 } |
| 968 | 970 |
| 969 } // namespace extensions | 971 } // namespace extensions |
| OLD | NEW |