Reland 1: Remove TOP_ORIGIN_WITH_RESOURCE_EXCEPTIONS_SCOPE

The original CL had test logic that tried to run a RunLoop inside of an
idle-callback from the outer RunLoop. This fails on some platforms. The
test has been rewritten to not do this. The DOM can be briefly unusable
in the non-oopif setup. This edge case now has a check.

> Remove TOP_ORIGIN_WITH_RESOURCE_EXCEPTIONS_SCOPE.
>
> There are two content settings that used
> TOP_ORIGIN_WITH_RESOURCE_EXCEPTIONS_SCOPE: javascript and images. For
> most purposes, they were functionally equivalent to
> TOP_ORIGIN_ONLY_SCOPE because the implementation of
> GetPatternsFromScopingType replaced the secondary pattern with wildcard.
> The one exception is the content setting extension API, which allows
> extensions to set a non-wildcard secondary pattern. Metrics show that
> this functionality was hardly used and the functionality has already
> been disabled.
>
> The only effect of this CL is that extensions that attempt to set a
> different secondary pattern for the javascript and image content setting
> types will now encounter an error. For more details, see implementation
> of ContentSettingsContentSettingSetFunction::Run.
>
> This CL delete several tests which check behavior of secondary patterns
> for javascript, which is not behavior that can be encountered in the
> wild.
>
> Bug: 40282541

Bug: 40282541
Change-Id: I45d6de2ad164519119126ff4b7d68f5d325f4836
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5855738
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1360211}
7 files changed
tree: 4390f32e0e758bffebe995f1332cb9e1cfa909ed
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. codelabs/
  13. components/
  14. content/
  15. crypto/
  16. dbus/
  17. device/
  18. docs/
  19. extensions/
  20. fuchsia_web/
  21. gin/
  22. google_apis/
  23. google_update/
  24. gpu/
  25. headless/
  26. infra/
  27. ios/
  28. ipc/
  29. media/
  30. mojo/
  31. native_client_sdk/
  32. net/
  33. pdf/
  34. ppapi/
  35. printing/
  36. remoting/
  37. rlz/
  38. sandbox/
  39. services/
  40. skia/
  41. sql/
  42. storage/
  43. styleguide/
  44. testing/
  45. third_party/
  46. tools/
  47. ui/
  48. url/
  49. webkit/
  50. .clang-format
  51. .clang-tidy
  52. .clangd
  53. .eslintrc.js
  54. .git-blame-ignore-revs
  55. .gitallowed
  56. .gitattributes
  57. .gitignore
  58. .gitmodules
  59. .gn
  60. .mailmap
  61. .rustfmt.toml
  62. .vpython3
  63. .yapfignore
  64. ATL_OWNERS
  65. AUTHORS
  66. BUILD.gn
  67. CODE_OF_CONDUCT.md
  68. codereview.settings
  69. CPPLINT.cfg
  70. CRYPTO_OWNERS
  71. DEPS
  72. DIR_METADATA
  73. LICENSE
  74. LICENSE.chromium_os
  75. OWNERS
  76. PRESUBMIT.py
  77. PRESUBMIT_test.py
  78. PRESUBMIT_test_mocks.py
  79. README.md
  80. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure.

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.