dsae
December 22, 2023, 3:17pm
1
it’s been months and it still hasn’t been fixed yet:
opened 12:18PM - 06 Jun 23 UTC
bug
feature/extensions
priority/P3
OS/Desktop
## Description
Whenever using a chrome extension which adds declarativeNetRequ… est rules it will only work after reloading the extension after browser startup. Brave doesn't check for these rules on browser startup so I need to reload the extension to get it to work allowing the content security policies rather than blocking them.
## Steps to Reproduce
1. Have a Chrome Extension which uses declarativeNetRequests (Manifest v3)
2. Restart your browser
3. You will now see that whatever that extension was adding to a website is not getting added until you reload that extension. (Just shows content-security-policy errors in Console)
## Reproduces how often:
Easily reproduced
## Brave version (brave://version info)
1.52.119 Chromium: 114.0.5735.90 (Official Build) (64-bit)
## Other Additional Information:
- Does the issue resolve itself when disabling Brave Shields?
No
- Does the issue resolve itself when disabling Brave Rewards?
No
- Is the issue reproducible on the latest version of Chrome?
Only is an issue on the latest Brave not Chromium (Google Chrome, etc works normally)
some extensions like Live stream Downloader and TwitchNoSub need to be reloaded every time you launch Brave. Brave is the only browser having this issue.
dsae
December 27, 2023, 8:09pm
2
good news! after pinging a Brave dev on Github they have finally noticed it!
brave:master
← brave:issues/30854
opened 08:47AM - 25 Dec 23 UTC
`GreaselionServiceFactory` performed incorrect extension service initialization … which led to broken startup service dependency. `declarative_net_request::RulesMonitorService` should be created before extensions are loaded, but the call in `GreaselionServiceFactory` forced all extensions to be loaded before all `BrowserContextKeyedService`s had a chance to startup.
The correct extension load on startup is done via `ProfileManager::DoFinalInitForServices`. At this point all services are created.
Resolves https://github.com/brave/brave-browser/issues/30854
<!-- CI-related labels that can be applied to this PR:
* CI/run-audit-deps (1) - check for known npm/cargo vulnerabilities (audit_deps)
* CI/run-network-audit (1) - run network-audit
* CI/run-upstream-tests - run Chromium unit and browser tests on Linux and Windows (otherwise only on Linux)
* CI/run-linux-arm64, CI/run-macos-arm64, CI/run-windows-arm64, CI/run-windows-x86 - run builds that would otherwise be skipped
* CI/skip - do not run CI builds (except noplatform)
* CI/skip-linux-x64, CI/skip-android, CI/skip-macos-x64, CI/skip-ios, CI/skip-windows-x64 - skip CI builds for specific platforms
* CI/skip-upstream-tests - do not run Chromium unit, or browser tests (otherwise only on Linux)
* CI/skip-all-linters - do not run presubmit and lint checks
* CI/storybook-url (1) - deploy storybook and provide a unique URL for each build
(1) applied automatically when some files are changed (see: https://github.com/brave/brave-core/blob/master/.github/labeler.yml)
-->
## Submitter Checklist:
- [x] I confirm that no [security/privacy review is needed](https://github.com/brave/brave-browser/wiki/Security-reviews) and no other type of reviews are needed, or that I have [requested](https://github.com/brave/reviews/issues/new/choose) them
- [x] There is a [ticket](https://github.com/brave/brave-browser/issues) for my issue
- [x] Used Github [auto-closing keywords](https://docs.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue) in the PR description above
- [x] Wrote a good [PR/commit description](https://google.github.io/eng-practices/review/developer/cl-descriptions.html)
- [ ] Squashed any review feedback or "fixup" commits before merge, so that history is a record of what happened in the repo, not your PR
- [ ] Added appropriate labels (`QA/Yes` or `QA/No`; `release-notes/include` or `release-notes/exclude`; `OS/...`) to the associated issue
- [ ] Checked the PR locally:
* `npm run test -- brave_browser_tests`, `npm run test -- brave_unit_tests` [wiki](https://github.com/brave/brave-browser/wiki/Tests)
* `npm run lint`, `npm run presubmit` [wiki](https://github.com/brave/brave-browser/wiki/Presubmit-checks), `npm run gn_check`, `npm run tslint`
- [ ] Ran `git rebase master` (if needed)
## Reviewer Checklist:
- [ ] A security review [is not needed](https://github.com/brave/brave-browser/wiki/Security-reviews), or a link to one is included in the PR description
- [ ] New files have MPL-2.0 license header
- [ ] Adequate test coverage exists to prevent regressions
- [ ] Major classes, functions and non-trivial code blocks are well-commented
- [ ] Changes in component dependencies are properly reflected in `gn`
- [ ] Code follows the [style guide](https://chromium.googlesource.com/chromium/src/+/HEAD/styleguide/c++/c++.md)
- [ ] Test plan is specified in PR before merging
## After-merge Checklist:
- [ ] The associated issue milestone is set to the smallest version that the
changes has landed on
- [ ] All relevant documentation has been updated, for instance:
- [ ] https://github.com/brave/brave-browser/wiki/Deviations-from-Chromium-(features-we-disable-or-remove)
- [ ] https://github.com/brave/brave-browser/wiki/Proxy-redirected-URLs
- [ ] https://github.com/brave/brave-browser/wiki/Fingerprinting-Protections
- [ ] https://github.com/brave/brave-browser/wiki/Brave%E2%80%99s-Use-of-Referral-Codes
- [ ] https://github.com/brave/brave-browser/wiki/Custom-Headers
- [ ] https://github.com/brave/brave-browser/wiki/Web-Compatibility-Exceptions-in-Brave
- [ ] https://github.com/brave/brave-browser/wiki/QA-Guide
- [ ] https://github.com/brave/brave-browser/wiki/P3A
## Test Plan:
waiting for the pull review…
1 Like
system
Closed
January 26, 2024, 8:10pm
3
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.