* Remove #define in c/b/ui/accelerator_table.cc
Replaces #define macro with plaster + chromium_src override.
plaster will rename GetAcceleratorList() to GetAcceleratorList_ChromiumImpl()
so that we can have our own implementation of GetAcceleratorList().
* Remote model fetch and parsing.
* Applied review suggestions
* feat(ai_chat): update remote model parser to server capabilities format
* feat(ai_chat): address review feedback on RemoteModelsFetcher
This removes the newly added auth check when the Private Tabs > Require Face ID setting is enabled which could conflict with Browser Lock and leave the user stuck on the launch screen
Resource components were registered with the component updater but never
explicitly unregistered, causing it to keep downloading updates for
country and language models even after the ads service shut down or the
user opted out of notification ads. Components are now unregistered in
OnPrefChanged when the service becomes ineligible, and the language
component is additionally unregistered immediately when the user opts
out of notification ads while the service is still running.
To add a new BraveVpnService implementation based on Architecture 2.0,
which must co-exist with Architecture 1.0 for quite a while, we need
to split service's interface and implementation. All the external
components will keep accessing VPN service via the BraveVpnService
interface, but the implementation mostly goes into BraveVpnServiceImpl.
This incremental change splits "brave_vpn" target into two:
- "brave_vpn" itself, shared between V1 and V2 implementations.
- "v1_utils", a strictly V1 target, currently containing the VPN
connection manager utility code for Architecture 1.0.
Most existing targets will continue depending on the shared
"brave_vpn"; "v1_utils" is used only in the specific place where V1
connection manager creation is done, and will be later gated by a
buildflag.
Implements part of https://github.com/brave/brave-browser/issues/54597
The RFC suggests a maximum chunk size of 16,384 bytes. If a request is made with
a plaintext length that is greater than the limit, split it up into 15kb chunks and
encrypt them individually.
URL response handlers previously returned anonymous pairs of a message
string and a retry flag, making it unclear at call sites what each
value represented. Handlers now return UrlResponseResult<T>, carrying
either the success value or a UrlResponseErrorInfo with named fields,
making intent obvious and reducing the chance of mistakes.
The migration that cleared kMaximumNotificationAdsPerHour and opted the
user out of notification ads when the value was zero was added in
08/2023. The migration has been in place long enough that all affected
users have upgraded, so remove it.
Resolvesbrave/brave-browser#55848
Add a new modal for selecting Polkadot networks, which then grabs the correct
chain id for ss58 address generation and also the correct block explorer URL.
For Polkadot, the main block explorer we use will set parachain-specific
subdomains.
Update how we handle chain metadata by returning the CXX-generated struct
directly and relocating the definition of the runtime parsing routines, removing
the need for intermediate structs. We also add defaulted implementations of the
default constructor and equality operators. We update the code to provide direct
access to the CxxPolkadotChainMetadata data members via the arrow operator,
which removes the need for getters.
This is motivated by the number of fields attached the metadata growing
substantially over time.
`BraveOriginPolicyManager::Init` was only called lazily from
`BraveOriginServiceFactory::BuildServiceInstanceForBrowserContext`,
which runs during profile keyed-service build. Profile pref-store init
waits on `PolicyService::IsInitializationComplete`, which waits on
`BraveProfilePolicyProvider::IsInitializationComplete`, which gates on
`manager->IsInitialized()` -- and that's only flipped by the lazy call
that itself is gated on profile build. Cycle manifests as "stuck on
profile selection screen" for some users.
Initialize the manager eagerly at the end of `BraveBrowserProcessImpl::Init()`,
right next to the existing `AdBlockOnlyModePolicyManager::Init` call. The
factory's lazy `if (!IsInitialized()) Init(...)` block stays as a backstop
for tests that bypass `BraveBrowserProcessImpl`.
Resolves: https://github.com/brave/brave-browser/issues/55733
Calling chrome::ShowSettingsSubPageForProfile inline from the SKU
CredentialSummary mojo reply runs during the same dispatch frame that
just fired SetPurchased() — which reloads managed prefs via the policy
provider observer chain. Opening a settings tab synchronously from that
mid-cascade state has produced BackupRefPtr dangling raw_ptr crashes
when the Refresh button on account.brave.com first detects a purchase.
Set did_open_origin_settings_ before posting and let the helper run on
the next loop iteration; the WeakPtr guards against the service being
torn down between the post and the run.
Also drop a stray LOG(ERROR) debug print left in OnCredentialSummary.
Fixesbrave/brave-browser#55632
The GetHighestValueInPeriodExcludesDataOutsideWindowAfterDSTTransition
test was disabled on Windows due to possible spurious failures cause by `ScopedTimezoneForTesting` implementation. However, the test fixes its
base time and timezone directly, so it is not affected by spurious failures.
Remove the Windows only `MAYBE_` guard to enable the test on all platforms.
Originally, the PolkadotUnsignedTransfer was authored so that it could be stored
inside of the TxMeta structures used by Wallet. Unfortunately, this created a
reliance of chain metadata where it shouldn't exist so it was abandoned. The
code currently serves no production-facing purpose and as such should be
removed.
We update only one test and change it to instead examine the call indices and
ss58 prefix used by the chains (mainnet vs testnet).
The PR fixes crash on Android when opening a new tab with dynamic NTT
after the Chromium 149 bump, caused by passing null as attach params.
Co-Authored-By: serg@brave.com
Replaces manual `AddObserver/RemoveObserver` pairs in `ViewCounterService`,
`NTPBackgroundImagesBridge`, and `NTPBackgroundImagesServiceWaiter` with
base::ScopedObservation so observer cleanup is automatic and the
lifecycle is consistent with the rest of the codebase.
The `step_text` key is only ever set if an exception was raised while executing the iOS simulator test runners, we should ensure that all exceptions result in a failure to catch issues such as `AppLaunchError` which occurs when the test suite crashes and fails to run any tests
Fixup DetachedTabPrivacyHelper.
- Include subframes in PageData so subframe scriptlets are built
- Inject deAmp, request blocking and tracking stats scripts
The test captures a const reference to a ServiceWorkerRunningInfo
map entry, stops the service worker (which removes the entry), then
reads from the dangling reference in OnStoppedSync(). MSan catches
this as use-of-uninitialized-value. Same root cause as the sibling
test already filtered (issue #54959).
Upstream Chromium test, stable upstream (0.3% flake rate, LUCI
Analysis 30-day lookback). No Brave modifications in the test area.
Resolves https://github.com/brave/brave-browser/issues/55396