Patch by Alexey Knyazev.
Rename to WEBGL_blend_func_extended per agreement in the working
group, because there are differences compared to the OpenGL ES version
of the extension.
Update some test expectations; they will need to be revised again the
next time the WebGL conformance suite is rolled into Chromium.
The extension will be promoted to community approved, per the working
group's approval, in a separate CL.
Bug: 1473838
Change-Id: Ie9a635b9e9bc69fdf1f4f592b24da682a0645a0a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5214661
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249629}
The current FedCM dialog inherits a bubble dialog so a lot of the code
refers to the dialog as the bubble. For button flow mode, we would like
the FedCM dialog to inherit a modal dialog so this patch removes most
mentions of bubble in the UI code.
1. Plumbs rp_mode to UI code
2. Renames bubble_widget to widget
3. Renames bubble_view to account_selection_view
4. Changes rp_context to not pass by reference
Low-Coverage-Reason: TRIVIAL_CHANGE Only plumbing and renaming
Bug: 1518356
Change-Id: I0e71f8bd713cca005199d5dd33b87dba9d1d0191
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5196014
Reviewed-by: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: Zachary Tan <tanzachary@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249613}
This moves DownloadTargetInfo into components/download and adjusts the
callback for DownloadItemImplDelegate::DetermineDownloadTarget() to
use it. This opens the door to add more items to DownloadTargetInfo
without having to to a ton of plumbing.
Bug: 1510399
Change-Id: I3946c68a9826f6f8f272e53536a8ee21f193aab8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5213708
Owners-Override: Avi Drissman <avi@chromium.org>
Reviewed-by: Min Qin <qinmin@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249598}
The "Import Attributes" ECMAScript proposal has been updated to allow
attributes to affect how modules are fetched, so that HTML can use them
to set the proper destination when fetching CSS and JSON modules [1].
This has two major effects:
- the `Accept` HTTP header is now specific to the module type, rather
than simply being `*/*`
- we use the relevant CSP policy rather than always script-src.
This patch only implements this change for CSS modules. The change for
JSON modules will come in a later patch, as it's more complex because it
requires introducing a new fetch destination [2].
It passes the relevant wpt tests [3] when using --js-flags="--harmony_import_attributes.
[1]: https://github.com/whatwg/html/pull/9486
[2]: https://github.com/whatwg/fetch/pull/1691
[3]: https://github.com/web-platform-tests/wpt/pull/41665
Bug: 1491336
Change-Id: I4abf09dd828e5ded2b685be6da231c3fca90e19f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4949956
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Nicolò Ribaudo <nribaudo@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1249592}
Replace getMinZoomLevel() and getMaxZoomLevel() with
getSupportedZoomLevels(), which returns a monotonically increasing
sequence with all supported levels.
Modify setZoomLevel() to only accept values deemed "supported".
These are the values the user can normally set through their interaction
with the browser's native UX.
The benefits of this approach are:
1. Ensures apps only set "natural" values that the browser has
determined it can handle well, and which are treated reasonably by
the browser's native UX.
2. Allow getZoomLevel() to be modified to work without a prompt.
(Without the current change, there'd be a minor concern over one
origin setting an unusual value and another one reading it and seeing
it as an ID of sorts. By strictly limiting legal values, this
concern, which was minor to begin with, is entirely eliminated.)
Bug: 1466247
Change-Id: I529db107da86880d0c8f7f443681c8af27167c99
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5214425
Reviewed-by: Tove Petersson <tovep@chromium.org>
Commit-Queue: Elad Alon <eladalon@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249569}
If an IdP returns unparsable response in the id assertion endpoint,
currently we treat it as a server error. Rather, we should only proceed
with server error if the response code is 500 or the IdP explicitly
uses "server_error" in the Error API.
Bug: 1519671
Change-Id: Ia671c25fdfc17763418b0ea29004137f2413e700
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5214925
Auto-Submit: Yi Gu <yigu@chromium.org>
Commit-Queue: Yi Gu <yigu@chromium.org>
Reviewed-by: Zachary Tan <tanzachary@chromium.org>
Commit-Queue: Zachary Tan <tanzachary@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249557}
A new, frame-specific interestGroupAuctionEvent is added, which reports auction configuration, structure of component auctions, and names each auction (including component ones) with a unique ID.
The existing interestGroupAccessed events that take place as part of auctions now specify which auction they are part of, and provide information on bid values. Bids taking place in top-level auctions are now also reported.
Bug: 1516642
Fuchsia-Binary-Size: Size increase is unavoidable.
Change-Id: I6109f2e3d60d52421b5be445f19e5faa74ab9e3c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5153907
Commit-Queue: Maks Orlovich <morlovich@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: Ayu Ishii <ayui@chromium.org>
Reviewed-by: Russ Hamilton <behamilton@google.com>
Cr-Commit-Position: refs/heads/main@{#1249552}
Add ReloadSelectionCrash test, which fails consistently with the
same error as the flaky DeleteSelectionCrash and revealed three
errors in total -- all related to dumping the tree or DCHECKS therefore
will not happen in production. The errors occurred under the same race condition: when the tree dump happens right after the initialization of the AXTree and right before the AXTree has data.
The changes in this CL:
- Removing a DCHECK from ax_selection.html that checks whether the AXTreeID has been set. Upon initialization, the AXTreeID will be set to AXTreeIDUnknown intentionally, and this is not an error state.
- When dumping the IA2 tree on Windows, handle this race condition gracefully instead of crashing: when there is no AXTreeManager, return an empty tree.
- When dumping the UIA tree, handle this race condition gracefully instead of crashing: when there is no AXTreeManager, return an empty tree.
Bug: 1483778
Change-Id: I8a7d37763d983a0da20f132985479dfb91ac3320
Cq-Include-Trybots: luci.chromium.try:linux-asan-dbg,linux-asan-rel,mac-asan-rel,win-asan-rel,win-asan
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5147927
Reviewed-by: David Tseng <dtseng@chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249537}
gesture plumbing.
The gesture events are sent from //chrome layer thus we need a
content-public interface to forward the events into content-internal.
The four APIs on the animation manager are the minimum amount of info
that //content needs to know, in order to animate a history
navigation.
The actual impl BackForwardTransitionAnimationManagerAndroid is at
WebContents level because it is directly owned by the
WebContentsViewAndroid, and directly interacts with the
cc::slim::layer that hosts all the web page widgets.
This CL includes some stub implementations of
BackForwardTransitionAnimationManagerAndroid and the pimpl
AnimationManagerImpl.
This CL and its follow-up only animates the cross-doc navigations on the
primary main frame.
The AnimationManager DD:
https://docs.google.com/document/d/1UI9jHET4W6rBPgSbre-q75fcK0wEeGPbclG0-krxZn0/edit#bookmark=id.vu6j6j5yy9zv
(chromium access)
Low-Coverage-Reason: TESTS_IN_SEPARATE_CL
Bug: 1509888
Change-Id: I0b01673afc43d34b9c7b12e844b09a49159b7a6d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5113079
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
Commit-Queue: William Liu <liuwilliam@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249525}
crrev.com/c/5145008 addresses most of the flakiness associated with this
test. The one unresolved flake is that sometimes previousOnLineId can be
unexpectedly null. To solve this flake, when a text node is attached,
find its the highest LayoutInline ancestor and mark that object dirty.
Bug: 1367886
Change-Id: Icfa0e9c6877c476430f86bbc5ac232d448ba5fce
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5180532
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Joanmarie Diggs <jdiggs@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1249505}
Specifically the tests TestCharacterExtentsInScrollableInputField and
TestCharacterExtentsInScrollableInputTypeSearchField
These two tests were failing on Windows on the CL:5132040
Moving them to Linux to make debugging them easier.
Change-Id: Ibd3034b29ba405c19789e4398bc2ed6574d04781
Bug: 1519914
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5206272
Reviewed-by: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1249484}
This test was turned off 4 years ago due to being flaky on windows.
The original failure can no longer be accessed.
The expectation files have been updated and it no longer appears to
flake.
Bug: 1047282
Change-Id: Ib89219672be9263a3dd77583236208b6e1eaee5d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5207515
Reviewed-by: Joanmarie Diggs <jdiggs@igalia.com>
Commit-Queue: Valerie Young <spectranaut@igalia.com>
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249468}
This reverts commit d23c94321e.
Retrying based on gpu-fyi-try-mac-nvidia-retina-rel passing and
http://crbug/1518884#c7 that suggests that CI has been seen passing
even before the revert.
Original change's description:
> Automated T* -> raw_ptr<T> rewrite "refresh"
>
> PS1: automated rewrite
> PS2-PS5,PS7: unrewrite to fix compilation
> PS6,PS22: unrewrite non-automated exclusions
> PS8-PS20: apply DanglingUntriaged
> PS21: unrewrite to undo binary size increase
> PS23: remove no-longer-needed RAW_PTR_EXCLUSION, #includes & comments
>
> The code has changed since the "big rewrite" so some exclusions no
> longer apply. But also, the rewriter changed too:
> - No longer applies constexpr-related exclusions (raw_ptr<> support
> was added)
> - union exclusion has been waived for std::optional and absl::variant,
> since they invoke raw_ptr<>'s ctor/dtor correctly
> - Certain paths under //base are no longer need to be excluded, as
> PartitionAlloc/raw_ptr no longer depends on them
>
> This CL also tries to popularize a better format of exclusion reasoning
> comments, e.g.:
> // RAW_PTR_EXCLUSION: #addr-of, #global-scope
> // RAW_PTR_EXCLUSION: Performance reasons ...
> // RAW_PTR_EXCLUSION: #addr-of; Also: Another reason
> One comment per block of fields will suffice, if the reason is the
> same throughout, and no other comments are added in between.
> This format has advantages, like brevity (no more "not a raw_ptr<>
> because" blurb), and improved scriptability.
>
> Bug: 1446392
> Change-Id: I784ff0e461b2105bc01ad7b8570bb462613b24ce
> DanglingUntriaged-notes: automated rewrite.
> AX-Relnotes: n/a.
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5190661
> Reviewed-by: Keishi Hattori <keishi@chromium.org>
> Commit-Queue: Bartek Nowierski <bartekn@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Owners-Override: Keishi Hattori <keishi@chromium.org>
> Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#1247373}
Bug: 1446392, 1518884
Change-Id: I601122a00cb99ce03be6a07d98093da6a5aa3831
DanglingUntriaged-notes: automated rewrite.
AX-Relnotes: n/a.
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5202674
Auto-Submit: Bartek Nowierski <bartekn@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Bartek Nowierski <bartekn@chromium.org>
Owners-Override: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249220}
This CL is a refactor with no intended behavior change.
This CL replaces usage of web_contents_getter and browser_context_getter
with WeakPtrs in several content classes. This removes several potential
sources of UaFs.
Change-Id: I831c3f51730386146433726ce5f3efba08288616
Bug: 1371177
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5208248
Reviewed-by: Devlin Cronin <rdevlin.cronin@chromium.org>
Commit-Queue: Erik Chen <erikchen@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249178}
Use media_session::test::MockMediaSessionMojoObserver and
media_session::test::TestMediaController to replace the mock objects
in MediaHostTest so that the testing/mocking methods can be managed in
services/media_session/public/cpp/test/ only.
Resolve TODOs in TestMediaController.
Bug: 1510700
Change-Id: I6465a41b95295f7bc1d330a7fb60b379a4aea3f0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5208318
Reviewed-by: Tommy Steimel <steimel@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Commit-Queue: Yiren Wang <yrw@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249146}
Updates the GPU Telemetry-based integration tests to use a consistent
tag conflict checker everywhere. Previously, the test expectations
unittests used a custom checker, but the parsing done when actually
running the integration tests used the default one.
Now, everything uses the checker provided by the base
GpuIntegrationTest class.
Requires crrev.com/c/5208130 to land for the custom checker to actually
be used when running tests.
Bug: 1502712
Change-Id: Ib0c30dc37ae66fb8e5d94d38cb34fd7c57e3b0a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5208211
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249135}
The test was failing on Fuchsia because there was an existing
expectations file that was empty. Populate that file with the
results currently provided by Fuchsia. Also add a YieldingParser
version of the test.
Bug: 1309941, 1307316
Change-Id: If6d1e4c26cbcb78a7fd8298f86a6a80424e4ad16
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5206191
Reviewed-by: Aaron Leventhal <aleventhal@chromium.org>
Commit-Queue: Joanmarie Diggs <jdiggs@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1249110}
A few bools that track embedder-initiated opaque url navigations predate
FencedFrameConfig/Properties and can now be simplified.
The old term "opaque url" was a bit ambiguous between two cases:
* Whether we need to look up a fenced frame config that was
already installed in the FencedFrameURLMapping, or construct
FencedFrameProperties without adding a config to the mapping, i.e.
whether the navigation is to a url or a urn:uuid. This is an
implementation distinction, about whether the FencedFrameConfig
constructor makes an IPC to the browser or not.
* Whether the embedder is allowed to see the url a fenced frame
is navigated to (for CSP checks). This corresponds to whether the
FencedFrameConfig's mapped url is opaque or transparent to the
embedder. This is a privacy distinction.
Now we just gate each check on the condition that actually motivates the
check.
Change-Id: I29ba0c933c9cc590c58297868f4dce022f287ba7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5193567
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Garrett Tanzer <gtanzer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249069}
Updates the timeout value used in Change Observers
browsertests to use `action_timeout()` instead of
`tiny_timeout()` to help resolve test flakiness issue.
Bug: 1499075
Change-Id: I4703d419f3bb1a92ab9f373f7266bd61219cd5c0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5205950
Commit-Queue: Christine Hollingsworth <christinesm@chromium.org>
Reviewed-by: Daseul Lee <dslee@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249052}
This reverts commit 73317c46c9.
Reason for revert: Causing a crasher in Lacros, See: crbug.com/1519536
Original change's description:
> Paint controls using Page's color provider
>
> This CL is a follow up on CL:5042390 and CL:5046572, where we plumbed
> the page's color providers and added color provider support for tests.
> This CL uses the plumbed provider to paint by passing it as an argument
> to the NativeTheme Paint function in WebThemeEngineDefault::Paint.
>
> This CL cleans up the previous pipeline which originally saw color
> provider instances exist in Blink::WebThemeEngineDefault. This clean up
> also saw us change the ExecutePageBroadcastMethod call to
> ExecutePageBroadcastMethodForAllPages in
> WebContentsImpl::OnColorProviderChanged.
>
> Additionally, this CL moves the logic of determining the color scheme
> based on the accent color to the ThemePainterDefault and ensures the
> correct color scheme is calculated before painting.
>
> Bug: 1430181
> Change-Id: I0c492bd6c37f63033afbfb6ead1ea6b78387d737
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5068491
> Reviewed-by: Thomas Lukaszewicz <tluk@chromium.org>
> Reviewed-by: Nasko Oskov <nasko@chromium.org>
> Reviewed-by: Alison Maher <almaher@microsoft.com>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Sam Davis Omekara <samomekarajr@microsoft.com>
> Cr-Commit-Position: refs/heads/main@{#1248508}
Bug: 1430181
Change-Id: I6bbf8e37204569a499f03a3cab70f51ea68b7c38
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5212311
Reviewed-by: Thomas Lukaszewicz <tluk@chromium.org>
Commit-Queue: Sam Davis Omekara <samomekarajr@microsoft.com>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Owners-Override: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Alison Maher <almaher@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1249044}
The comment in the CL covers it pretty clearly, but to recap:
The CL upgrading the DatabaseSchema only set the meta_table's Version
Number and not CompatibleVersionNumber. This meant that the second and
onwards usage of the CdmStorageDatabase, a call to
UpgradeDatabaseSchema would be called in OpenDatabase() and would
fail, leading to no writes being allowed, since the SQL would fail as
we are trying to add a column that is already added.
This CL fixes this by fixing the underlying issue, adding a check so
that we can catch this and set the meta_table's version properly, and
adds a unittests to verify that closing and opening the database the
second time around still works as expected.
Bug: 1454512
Change-Id: Ie5a6f160f5b1c192888ed87b7a7069419dd663a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5206434
Auto-Submit: Vikram Pasupathy <vpasupathy@chromium.org>
Reviewed-by: John Rummell <jrummell@chromium.org>
Commit-Queue: Vikram Pasupathy <vpasupathy@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249012}
The initiator's base URL should only be inherited if the initiator's
origin is also inherited.
Note that Chromium's current behavior is not spec-compliant, and allows
about:srcdoc navigations to inherit the wrong base URL. This CL
maintains the spec non-compliance in order to make a minimal change,
while fixing an associated security issue. Follow-up work in
https://crbug.com/1169736 will bring us into alignment with the spec by
disallowing about:srcdoc navigations in the cases that this CL affects,
altogether.
Bug: 1515381
Change-Id: Icb78224c7de58fe3f85b143c16bdb9a2ede4170e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5188098
Commit-Queue: Charlie Reis <creis@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Reviewed-by: W. James Maclean <wjmaclean@chromium.org>
Reviewed-by: Dominic Farolino <dom@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1249009}
Speculative fix for Clusterfuzz bug where
a crash occurs in UpdateLayout() on the line
`factory()->GetAXContext()->UpdateAXForAllDocuments();`.
Fixed: 1487291
Change-Id: Iddd631bf55434df4d927c40a67bd56df98db0e48
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5198449
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1248927}
This will be used to implement a new webdriver command in
an upcoming CL.
Low-Coverage-Reason: affected files just trivially pass through data, no test needed
Bug: 1513520
Change-Id: Ie1e53c149e1f94950a344ca823cc03fe8cb79aed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5199168
Reviewed-by: Nicolás Peña <npm@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1248924}
Roboelectric, which is the library that JUnit calls to emulate the android system and the APIs, didn't support the new APIs in Android U. Now there's support and that's why this test should be in JUnit, which is faster than Javatests.
Change-Id: I6547d0da83940e50094e0c9f0ea94bd75ea3770c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5206572
Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org>
Commit-Queue: Doğancan Emek <dogancanemek@google.com>
Reviewed-by: Alex Mitra <alexmitra@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1248914}