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 "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "content/public/browser/browser_context.h" | 10 #include "content/public/browser/browser_context.h" |
(...skipping 27 matching lines...) Expand all Loading... | |
38 namespace { | 38 namespace { |
39 | 39 |
40 const char kAppCacheKey[] = "appcache"; | 40 const char kAppCacheKey[] = "appcache"; |
41 const char kCacheKey[] = "cache"; | 41 const char kCacheKey[] = "cache"; |
42 const char kCookiesKey[] = "cookies"; | 42 const char kCookiesKey[] = "cookies"; |
43 const char kFileSystemsKey[] = "fileSystems"; | 43 const char kFileSystemsKey[] = "fileSystems"; |
44 const char kIndexedDBKey[] = "indexedDB"; | 44 const char kIndexedDBKey[] = "indexedDB"; |
45 const char kLocalStorageKey[] = "localStorage"; | 45 const char kLocalStorageKey[] = "localStorage"; |
46 const char kWebSQLKey[] = "webSQL"; | 46 const char kWebSQLKey[] = "webSQL"; |
47 const char kSinceKey[] = "since"; | 47 const char kSinceKey[] = "since"; |
48 | |
49 const char kDuplicatedContentScriptNamesError[] = | |
50 "The given content script name already exists."; | |
51 const char kEmptyFindTextError[] = "Find called with no text"; | |
48 const char kLoadFileError[] = "Failed to load file: \"*\". "; | 52 const char kLoadFileError[] = "Failed to load file: \"*\". "; |
49 const char kViewInstanceIdError[] = "view_instance_id is missing."; | 53 const char kViewInstanceIdError[] = "view_instance_id is missing."; |
50 const char kDuplicatedContentScriptNamesError[] = | |
51 "The given content script name already exists."; | |
52 | 54 |
53 uint32 MaskForKey(const char* key) { | 55 uint32 MaskForKey(const char* key) { |
54 if (strcmp(key, kAppCacheKey) == 0) | 56 if (strcmp(key, kAppCacheKey) == 0) |
55 return webview::WEB_VIEW_REMOVE_DATA_MASK_APPCACHE; | 57 return webview::WEB_VIEW_REMOVE_DATA_MASK_APPCACHE; |
56 if (strcmp(key, kCacheKey) == 0) | 58 if (strcmp(key, kCacheKey) == 0) |
57 return webview::WEB_VIEW_REMOVE_DATA_MASK_CACHE; | 59 return webview::WEB_VIEW_REMOVE_DATA_MASK_CACHE; |
58 if (strcmp(key, kCookiesKey) == 0) | 60 if (strcmp(key, kCookiesKey) == 0) |
59 return webview::WEB_VIEW_REMOVE_DATA_MASK_COOKIES; | 61 return webview::WEB_VIEW_REMOVE_DATA_MASK_COOKIES; |
60 if (strcmp(key, kFileSystemsKey) == 0) | 62 if (strcmp(key, kFileSystemsKey) == 0) |
61 return webview::WEB_VIEW_REMOVE_DATA_MASK_FILE_SYSTEMS; | 63 return webview::WEB_VIEW_REMOVE_DATA_MASK_FILE_SYSTEMS; |
(...skipping 563 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
625 | 627 |
626 bool WebViewInternalFindFunction::RunAsyncSafe(WebViewGuest* guest) { | 628 bool WebViewInternalFindFunction::RunAsyncSafe(WebViewGuest* guest) { |
627 scoped_ptr<web_view_internal::Find::Params> params( | 629 scoped_ptr<web_view_internal::Find::Params> params( |
628 web_view_internal::Find::Params::Create(*args_)); | 630 web_view_internal::Find::Params::Create(*args_)); |
629 EXTENSION_FUNCTION_VALIDATE(params.get()); | 631 EXTENSION_FUNCTION_VALIDATE(params.get()); |
630 | 632 |
631 // Convert the std::string search_text to string16. | 633 // Convert the std::string search_text to string16. |
632 base::string16 search_text; | 634 base::string16 search_text; |
633 base::UTF8ToUTF16( | 635 base::UTF8ToUTF16( |
634 params->search_text.c_str(), params->search_text.length(), &search_text); | 636 params->search_text.c_str(), params->search_text.length(), &search_text); |
637 if (search_text.empty()) { | |
Fady Samuel
2015/09/26 00:14:34
I don't think this is the correct solution. I thin
Lei Zhang
2015/09/26 00:22:01
You are referring to https://developer.chrome.com/
Charlie Reis
2015/09/28 19:35:17
It does seem like a nonsensical case to me. I'd b
| |
638 error_ = kEmptyFindTextError; | |
639 SendResponse(false); | |
640 return true; | |
641 } | |
635 | 642 |
636 // Set the find options to their default values. | 643 // Set the find options to their default values. |
637 blink::WebFindOptions options; | 644 blink::WebFindOptions options; |
638 if (params->options) { | 645 if (params->options) { |
639 options.forward = | 646 options.forward = |
640 params->options->backward ? !*params->options->backward : true; | 647 params->options->backward ? !*params->options->backward : true; |
641 options.matchCase = | 648 options.matchCase = |
642 params->options->match_case ? *params->options->match_case : false; | 649 params->options->match_case ? *params->options->match_case : false; |
643 } | 650 } |
644 | 651 |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
892 // Will finish asynchronously. | 899 // Will finish asynchronously. |
893 return true; | 900 return true; |
894 } | 901 } |
895 | 902 |
896 void WebViewInternalClearDataFunction::ClearDataDone() { | 903 void WebViewInternalClearDataFunction::ClearDataDone() { |
897 Release(); // Balanced in RunAsync(). | 904 Release(); // Balanced in RunAsync(). |
898 SendResponse(true); | 905 SendResponse(true); |
899 } | 906 } |
900 | 907 |
901 } // namespace extensions | 908 } // namespace extensions |
OLD | NEW |