Skip to content
Permalink
Browse files

Remove support for the keygen tag

This removes support for <keygen> by updating it
to be an HTMLUnknownElement. As a result, it's
no longer a form-associated element and no
longer has IDL-assigned properties.

The <keygen> tag is still left in the parser,
similar to <applet>, so that it maintains the
document parse behaviours (such as self-closing),
but is otherwise a neutered element.

Tests that were relying on <keygen> having its
own browser-created shadow root (for its custom
select element) have been updated to use
progress bars, while other tests (such as
<keygen>-related crash tests) have been
fully removed.

As Blink no longer treats this tag as special,
all the related IPC infrastructure is removed,
including preferences and enterprise flags,
and all localized strings, as they're all now
unreachable.

This concludes the "Intent to Remove" thread
for <keygen> at
https://groups.google.com/a/chromium.org/d/msg/blink-dev/z_qEpmzzKh8/BH-lkwdgBAAJ

BUG=568184
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2536993002
Cr-Commit-Position: refs/heads/master@{#440245}
  • Loading branch information
sleevi authored and Commit bot committed Dec 21, 2016
1 parent 62c93a5 commit 5d916f6c6b47472770e03cb483f06a18ca79a0c2
Showing with 313 additions and 3,553 deletions.
  1. +2 −0 android_webview/browser/aw_resource_context.h
  2. +0 −2 chrome/android/java/res/xml/single_website_preferences.xml
  3. +0 −6 ...me/android/java/src/org/chromium/chrome/browser/preferences/website/ContentSettingsResources.java
  4. +0 −24 chrome/android/java/src/org/chromium/chrome/browser/preferences/website/KeygenInfo.java
  5. +0 −20 ...me/android/java/src/org/chromium/chrome/browser/preferences/website/SingleWebsitePreferences.java
  6. +0 −28 chrome/android/java/src/org/chromium/chrome/browser/preferences/website/Website.java
  7. +0 −14 ...e/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePermissionsFetcher.java
  8. +0 −31 chrome/android/java/src/org/chromium/chrome/browser/preferences/website/WebsitePreferenceBridge.java
  9. +0 −3 chrome/android/java/strings/android_chrome_strings.grd
  10. +0 −1 chrome/android/java_sources.gni
  11. +0 −65 ...id/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java
  12. +0 −18 chrome/app/generated_resources.grd
  13. +0 −12 chrome/app/settings_strings.grdp
  14. BIN chrome/app/theme/default_100_percent/common/allowed_keygen.png
  15. BIN chrome/app/theme/default_100_percent/common/blocked_keygen.png
  16. BIN chrome/app/theme/default_200_percent/common/allowed_keygen.png
  17. BIN chrome/app/theme/default_200_percent/common/blocked_keygen.png
  18. +0 −2 chrome/app/theme/theme_resources.grd
  19. +0 −36 chrome/browser/android/preferences/website_preference_bridge.cc
  20. +0 −11 chrome/browser/chrome_content_browser_client.cc
  21. +0 −1 chrome/browser/chrome_content_browser_client.h
  22. +0 −96 chrome/browser/content_settings/host_content_settings_map_unittest.cc
  23. +1 −13 chrome/browser/content_settings/tab_specific_content_settings.cc
  24. +0 −1 chrome/browser/content_settings/tab_specific_content_settings.h
  25. +0 −8 chrome/browser/content_settings/tab_specific_content_settings_unittest.cc
  26. +0 −9 chrome/browser/policy/configuration_policy_handler_list_factory.cc
  27. +0 −38 chrome/browser/profiles/profile_io_data.cc
  28. +0 −6 chrome/browser/profiles/profile_io_data.h
  29. +0 −30 chrome/browser/resources/options/content_settings.html
  30. +0 −8 chrome/browser/resources/options/content_settings_exceptions_area.html
  31. +0 −11 chrome/browser/resources/settings/privacy_page/privacy_page.html
  32. +0 −1 chrome/browser/resources/settings/route.js
  33. +0 −1 chrome/browser/resources/settings/site_settings/category_default_setting.js
  34. +0 −1 chrome/browser/resources/settings/site_settings/constants.js
  35. +0 −4 chrome/browser/resources/settings/site_settings/site_details.html
  36. +0 −8 chrome/browser/resources/settings/site_settings/site_settings_behavior.js
  37. +0 −10 chrome/browser/resources/settings/site_settings_page/site_settings_page.html
  38. +0 −1 chrome/browser/ui/android/page_info/website_settings_popup_android.cc
  39. +0 −1 chrome/browser/ui/crypto_module_password_dialog.h
  40. +0 −4 chrome/browser/ui/views/crypto_module_password_dialog_view.cc
  41. +1 −1 chrome/browser/ui/views/crypto_module_password_dialog_view_unittest.cc
  42. +0 −8 chrome/browser/ui/website_settings/website_settings.cc
  43. +0 −2 chrome/browser/ui/website_settings/website_settings_ui.cc
  44. +0 −10 chrome/browser/ui/webui/options/content_settings_handler.cc
  45. +0 −5 chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc
  46. +0 −1 chrome/browser/ui/webui/settings/site_settings_handler.cc
  47. +0 −1 chrome/browser/ui/webui/site_settings_helper.cc
  48. +0 −1 chrome/browser/web_dev_style/css_checker.py
  49. +0 −5 chrome/common/render_messages.h
  50. +0 −6 chrome/renderer/content_settings_observer.cc
  51. +0 −1 chrome/renderer/content_settings_observer.h
  52. +0 −8 chrome/test/data/chromeos/enterprise/policies
  53. +3 −41 chrome/test/data/policy/policy_test_cases.json
  54. +0 −8 chrome/test/data/webui/settings/site_details_tests.js
  55. +0 −3 chrome/test/data/webui/settings/site_list_tests.js
  56. +0 −6 chrome/test/data/webui/settings/test_site_settings_prefs_browser_proxy.js
  57. +1 −7 chromecast/BUILD.gn
  58. +0 −5 components/content_settings/core/browser/content_settings_default_provider.cc
  59. +2 −16 components/content_settings/core/browser/content_settings_policy_provider.cc
  60. +0 −8 components/content_settings/core/browser/content_settings_registry.cc
  61. +0 −40 components/content_settings/core/browser/host_content_settings_map.cc
  62. +0 −11 components/content_settings/core/browser/host_content_settings_map.h
  63. +1 −1 components/content_settings/core/common/content_settings.cc
  64. +0 −1 components/content_settings/core/common/content_settings_types.h
  65. +0 −7 components/content_settings/core/common/pref_names.cc
  66. +0 −3 components/content_settings/core/common/pref_names.h
  67. +3 −3 components/policy/resources/policy_templates.json
  68. +0 −7 content/app/strings/content_strings.grd
  69. +0 −4 content/browser/accessibility/dump_accessibility_tree_browsertest.cc
  70. +0 −10 content/browser/loader/mime_sniffing_resource_handler.cc
  71. +0 −72 content/browser/renderer_host/render_message_filter.cc
  72. +0 −12 content/browser/renderer_host/render_message_filter.h
  73. +0 −10 content/browser/resource_context_impl.cc
  74. +0 −12 content/child/blink_platform_impl.cc
  75. +0 −5 content/child/blink_platform_impl.h
  76. +0 −10 content/common/render_process_messages.h
  77. +0 −5 content/public/browser/content_browser_client.cc
  78. +0 −3 content/public/browser/content_browser_client.h
  79. +0 −12 content/public/browser/resource_context.h
  80. +0 −14 content/renderer/renderer_blink_platform_impl.cc
  81. +0 −5 content/renderer/renderer_blink_platform_impl.h
  82. +0 −7 content/test/data/accessibility/html/keygen-expected-win.txt
  83. +0 −15 content/test/data/accessibility/html/keygen.html
  84. +0 −1 ios/chrome/browser/browser_state/chrome_browser_state_io_data.cc
  85. +0 −12 net/BUILD.gn
  86. +0 −9 net/android/network_library.h
  87. +0 −29 net/base/keygen_handler.cc
  88. +0 −66 net/base/keygen_handler.h
  89. +0 −339 net/base/keygen_handler_mac.cc
  90. +0 −48 net/base/keygen_handler_nss.cc
  91. +0 −122 net/base/keygen_handler_openssl.cc
  92. +0 −226 net/base/keygen_handler_unittest.cc
  93. +0 −218 net/base/keygen_handler_win.cc
  94. +3 −3 net/base/net_error_list.h
  95. +0 −51 net/base/openssl_private_key_store.h
  96. +0 −47 net/base/openssl_private_key_store_android.cc
  97. +0 −73 net/base/openssl_private_key_store_memory.cc
  98. +0 −12 net/net.gypi
  99. +0 −257 net/third_party/mozilla_security_manager/nsKeygenHandler.cpp
  100. +0 −69 net/third_party/mozilla_security_manager/nsKeygenHandler.h
  101. +0 −1 third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
  102. +0 −2 third_party/WebKit/LayoutTests/SlowTests
  103. +0 −2 third_party/WebKit/LayoutTests/TestExpectations
  104. +0 −1 third_party/WebKit/LayoutTests/accessibility/content-changed-notification-causes-crash-expected.txt
  105. +0 −1 third_party/WebKit/LayoutTests/accessibility/contenteditable-table-check-causes-crash-expected.txt
  106. +0 −8 third_party/WebKit/LayoutTests/accessibility/duplicate-axlayoutobject-crash-expected.txt
  107. +0 −26 third_party/WebKit/LayoutTests/accessibility/duplicate-axlayoutobject-crash.html
  108. +0 −1 third_party/WebKit/LayoutTests/editing/execCommand/remove-format-elements-expected.txt
  109. +0 −1 third_party/WebKit/LayoutTests/fast/block/child-not-removed-from-parent-lineboxes-crash-expected.txt
  110. +0 −2 third_party/WebKit/LayoutTests/fast/block/float/float-not-removed-from-first-letter-expected.txt
  111. +0 −1 third_party/WebKit/LayoutTests/fast/block/float/split-inline-sibling-of-float-crash-expected.txt
  112. +0 −2 third_party/WebKit/LayoutTests/fast/css-grid-layout/stale-grid-layout-expected.txt
  113. +0 −1 third_party/WebKit/LayoutTests/fast/css/pseudo-required-optional-unapplied-expected.txt
  114. +0 −4 third_party/WebKit/LayoutTests/fast/deprecated-flexbox/crash-button-keygen-expected.txt
  115. +0 −14 third_party/WebKit/LayoutTests/fast/deprecated-flexbox/crash-button-keygen.html
  116. +0 −1 ...LayoutTests/fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1-expected.txt
  117. +0 −19 third_party/WebKit/LayoutTests/fast/dom/HTMLKeygenElement/keygen-expected.txt
  118. +0 −21 third_party/WebKit/LayoutTests/fast/dom/HTMLKeygenElement/keygen.html
  119. +0 −1 third_party/WebKit/LayoutTests/fast/dom/click-method-on-html-element-expected.txt
  120. +0 −31 third_party/WebKit/LayoutTests/fast/dom/domstring-attribute-reflection-expected.txt
  121. +0 −1 third_party/WebKit/LayoutTests/fast/dom/domstring-attribute-reflection.html
  122. +0 −5 third_party/WebKit/LayoutTests/fast/dom/element-attribute-js-null-expected.txt
  123. +0 −9 third_party/WebKit/LayoutTests/fast/dom/element-attribute-js-null.html
  124. +0 −1 third_party/WebKit/LayoutTests/fast/dom/setCustomValidity-null-undefined.html
  125. +0 −1 third_party/WebKit/LayoutTests/fast/dom/shadow/layout-tests-can-access-shadow-expected.txt
  126. +3 −3 third_party/WebKit/LayoutTests/fast/dom/shadow/layout-tests-can-access-shadow.html
  127. +1 −2 third_party/WebKit/LayoutTests/fast/dom/shadow/no-renderers-for-light-children-expected.txt
  128. +4 −4 third_party/WebKit/LayoutTests/fast/dom/shadow/no-renderers-for-light-children.html
  129. +1 −2 third_party/WebKit/LayoutTests/fast/dom/shadow/nodetype-expected.txt
  130. +4 −4 third_party/WebKit/LayoutTests/fast/dom/shadow/nodetype.html
  131. +0 −3 third_party/WebKit/LayoutTests/fast/dom/shadow/shadow-disable-expected.txt
  132. +0 −1 third_party/WebKit/LayoutTests/fast/dom/shadow/shadow-disable.html
  133. +0 −5 third_party/WebKit/LayoutTests/fast/dom/wrapper-classes-expected.txt
  134. +0 −1 third_party/WebKit/LayoutTests/fast/dom/wrapper-classes.html
  135. +0 −1 third_party/WebKit/LayoutTests/fast/dynamic/insertAdjacentHTML-allowed-parents-expected.txt
  136. +0 −1 third_party/WebKit/LayoutTests/fast/forms/access-key-for-all-elements-expected.txt
  137. +0 −10 third_party/WebKit/LayoutTests/fast/forms/autofocus-keygen-expected.txt
  138. +0 −23 third_party/WebKit/LayoutTests/fast/forms/autofocus-keygen.html
  139. +0 −4 third_party/WebKit/LayoutTests/fast/forms/checkValidity.html
  140. +11 −13 third_party/WebKit/LayoutTests/fast/forms/fieldset/fieldset-elements-expected.txt
  141. +11 −13 third_party/WebKit/LayoutTests/fast/forms/fieldset/fieldset-elements.html
  142. +1 −2 ...party/WebKit/LayoutTests/fast/forms/fieldset/fieldset-form-collection-radionode-list-expected.txt
  143. +1 −2 third_party/WebKit/LayoutTests/fast/forms/fieldset/fieldset-form-collection-radionode-list.html
  144. +1 −2 third_party/WebKit/LayoutTests/fast/forms/form-associated-element-crash3-expected.txt
  145. +0 −5 third_party/WebKit/LayoutTests/fast/forms/form-associated-element-expected.txt
  146. +0 −2 third_party/WebKit/LayoutTests/fast/forms/form-associated-element.html
  147. +0 −2 third_party/WebKit/LayoutTests/fast/forms/form-attribute-expected.txt
  148. +0 −2 third_party/WebKit/LayoutTests/fast/forms/form-attribute.html
  149. +5 −7 third_party/WebKit/LayoutTests/fast/forms/form-collection-elements-expected.txt
  150. +12 −13 third_party/WebKit/LayoutTests/fast/forms/form-collection-elements-order-expected.txt
  151. +12 −16 third_party/WebKit/LayoutTests/fast/forms/form-collection-elements-order.html
  152. +5 −7 third_party/WebKit/LayoutTests/fast/forms/form-collection-elements.html
  153. +2 −3 third_party/WebKit/LayoutTests/fast/forms/form-collection-radio-node-list-expected.txt
  154. +2 −3 third_party/WebKit/LayoutTests/fast/forms/form-collection-radio-node-list.html
  155. +0 −1 third_party/WebKit/LayoutTests/fast/forms/form-radio-img-node-list-expected.txt
  156. +0 −1 third_party/WebKit/LayoutTests/fast/forms/form-radio-img-node-list.html
  157. +7 −9 third_party/WebKit/LayoutTests/fast/forms/form-radio-node-list-expected.txt
  158. +6 −8 third_party/WebKit/LayoutTests/fast/forms/form-radio-node-list.html
  159. +0 −3 ...d_party/WebKit/LayoutTests/fast/forms/label/label-contains-other-interactive-content-expected.txt
  160. +1 −1 third_party/WebKit/LayoutTests/fast/forms/label/label-contains-other-interactive-content.html
  161. +0 −4 third_party/WebKit/LayoutTests/fast/forms/label/labelable-elements-expected.txt
  162. +0 −4 third_party/WebKit/LayoutTests/fast/forms/label/labels-add-htmlFor-label-expected.txt
  163. +0 −4 third_party/WebKit/LayoutTests/fast/forms/label/labels-add-parent-label-expected.txt
  164. +0 −4 third_party/WebKit/LayoutTests/fast/forms/label/labels-change-htmlFor-attribute-expected.txt
  165. +0 −3 third_party/WebKit/LayoutTests/fast/forms/label/labels-multiple-sibling-labels-expected.txt
  166. +0 −3 third_party/WebKit/LayoutTests/fast/forms/label/labels-parent-and-sibling-labels-expected.txt
  167. +0 −4 third_party/WebKit/LayoutTests/fast/forms/label/labels-remove-htmlFor-attribute-expected.txt
  168. +0 −4 third_party/WebKit/LayoutTests/fast/forms/label/labels-remove-htmlFor-label-expected.txt
  169. +0 −4 third_party/WebKit/LayoutTests/fast/forms/label/labels-remove-parent-label-expected.txt
  170. +0 −4 third_party/WebKit/LayoutTests/fast/forms/label/labels-set-htmlFor-attribute-expected.txt
  171. +0 −1 third_party/WebKit/LayoutTests/fast/forms/large-parts-expected.txt
  172. +1 −3 third_party/WebKit/LayoutTests/fast/forms/reportValidity-valid-expected.txt
  173. +0 −2 third_party/WebKit/LayoutTests/fast/forms/reportValidity-valid.html
  174. +0 −1 third_party/WebKit/LayoutTests/fast/forms/resources/common.js
  175. +0 −2 third_party/WebKit/LayoutTests/fast/forms/setCustomValidity-arguments-expected.txt
  176. +0 −3 third_party/WebKit/LayoutTests/fast/forms/setCustomValidity-arguments.html
  177. +0 −2 third_party/WebKit/LayoutTests/fast/forms/setCustomValidity-existence-expected.txt
  178. +0 −2 third_party/WebKit/LayoutTests/fast/forms/setCustomValidity-existence.html
  179. +1 −3 third_party/WebKit/LayoutTests/fast/forms/state-restore-skip-stateless-expected.txt
  180. +1 −2 third_party/WebKit/LayoutTests/fast/forms/state-restore-skip-stateless.html
  181. +0 −2 third_party/WebKit/LayoutTests/fast/forms/validationMessage-expected.txt
  182. +0 −6 third_party/WebKit/LayoutTests/fast/forms/validationMessage.html
  183. +1 −7 third_party/WebKit/LayoutTests/fast/forms/validity-property-expected.txt
  184. +0 −1 third_party/WebKit/LayoutTests/fast/forms/validity-property.html
  185. +0 −5 third_party/WebKit/LayoutTests/fast/forms/willvalidate-expected.txt
  186. +0 −5 third_party/WebKit/LayoutTests/fast/forms/willvalidate.html
  187. +0 −10 third_party/WebKit/LayoutTests/fast/html/clone-keygen-expected.txt
  188. +0 −35 third_party/WebKit/LayoutTests/fast/html/clone-keygen.html
  189. +0 −5 third_party/WebKit/LayoutTests/fast/html/keygen.html
  190. +0 −4 third_party/WebKit/LayoutTests/fast/multicol/span/positioned-child-not-removed-crash-expected.txt
  191. +0 −41 third_party/WebKit/LayoutTests/fast/multicol/span/positioned-child-not-removed-crash.html
  192. +0 −2 third_party/WebKit/LayoutTests/fast/replaced/keygen-as-table-column-group-crash-expected.txt
  193. +0 −9 third_party/WebKit/LayoutTests/fast/replaced/keygen-as-table-column-group-crash.html
  194. +0 −1 third_party/WebKit/LayoutTests/fast/ruby/float-object-doesnt-crash-expected.txt
  195. +0 −1 third_party/WebKit/LayoutTests/fast/table/crash-splitColumn-2-expected.txt
  196. +0 −1 third_party/WebKit/LayoutTests/html5lib/generated/run-tests19-data-expected.txt
  197. +0 −1 third_party/WebKit/LayoutTests/html5lib/generated/run-tests19-write-expected.txt
  198. +0 −1 third_party/WebKit/LayoutTests/html5lib/generated/run-tests25-data-expected.txt
  199. +0 −1 third_party/WebKit/LayoutTests/html5lib/generated/run-tests25-write-expected.txt
  200. +0 −1 third_party/WebKit/LayoutTests/html5lib/generated/run-tests7-data-expected.txt
  201. +0 −1 third_party/WebKit/LayoutTests/html5lib/generated/run-tests7-write-expected.txt
  202. +0 −38 third_party/WebKit/LayoutTests/http/tests/misc/resources/check-keygen-post.php
  203. +0 −4 third_party/WebKit/LayoutTests/http/tests/misc/submit-post-keygen-expected.txt
  204. +0 −19 third_party/WebKit/LayoutTests/http/tests/misc/submit-post-keygen.html
  205. +1 −1 ...ported/wpt/html/browsers/origin/cross-origin-objects/cross-origin-objects-exceptions-expected.txt
  206. +153 −6 third_party/WebKit/LayoutTests/imported/wpt/html/dom/reflection-forms-expected.txt
  207. +18 −0 ...wpt/html/infrastructure/common-dom-interfaces/collections/htmlformcontrolscollection-expected.txt
  208. +1 −2 ...youtTests/imported/wpt/html/semantics/forms/constraints/form-validation-willValidate-expected.txt
  209. +3 −2 ...ebKit/LayoutTests/imported/wpt/html/semantics/forms/form-control-infrastructure/form-expected.txt
  210. +0 −1 ...d_party/WebKit/LayoutTests/imported/wpt/html/semantics/forms/the-form-element/form-nameditem.html
  211. +2 −3 ...t/LayoutTests/imported/wpt/html/semantics/forms/the-label-element/labelable-elements-expected.txt
  212. +0 −1 .../LayoutTests/imported/wpt/html/semantics/grouping-content/the-ol-element/grouping-ol-expected.txt
  213. +0 −3 third_party/WebKit/LayoutTests/imported/wpt/html/semantics/interfaces-expected.txt
  214. +0 −1 third_party/WebKit/LayoutTests/imported/wpt/html/semantics/interfaces.js
  215. +0 −1 third_party/WebKit/LayoutTests/imported/wpt/html/syntax/parsing/html5lib_tests19-expected.txt
  216. +0 −1 third_party/WebKit/LayoutTests/imported/wpt/html/syntax/parsing/html5lib_tests25-expected.txt
  217. +0 −1 ...y/WebKit/LayoutTests/imported/wpt/html/syntax/serializing-html-fragments/serializing-expected.txt
  218. +5 −0 ...imported/wpt/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-005-expected.txt
  219. +5 −0 ...imported/wpt/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/test-007-expected.txt
  220. +0 −1 third_party/WebKit/LayoutTests/platform/android/fast/html/keygen-expected.txt
  221. +0 −1 third_party/WebKit/LayoutTests/platform/linux/fast/html/keygen-expected.txt
  222. +0 −1 third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/html/keygen-expected.txt
  223. +0 −1 third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/html/keygen-expected.txt
  224. +0 −1 third_party/WebKit/LayoutTests/platform/mac/fast/html/keygen-expected.txt
  225. +0 −1 third_party/WebKit/LayoutTests/platform/win/fast/html/keygen-expected.txt
  226. +0 −22 ...y/WebKit/LayoutTests/platform/win/virtual/stable/webexposed/global-interface-listing-expected.txt
  227. +0 −15 ...party/WebKit/LayoutTests/virtual/stable/webexposed/element-instance-property-listing-expected.txt
  228. +0 −22 third_party/WebKit/LayoutTests/virtual/stable/webexposed/global-interface-listing-expected.txt
  229. +0 −15 third_party/WebKit/LayoutTests/webexposed/element-instance-property-listing-expected.txt
  230. +0 −22 third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt
  231. +0 −1 third_party/WebKit/Source/core/core_idl_files.gni
  232. +5 −9 third_party/WebKit/Source/core/css/html.css
  233. +0 −1 third_party/WebKit/Source/core/css/themeWin.css
  234. +0 −3 third_party/WebKit/Source/core/frame/Deprecation.cpp
  235. +0 −1 third_party/WebKit/Source/core/frame/UseCounter.h
  236. +0 −2 third_party/WebKit/Source/core/html/BUILD.gn
  237. +0 −140 third_party/WebKit/Source/core/html/HTMLKeygenElement.cpp
  238. +0 −73 third_party/WebKit/Source/core/html/HTMLKeygenElement.h
  239. +0 −51 third_party/WebKit/Source/core/html/HTMLKeygenElement.idl
  240. +1 −1 third_party/WebKit/Source/core/html/HTMLTagNames.in
  241. +0 −3 third_party/WebKit/Source/core/loader/FrameLoaderClient.h
  242. +0 −5 third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp
  243. +0 −1 third_party/WebKit/Source/web/FrameLoaderClientImpl.h
  244. +0 −14 third_party/WebKit/public/platform/Platform.h
  245. +0 −2 third_party/WebKit/public/platform/WebLocalizedString.h
  246. +0 −3 third_party/WebKit/public/web/WebContentSettingsClient.h
  247. +1 −0 tools/metrics/actions/actions.xml
  248. +7 −1 tools/metrics/histograms/histograms.xml
  249. +0 −2 tools/valgrind/gtest_exclude/net_unittests.gtest.txt
@@ -12,6 +12,8 @@
#include "base/synchronization/lock.h"
#include "content/public/browser/resource_context.h"

class GURL;

namespace net {
class URLRequestContextGetter;
}
@@ -47,8 +47,6 @@
android:key="popup_permission_list" />
<org.chromium.chrome.browser.preferences.ChromeBaseListPreference
android:key="background_sync_permission_list" />
<org.chromium.chrome.browser.preferences.ChromeBaseListPreference
android:key="keygen_permission_list" />
<org.chromium.chrome.browser.preferences.ChromeBaseListPreference
android:key="protected_media_identifier_permission_list" />
<org.chromium.chrome.browser.preferences.ChromeBaseListPreference
@@ -118,12 +118,6 @@ private int getDisabledSummary() {
R.string.javascript_permission_title, ContentSetting.ALLOW,
ContentSetting.BLOCK,
R.string.website_settings_category_javascript_allowed, 0));
localMap.put(ContentSettingsType.CONTENT_SETTINGS_TYPE_KEYGEN,
new ResourceItem(R.drawable.permission_keygen,
R.string.keygen_permission_title,
R.string.keygen_permission_title, ContentSetting.ALLOW,
ContentSetting.BLOCK,
0, R.string.website_settings_category_blocked_recommended));
localMap.put(
ContentSettingsType.CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA,
new ResourceItem(R.drawable.permission_camera,

This file was deleted.

@@ -73,7 +73,6 @@
public static final String PREF_CAMERA_CAPTURE_PERMISSION = "camera_permission_list";
public static final String PREF_COOKIES_PERMISSION = "cookies_permission_list";
public static final String PREF_JAVASCRIPT_PERMISSION = "javascript_permission_list";
public static final String PREF_KEYGEN_PERMISSION = "keygen_permission_list";
public static final String PREF_LOCATION_ACCESS = "location_access_list";
public static final String PREF_MIC_CAPTURE_PERMISSION = "microphone_permission_list";
public static final String PREF_MIDI_SYSEX_PERMISSION = "midi_sysex_permission_list";
@@ -90,7 +89,6 @@
PREF_CAMERA_CAPTURE_PERMISSION,
PREF_COOKIES_PERMISSION,
PREF_JAVASCRIPT_PERMISSION,
PREF_KEYGEN_PERMISSION,
PREF_LOCATION_ACCESS,
PREF_MIC_CAPTURE_PERMISSION,
PREF_MIDI_SYSEX_PERMISSION,
@@ -125,13 +123,6 @@ public void onWebsitePermissionsAvailable(Collection<Website> sites) {
// TODO(mvanouwerkerk): Avoid modifying the outer class from this inner class.
mSite = mergePermissionInfoForTopLevelOrigin(mSiteAddress, sites);

// Display Keygen Content Setting if Keygen is blocked.
if (mSite.getKeygenInfo() == null && mWebContents != null
&& WebsitePreferenceBridge.getKeygenBlocked(mWebContents)) {
String origin = mSiteAddress.getOrigin();
mSite.setKeygenInfo(new KeygenInfo(origin, origin, false));
}

displaySitePermissions();
}
}
@@ -204,10 +195,6 @@ private static Website mergePermissionInfoForTopLevelOrigin(
&& permissionInfoIsForTopLevelOrigin(other.getGeolocationInfo(), origin)) {
merged.setGeolocationInfo(other.getGeolocationInfo());
}
if (merged.getKeygenInfo() == null && other.getKeygenInfo() != null
&& permissionInfoIsForTopLevelOrigin(other.getKeygenInfo(), origin)) {
merged.setKeygenInfo(other.getKeygenInfo());
}
if (merged.getMidiInfo() == null && other.getMidiInfo() != null
&& permissionInfoIsForTopLevelOrigin(other.getMidiInfo(), origin)) {
merged.setMidiInfo(other.getMidiInfo());
@@ -304,8 +291,6 @@ private void displaySitePermissions() {
setUpListPreference(preference, mSite.getCookiePermission());
} else if (PREF_JAVASCRIPT_PERMISSION.equals(preference.getKey())) {
setUpListPreference(preference, mSite.getJavaScriptPermission());
} else if (PREF_KEYGEN_PERMISSION.equals(preference.getKey())) {
setUpListPreference(preference, mSite.getKeygenPermission());
} else if (PREF_LOCATION_ACCESS.equals(preference.getKey())) {
setUpLocationPreference(preference);
} else if (PREF_MIC_CAPTURE_PERMISSION.equals(preference.getKey())) {
@@ -537,8 +522,6 @@ private int getContentSettingsTypeFromPreferenceKey(String preferenceKey) {
return ContentSettingsType.CONTENT_SETTINGS_TYPE_COOKIES;
case PREF_JAVASCRIPT_PERMISSION:
return ContentSettingsType.CONTENT_SETTINGS_TYPE_JAVASCRIPT;
case PREF_KEYGEN_PERMISSION:
return ContentSettingsType.CONTENT_SETTINGS_TYPE_KEYGEN;
case PREF_LOCATION_ACCESS:
return ContentSettingsType.CONTENT_SETTINGS_TYPE_GEOLOCATION;
case PREF_MIC_CAPTURE_PERMISSION:
@@ -599,8 +582,6 @@ public boolean onPreferenceChange(Preference preference, Object newValue) {
mSite.setCookiePermission(permission);
} else if (PREF_JAVASCRIPT_PERMISSION.equals(preference.getKey())) {
mSite.setJavaScriptPermission(permission);
} else if (PREF_KEYGEN_PERMISSION.equals(preference.getKey())) {
mSite.setKeygenPermission(permission);
} else if (PREF_LOCATION_ACCESS.equals(preference.getKey())) {
mSite.setGeolocationPermission(permission);
} else if (PREF_MIC_CAPTURE_PERMISSION.equals(preference.getKey())) {
@@ -679,7 +660,6 @@ protected void resetSite() {
mSite.setCookiePermission(ContentSetting.DEFAULT);
mSite.setGeolocationPermission(ContentSetting.DEFAULT);
mSite.setJavaScriptPermission(ContentSetting.DEFAULT);
mSite.setKeygenPermission(ContentSetting.DEFAULT);
mSite.setMicrophonePermission(ContentSetting.DEFAULT);
mSite.setMidiPermission(ContentSetting.DEFAULT);
mSite.setNotificationPermission(ContentSetting.DEFAULT);
@@ -32,7 +32,6 @@
private ContentSettingException mCookieException;
private GeolocationInfo mGeolocationInfo;
private ContentSettingException mJavaScriptException;
private KeygenInfo mKeygenInfo;
private LocalStorageInfo mLocalStorageInfo;
private MicrophoneInfo mMicrophoneInfo;
private MidiInfo mMidiInfo;
@@ -235,33 +234,6 @@ public void setJavaScriptException(ContentSettingException exception) {
mJavaScriptException = exception;
}

/**
* Sets the KeygenInfo object for this Website.
*/
public void setKeygenInfo(KeygenInfo info) {
mKeygenInfo = info;
}

public KeygenInfo getKeygenInfo() {
return mKeygenInfo;
}

/**
* Returns what permission governs keygen access.
*/
public ContentSetting getKeygenPermission() {
return mKeygenInfo != null ? mKeygenInfo.getContentSetting() : null;
}

/**
* Configure keygen access setting for this site.
*/
public void setKeygenPermission(ContentSetting value) {
if (mKeygenInfo != null) {
mKeygenInfo.setContentSetting(value);
}
}

/**
* Sets microphone capture info class.
*/
@@ -55,8 +55,6 @@ public void fetchAllPreferences() {
queue.add(new MidiInfoFetcher());
// Cookies are stored per-host.
queue.add(new CookieExceptionInfoFetcher());
// Keygen permissions are per-origin.
queue.add(new KeygenInfoFetcher());
// Local storage info is per-origin.
queue.add(new LocalStorageInfoFetcher());
// Website storage is per-host.
@@ -269,18 +267,6 @@ public void run() {
}
}

private class KeygenInfoFetcher extends Task {
@Override
public void run() {
for (KeygenInfo info : WebsitePreferenceBridge.getKeygenInfo()) {
WebsiteAddress origin = WebsiteAddress.create(info.getOrigin());
if (origin == null) continue;
WebsiteAddress embedder = WebsiteAddress.create(info.getEmbedder());
findOrCreateSite(origin, embedder).setKeygenInfo(info);
}
}
}

private class LocalStorageInfoFetcher extends Task {
@Override
public void runAsync(final TaskQueue queue) {
@@ -7,7 +7,6 @@
import org.chromium.base.Callback;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.content_public.browser.WebContents;

import java.util.ArrayList;
import java.util.HashMap;
@@ -27,30 +26,6 @@
public void onStorageInfoCleared();
}

/**
* @return the list of all origins that have keygen permissions in non-incognito mode.
*/
@SuppressWarnings("unchecked")
public static List<KeygenInfo> getKeygenInfo() {
ArrayList<KeygenInfo> list = new ArrayList<KeygenInfo>();
nativeGetKeygenOrigins(list);
return list;
}

@CalledByNative
private static void insertKeygenInfoIntoList(
ArrayList<KeygenInfo> list, String origin, String embedder) {
list.add(new KeygenInfo(origin, embedder, false));
}

/**
* @return whether we've blocked key generation in the current tab.
*/
@SuppressWarnings("unchecked")
public static boolean getKeygenBlocked(WebContents webContents) {
return nativeGetKeygenBlocked(webContents);
}

/**
* @return the list of all origins that have geolocation permissions in non-incognito mode.
*/
@@ -247,12 +222,6 @@ static native int nativeGetGeolocationSettingForOrigin(
String origin, String embedder, boolean isIncognito);
public static native void nativeSetGeolocationSettingForOrigin(
String origin, String embedder, int value, boolean isIncognito);
private static native void nativeGetKeygenOrigins(Object list);
static native int nativeGetKeygenSettingForOrigin(
String origin, String embedder, boolean isIncognito);
static native void nativeSetKeygenSettingForOrigin(
String origin, int value, boolean isIncognito);
private static native boolean nativeGetKeygenBlocked(Object webContents);
private static native void nativeGetMidiOrigins(Object list);
static native int nativeGetMidiSettingForOrigin(
String origin, String embedder, boolean isIncognito);
@@ -596,9 +596,6 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_JAVASCRIPT_PERMISSION_TITLE" desc="Title of the permission to run javascript [CHAR-LIMIT=32]">
JavaScript
</message>
<message name="IDS_KEYGEN_PERMISSION_TITLE" desc="Title of the permission to allow a form to perform client-side key generation [CHAR-LIMIT=32]">
Key generation
</message>
<message name="IDS_MEDIA_PERMISSION_TITLE" desc="Title of the menu containing the media permissions [CHAR-LIMIT=32]">
Media
</message>
@@ -830,7 +830,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/preferences/website/ContentSettingException.java",
"java/src/org/chromium/chrome/browser/preferences/website/ContentSettingsResources.java",
"java/src/org/chromium/chrome/browser/preferences/website/GeolocationInfo.java",
"java/src/org/chromium/chrome/browser/preferences/website/KeygenInfo.java",
"java/src/org/chromium/chrome/browser/preferences/website/LocalStorageInfo.java",
"java/src/org/chromium/chrome/browser/preferences/website/LocationCategory.java",
"java/src/org/chromium/chrome/browser/preferences/website/ManageSpaceActivity.java",
@@ -16,7 +16,6 @@
import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.infobar.InfoBarContainer;
import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference;
import org.chromium.chrome.browser.preferences.ChromeBaseListPreference;
import org.chromium.chrome.browser.preferences.ChromeSwitchPreference;
import org.chromium.chrome.browser.preferences.LocationSettings;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
@@ -260,28 +259,6 @@ public void run() {
preferenceActivity.finish();
}

private void setEnableKeygen(final String origin, final boolean enabled) {
WebsiteAddress address = WebsiteAddress.create(origin);
Website website = new Website(address, address);
website.setKeygenInfo(new KeygenInfo(origin, origin, false));
final Preferences preferenceActivity = startSingleWebsitePreferences(website);

ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
SingleWebsitePreferences websitePreferences =
(SingleWebsitePreferences) preferenceActivity.getFragmentForTest();
ChromeBaseListPreference keygen =
(ChromeBaseListPreference) websitePreferences.findPreference(
SingleWebsitePreferences.PREF_KEYGEN_PERMISSION);
websitePreferences.onPreferenceChange(keygen, enabled
? ContentSetting.ALLOW.toString()
: ContentSetting.BLOCK.toString());
}
});
preferenceActivity.finish();
}

private void setEnableBackgroundSync(final boolean enabled) {
final Preferences preferenceActivity =
startSiteSettingsCategory(SiteSettingsCategory.CATEGORY_BACKGROUND_SYNC);
@@ -397,48 +374,6 @@ public void testPopupsNotBlocked() throws Exception {
assertEquals(2, getTabCount());
}

/**
* Sets Allow Keygen Enabled to be false and make sure it is set correctly.
* @throws Exception
*/
@SmallTest
@Feature({"Preferences"})
public void testKeygenBlocked() throws Exception {
final String origin = "http://example.com/";
setEnableKeygen(origin, false);

ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
WebsiteAddress address = WebsiteAddress.create(origin);
Website site = new Website(address, address);
site.setKeygenInfo(new KeygenInfo(origin, origin, false));
assertEquals(site.getKeygenPermission(), ContentSetting.BLOCK);
}
});
}

/**
* Sets Allow Keygen Enabled to be true and make sure it is set correctly.
* @throws Exception
*/
@SmallTest
@Feature({"Preferences"})
public void testKeygenNotBlocked() throws Exception {
final String origin = "http://example.com/";
setEnableKeygen(origin, true);

ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
WebsiteAddress address = WebsiteAddress.create(origin);
Website site = new Website(address, address);
site.setKeygenInfo(new KeygenInfo(origin, origin, false));
assertEquals(site.getKeygenPermission(), ContentSetting.ALLOW);
}
});
}

/**
* Test that showing the Site Settings menu doesn't crash (crbug.com/610576).
* @throws Exception
@@ -308,9 +308,6 @@ are declared in build/common.gypi.
<message name="IDS_WEBSITE_SETTINGS_TYPE_JAVASCRIPT" desc="The label used for JavaScript permission controls in the Website Settings popup.">
JavaScript
</message>
<message name="IDS_WEBSITE_SETTINGS_TYPE_KEYGEN" desc="The label used for the key generation permission controls in the Website Settings popup.">
Key Generation
</message>
<message name="IDS_WEBSITE_SETTINGS_TYPE_POPUPS" desc="The label used for popups permission controls in the Website Settings popup.">
Popups
</message>
<message name="IDS_JS_DONOTALLOW_RADIO" desc="A radio button in the Content Settings dialog for preventing JavaScript use on any site.">
Do not allow any site to run JavaScript
</message>
<message name="IDS_KEYGEN_TAB_LABEL" desc="Label for key generation tab on Content Settings dialog">
Key generation
</message>
<message name="IDS_KEYGEN_HEADER" desc="Label for key generation exception management page on Content Settings dialog">
Key generation exceptions
</message>
<message name="IDS_KEYGEN_ALLOW_RADIO" desc="A radio button in the Content Settings dialog for allowing forms to use key generation on any site.">
Allow all sites to use key generation in forms.
</message>
<message name="IDS_KEYGEN_DONOTALLOW_RADIO" desc="A radio button in the Content Settings dialog for preventing forms from using key generation on any site.">
Do not allow any site to use key generation in forms (recommended)
</message>
<message name="IDS_PDF_TAB_LABEL" desc="Label for the pdf plugin tab on Content Settings dialog">
PDF Documents
</message>
<message name="IDS_CRYPTO_MODULE_AUTH_DIALOG_TITLE" desc="The title in the dialog that prompts for security device password.">
Sign in to Security Device
</message>
<message name="IDS_CRYPTO_MODULE_AUTH_DIALOG_TEXT_KEYGEN" desc="The text in the dialog that prompts for security device password for key generation.">
Please sign in to <ph name="TOKEN_NAME">$1<ex>Software Security Device</ex></ph> to generate a key for <ph name="HOST_NAME">$2<ex>www.google.com</ex></ph>.
</message>
<message name="IDS_CRYPTO_MODULE_AUTH_DIALOG_TEXT_CERT_ENROLLMENT" desc="The text in the dialog that prompts for security device password for cert enrollment.">
Please sign in to <ph name="TOKEN_NAME">$1<ex>Software Security Device</ex></ph> to import client certificate from <ph name="HOST_NAME">$2<ex>www.google.com</ex></ph>.
</message>

0 comments on commit 5d916f6

Please sign in to comment.
You can’t perform that action at this time.