- 15 Aug, 2018 40 commits
-
-
Christopher Cameron authored
Because BridgedNativeWidget will be living in its own process, it will be necessary for BridgedNativeWidget to create its own NSWindow, instead of having one be provided during initialization. This requires substantial refactoring, and two of the NSWindow classes that BridgedNativeWidget are provided live in chrome/browser/ui, and will need moving to a new location. For the moment, allow either creating a new NSWindow or specifying an NSWindow via the methods BridgedNativeWidget::CreateWindow and BridgedNativeWidget::SetWindow. This unblocks cross-process development. Also, be explicit that BridgedNativeWidget's NSWindow is always a NativeWidgetMacNSWindow or a sub-class thereof. The only exceptions to this are in tests, so merge testing functionality into NativeWidgetMacNSWindow. Bug: 859152 Change-Id: I61edb34d773fc11dff921da5edb34da1e306105b Reviewed-on: https://chromium-review.googlesource.com/1175051 Commit-Queue: ccameron <ccameron@chromium.org> Reviewed-by:
Elly Fong-Jones <ellyjones@chromium.org> Cr-Commit-Position: refs/heads/master@{#583350}
-
Aldo Culquicondor authored
The compositor delegate will own and manage the surfaces, viewports and buffers. The newly added public interface restricts the manipulation of contexts to the client (RenderLoop). A native GL implementation is provided. Bug: 767282 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I23138f85ba859a64cbcc60c2d8f32757ec941f22 Reviewed-on: https://chromium-review.googlesource.com/1173394Reviewed-by:
Michael Thiessen <mthiesse@chromium.org> Commit-Queue: Aldo Culquicondor <acondor@chromium.org> Cr-Commit-Position: refs/heads/master@{#583349}
-
perfetto-chromium-autoroll authored
https://android.googlesource.com/platform/external/perfetto.git/+log/624fec3ddbea..2ae6f8e569a3 git log 624fec3ddbea..2ae6f8e569a3 --date=short --no-merges --format='%ad %ae %s' 2018-08-15 primiano@google.com Merge "TraceProcessor: fix cost estimation of process and thread vtables" Created with: gclient setdep -r src/third_party/perfetto@2ae6f8e569a3 The AutoRoll server is located here: https://perfetto-chromium-roll.skia.org Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=perfetto-bugs@google.com Change-Id: Ie9187cade7c824c5dae44c896b28ba0cb583e6eb Reviewed-on: https://chromium-review.googlesource.com/1174808Reviewed-by:
perfetto-chromium-autoroll <perfetto-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Commit-Queue: perfetto-chromium-autoroll <perfetto-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#583348}
-
Weilun Shi authored
Fixing the focusing issue when mixing up both keyboard navigation mode and mouse navigation mode. Focus on the first available option when we are on the mouse navigation mode but use tab or arrow key at the first time. Bug: 873071 Change-Id: I0a18ac3a92bff9eafef5788b4ced5755d4fa196e Reviewed-on: https://chromium-review.googlesource.com/1173754Reviewed-by:
Kristi Park <kristipark@chromium.org> Commit-Queue: Weilun Shi <sweilun@chromium.org> Cr-Commit-Position: refs/heads/master@{#583347}
-
John Budorick authored
Change-Id: If8206c443eee80987c4528d6aaeb58fb348dc57b Reviewed-on: https://chromium-review.googlesource.com/1176113Reviewed-by:
Christian Fremerey <chfremer@chromium.org> Reviewed-by:
agrieve <agrieve@chromium.org> Reviewed-by:
Peter Wen <wnwen@chromium.org> Commit-Queue: John Budorick <jbudorick@chromium.org> Cr-Commit-Position: refs/heads/master@{#583346}
-
Xida Chen authored
Mark virtual/user-activation-v2/fast/events/touch/touch-latched-scroll-node-removed.html flaky on Mac TBR=wjmaclean@chromium.org NOTRY=true Bug: 869726 Change-Id: Iefe61d4ed93988b886a5c00f8f3574d9c3f59477 Reviewed-on: https://chromium-review.googlesource.com/1176215Reviewed-by:
Xida Chen <xidachen@chromium.org> Commit-Queue: Xida Chen <xidachen@chromium.org> Cr-Commit-Position: refs/heads/master@{#583345}
-
John Abd-El-Malek authored
This was accidentally introduced in r580764. Bug: 873785 Cq-Include-Trybots: luci.chromium.try:linux_mojo Change-Id: Ie1e1aa9321f9863c5036a38d88cc7ca560127c00 Reviewed-on: https://chromium-review.googlesource.com/1175549 Commit-Queue: Sergey Ulanov <sergeyu@chromium.org> Reviewed-by:
Sergey Ulanov <sergeyu@chromium.org> Cr-Commit-Position: refs/heads/master@{#583344}
-
Xida Chen authored
It has been flaky for a while TBR=wjmaclean@chromium.org NOTRY=true Bug: 874538 Change-Id: Ia598f4367f0d90ff407395ffe69fb96ed707b59c Reviewed-on: https://chromium-review.googlesource.com/1176208Reviewed-by:
Xida Chen <xidachen@chromium.org> Commit-Queue: Xida Chen <xidachen@chromium.org> Cr-Commit-Position: refs/heads/master@{#583343}
-
Vlad Tsyrklevich authored
cfi-icall is now enabled on all of the CFI bots so a separate bot is no longer required. Bug: 874112 Change-Id: I4d3b066c8622e03f1085d06a3ea1c638e22c960e Reviewed-on: https://chromium-review.googlesource.com/1174912 Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org> Reviewed-by:
Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#583342}
-
Stephen McGruer authored
The crash that these were meant to help debug has been long fixed. They are no longer needed. Bug: 770886 Change-Id: I7abf99be6cd00b9ae9a99934edaca95fe48e638d Reviewed-on: https://chromium-review.googlesource.com/1174992Reviewed-by:
Lei Zhang <thestig@chromium.org> Commit-Queue: Stephen McGruer <smcgruer@chromium.org> Cr-Commit-Position: refs/heads/master@{#583341}
-
Yuwei Huang authored
This CL removes old audio playback code that is no longer in used. Bug: 868088 Change-Id: I0dc350fc6d7fcabe89c6c7deba1da34fe53c3667 Reviewed-on: https://chromium-review.googlesource.com/1171855Reviewed-by:
Joe Downing <joedow@chromium.org> Commit-Queue: Yuwei Huang <yuweih@chromium.org> Cr-Commit-Position: refs/heads/master@{#583340}
-
Eugene But authored
These are existing User Actions, which were not logged on iOS. Bug: None Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: Id1700628a2c54dbd2ba2bbc43bf631a9e474b1ff Reviewed-on: https://chromium-review.googlesource.com/1175208Reviewed-by:
Peter Lee <pkl@chromium.org> Commit-Queue: Eugene But <eugenebut@chromium.org> Cr-Commit-Position: refs/heads/master@{#583339}
-
Tim Dresser authored
Bug: None Change-Id: I00f80dc9050109303747534b78216b67a9f310d3 Reviewed-on: https://chromium-review.googlesource.com/1176109Reviewed-by:
Mark Pearson <mpearson@chromium.org> Commit-Queue: Timothy Dresser <tdresser@chromium.org> Cr-Commit-Position: refs/heads/master@{#583338}
-
Becky Zhou authored
Use AppCompatButton in modal_dialog_view so that the text appearance can be applied to pre L devices. Bug: 872212 Change-Id: Ib84be209d086306983267cff5be0151202093ad6 Reviewed-on: https://chromium-review.googlesource.com/1173450 Commit-Queue: Becky Zhou <huayinz@chromium.org> Reviewed-by:
Theresa <twellington@chromium.org> Cr-Commit-Position: refs/heads/master@{#583337}
-
Ned Nguyen authored
1) Merge the abstract class _Top25RuntimeStats with V8Top25RuntimeStats since it's the only one inherit from the abstract class. 2) Remove the disabling Android in perf/expectations.config & switch to use SUPPORTED_PLATFORMS which is meant for permanent disabling logic like this case Change-Id: I07fecfd3d9cce3e7d35ac71b274bb9416f0cdcac TBR=perezju@chromium.org Change-Id: I07fecfd3d9cce3e7d35ac71b274bb9416f0cdcac Reviewed-on: https://chromium-review.googlesource.com/1175928Reviewed-by:
Ned Nguyen <nednguyen@google.com> Commit-Queue: Ned Nguyen <nednguyen@google.com> Cr-Commit-Position: refs/heads/master@{#583336}
-
Avi Drissman authored
This relands 3dcaec6e with a fix to the test. BUG=873080 TEST=as in bug Change-Id: Ie68b197fc6b92447e9633f233354a68fefcf20c7 Reviewed-on: https://chromium-review.googlesource.com/1175925Reviewed-by:
Sidney San Martín <sdy@chromium.org> Commit-Queue: Avi Drissman <avi@chromium.org> Cr-Commit-Position: refs/heads/master@{#583335}
-
Filip Gorski authored
* While investigating the problem of not reporting triggering on some pages, I discovered a race condition in fetching canonical URL -> in some cases the tab does not provide correct infromation yet. * This patch postpones fetching of canonical URL until later, when we are about to perform the fetch. * Fetching URLs would also cause some problems with marking fetch as in progress, which could prevent actual fetch from happening. * It appears to also be positively affecting the EoC start time when loading a page for the first time. Bug: 873004, 841811 Change-Id: Ic7e91579d083efd54a695a10e251ec245797ba84 Reviewed-on: https://chromium-review.googlesource.com/1175108Reviewed-by:
Patrick Noland <pnoland@chromium.org> Reviewed-by:
Theresa <twellington@chromium.org> Commit-Queue: Filip Gorski <fgorski@chromium.org> Cr-Commit-Position: refs/heads/master@{#583334}
-
Ryan Daum authored
- Issue 'tap' gesture events while panning or zooming, to avoid idle screen during interaction. - Properly disable magnification when magnification gesture is turned off. Bug: internal b/112615721 Bug: internal b/112612596 Test: manual Change-Id: If6ec273ddab0f70d0c56743e38c0c40b49a579c4 Reviewed-on: https://chromium-review.googlesource.com/1175854Reviewed-by:Alex Sakhartchouk <alexst@chromium.org> Reviewed-by:
Randy Rossi <rmrossi@chromium.org> Commit-Queue: Ryan Daum <rdaum@chromium.org> Cr-Commit-Position: refs/heads/master@{#583333}
-
Lei Zhang authored
TBR=tommycli@chromium.org NOTRY=true NOTREECHECKS=true Change-Id: Ib8a3268f5eefc51491ae49ef2c942c0dcb6b7a8f Reviewed-on: https://chromium-review.googlesource.com/1176192Reviewed-by:
Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/master@{#583332}
-
Emil A Eklund authored
https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz/+log/b6fdcf4f8bd09e065c767939125861c9dc8ff18f..7112c6413ca7a1773847fe258145cc5162420953 Bug: 873568 Change-Id: Ia6a7c9baa0bdce0bc3d4dc50c75c70c0dbbb6555 Tbr: behdad@chromium.org Reviewed-on: https://chromium-review.googlesource.com/1174951 Commit-Queue: Emil A Eklund <eae@chromium.org> Reviewed-by:
Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#583331}
-
bsheedy authored
Updates the script used for bisecting VR/AR regressions to support bisecting binary size regressions between builds with and without VR or AR support. Bug: 874240 Change-Id: Ib37926c0d3d77570206ff267d2aab20d86a1f439 Reviewed-on: https://chromium-review.googlesource.com/1175146Reviewed-by:
Tibor Goldschwendt <tiborg@chromium.org> Commit-Queue: Brian Sheedy <bsheedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#583330}
-
Ryan Sleevi authored
Presently, CertVerifier::Verify() takes a series of per-verification flags that express the ways in which certificate verification may be configured. However, these flags represent overall verifier-wide configuration, in that they are tied to user preferences or enterprise policies. These flags are plumbed through the layers by virtue of SSLConfig, but generally do not change between verifications. As part of making the verification configuration opaque to callers, move the flags from being something passed in each verifier-call to something that is implicitly handled on the CertVerifier, via the CertVerifier::Config. All verifications started will share the same configuration, while allowing callers to focus on the per-verification parameters that are unique (such as the hostname or certificate). This sets the stage for moving the CRLSet in as explicit CertVerifier configuration, rather than passed-per-call, as well as to having the socket pools more intelligently respond to these configuration changes. TBR: zea@chromium.org, pmarko@chromium.org Bug: 848277, 854635 Cq-Include-Trybots: luci.chromium.try:linux_mojo;master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: I2098783f1c4100720438e2dea447a24789ebf8c9 Reviewed-on: https://chromium-review.googlesource.com/1122709 Commit-Queue: Ryan Sleevi <rsleevi@chromium.org> Reviewed-by:
Nicolas Zea <zea@chromium.org> Reviewed-by:
Kinuko Yasuda <kinuko@chromium.org> Reviewed-by:
Daniel Cheng <dcheng@chromium.org> Reviewed-by:
Matt Menke <mmenke@chromium.org> Reviewed-by:
Sergey Ulanov <sergeyu@chromium.org> Reviewed-by:
Richard Coles <torne@chromium.org> Reviewed-by:
mark a. foltz <mfoltz@chromium.org> Reviewed-by:
Eric Roman <eroman@chromium.org> Reviewed-by:
Helen Li <xunjieli@chromium.org> Cr-Commit-Position: refs/heads/master@{#583329}
-
Lei Zhang authored
The NaCl plugin is built into the Chromium binary, so it does not have a real path. Instead of calling PathService::Get(chrome::FILE_NACL_PLUGIN) to get the fake path, just use a constant like the PDF plugin. Change-Id: I7487f6be7ddbdbecf6255b6faa5b104593e6193e Reviewed-on: https://chromium-review.googlesource.com/1175546 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by:
Justin TerAvest <teravest@chromium.org> Cr-Commit-Position: refs/heads/master@{#583328}
-
Sergey Ulanov authored
The AutoRoll server is located here: https://fuchsia-sdk-chromium-roll.skia.org Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=luci.chromium.try:fuchsia_arm64_cast_audio;luci.chromium.try:fuchsia_x64_cast_audio TBR=cr-fuchsia+bot@chromium.org Change-Id: I99a21f1060e81a5f7930d6ec6b6b269f76a23c41 Reviewed-on: https://chromium-review.googlesource.com/1174011 Commit-Queue: Sergey Ulanov <sergeyu@chromium.org> Reviewed-by:
Sergey Ulanov <sergeyu@chromium.org> Reviewed-by:
Fuchsia SDK Autoroller <fuchsia-sdk-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#583327}
-
Lei Zhang authored
third_party/mesa/src is no longer checked out as of r582655. BUG=873321 Change-Id: I6ee0dabd58b77a2c1995b7d42df4fb4df909884c Reviewed-on: https://chromium-review.googlesource.com/1175403Reviewed-by:
Alexis Hétu <sugoi@chromium.org> Reviewed-by:
Scott Violet <sky@chromium.org> Reviewed-by:
Peter Collingbourne <pcc@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/master@{#583326}
-
Lei Zhang authored
Make methods private when possible. Move methods that can go into an anonymous namespace into one. Change-Id: Ia921b6539aae45ce145c6a4583ebdbb7b9611707 Reviewed-on: https://chromium-review.googlesource.com/1174996Reviewed-by:
Bernhard Bauer <bauerb@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/master@{#583325}
-
Lei Zhang authored
Make it base::FilePath::CharType instead of char because that is what all its users expect. Remove uses of base::FilePath::FromUTF8Unsafe(). Do the same for ChromeContentClient::kNotPresent. Change-Id: Ifae02593f05eec02d783cc865a5c29441f606ecb Reviewed-on: https://chromium-review.googlesource.com/1175498Reviewed-by:
Tommy Li <tommycli@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org> Cr-Commit-Position: refs/heads/master@{#583324}
-
chaopeng authored
This patch fixes viewport scrollbars flashing page issue. The issue is causing by it has incorrect effect node. In this patch, we create the effect and correct the position for viewport scrollbars. Bug: 870520 Cq-Include-Trybots: luci.chromium.try:linux-blink-gen-property-trees;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I954d6cddb36d811f693b597644b65ee175137dcf Reviewed-on: https://chromium-review.googlesource.com/1172919 Commit-Queue: Jianpeng Chao <chaopeng@chromium.org> Reviewed-by:
Philip Rogers <pdr@chromium.org> Reviewed-by:
David Bokan <bokan@chromium.org> Cr-Commit-Position: refs/heads/master@{#583323}
-
Koji Ishii authored
The only difference from legacy at this point is when 'box-shadow' is applied to the '::first-line' style. Edge and Gecko do not support it. NOTRY=true Bug: 714962 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Change-Id: I2fbfba36b9a606ea4a1f0e40dada8102fd0ed623 Reviewed-on: https://chromium-review.googlesource.com/1175755Reviewed-by:
Emil A Eklund <eae@chromium.org> Commit-Queue: Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#583322}
-
Xida Chen authored
The current code has a type, it should be DISABLED_xxx TBR=wjmaclean@chromium.org NOTRY=true Bug: 872340 Change-Id: I910b6913eace9b4710a7aac990d783f0f842beee Reviewed-on: https://chromium-review.googlesource.com/1176176Reviewed-by:
Xida Chen <xidachen@chromium.org> Commit-Queue: Xida Chen <xidachen@chromium.org> Cr-Commit-Position: refs/heads/master@{#583321}
-
Pavel Shmakov authored
This is a follow-up to https://chromium-review.googlesource.com/c/chromium/src/+/1172425 Another memory leak was found in ToolbarProgressBar. It happens due because animations are not cleaned up when activity is destroyed. The references to animation listeners get stuck in android.animation.AnimationHandler, which is a singleton. From the animation listeners the chain of references leads all the way up to ChromeTabbedActivity instances. So this leak happens when user closes Chrome while the page is loading, and then the system kills the activity. It's easily reproducible with "Don't keep activities" option. Bug: 872661 Change-Id: I6eebc11a575d45c899f37be5ca7a6862923f0ee5 Reviewed-on: https://chromium-review.googlesource.com/1175795Reviewed-by:
Matthew Jones <mdjones@chromium.org> Commit-Queue: Pavel Shmakov <pshmakov@chromium.org> Cr-Commit-Position: refs/heads/master@{#583320}
-
tzik authored
The declarations of move ctors and assigns of DisjointRangeLockManager::LockRequest, ScopesLockManager::ScopeLock and ResolveProxyMsgHelper::PendingRequest have `noexcept` specifier, but their implementations don't. This is OK in C++14, but causes compile errors in C++17. This CL adds missing `noexcept` for them. Bug: 752720 Change-Id: I849f613c63c990afd23c590a9567069b772146d1 Reviewed-on: https://chromium-review.googlesource.com/1175656Reviewed-by:
Kinuko Yasuda <kinuko@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#583319}
-
sangwoo.ko authored
Replace old API with new API. This CL is a refactor ans has no intended behavior change. Bug: 842194 Change-Id: I46e242b51c99ef720ee6700ab6bf0fdc8c2a4720 Reviewed-on: https://chromium-review.googlesource.com/1174582Reviewed-by:
Erik Chen <erikchen@chromium.org> Reviewed-by:
Scott Violet <sky@chromium.org> Commit-Queue: Sang Woo Ko <sangwoo108@chromium.org> Cr-Commit-Position: refs/heads/master@{#583318}
-
Elly Fong-Jones authored
Bug: 855127 Change-Id: I2942e122373c210bd0bceaa59791e2619186f79b Reviewed-on: https://chromium-review.googlesource.com/1175935Reviewed-by:
Avi Drissman <avi@chromium.org> Commit-Queue: Elly Fong-Jones <ellyjones@chromium.org> Cr-Commit-Position: refs/heads/master@{#583317}
-
Xida Chen authored
Flakiness dashboard shows that it has been flaky for a while: https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=components_unittests&tests=SslCastSocketTest.TestMessageEndToEndWithRealSSL TBR=wjmaclean@chromium.org NOTRY=true Bug: 874491 Change-Id: I5c0fe9656f3c9e74d21660db6430899e4824c6d5 Reviewed-on: https://chromium-review.googlesource.com/1176170Reviewed-by:
Xida Chen <xidachen@chromium.org> Commit-Queue: Xida Chen <xidachen@chromium.org> Cr-Commit-Position: refs/heads/master@{#583316}
-
Chromium WPT Sync authored
Using wpt-import in Chromium a3a0b7f4. With Chromium commits locally applied on WPT: 7dad0f17 "Added new Sec-Metadata Web Platform Tests." Build: https://ci.chromium.org/buildbot/chromium.infra.cron/wpt-importer/22763 Note to sheriffs: This CL imports external tests and adds expectations for those tests; if this CL is large and causes a few new failures, please fix the failures by adding new lines to TestExpectations rather than reverting. See: https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md NOAUTOREVERT=true TBR=raphael.kubo.da.costa@intel.com No-Export: true Change-Id: I2587d254f484b32739d6192d72369cbe79b3fc13 Reviewed-on: https://chromium-review.googlesource.com/1175858 Commit-Queue: Blink WPT Bot <blink-w3c-test-autoroller@chromium.org> Reviewed-by:
Blink WPT Bot <blink-w3c-test-autoroller@chromium.org> Cr-Commit-Position: refs/heads/master@{#583315}
-
Xida Chen authored
This reverts commit 4efeaf16. Reason for revert: <INSERT REASONING HERE> Causes a lot of unit test failure: https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/linux-chromeos-dbg/7319 Original change's description: > [ozone/Wayland] Implement Wayland dmabuf approach. > > This patch makes it possible to run Wayland backend with a separate gpu process. > That is, WaylandConnection is not available on the GPU process side > and so buffers cannot be created that way. > > To overcome this, a Wayland dmabuf based approach is used: > - On the gpu process side, gl::Surfaceless is used, which is > implemented by GbmSurfaceless. It differs from the one provided by > the Ozone/Gbm backend (the difference is that there are no frame > buffers, because DRM render node is used instead.) Basically, > on the GPU side, a gbm_bo buffer is created and its file descriptor is > shared with the WaylandConnection, which then imports a wl_buffer and attaches > it to a requested surface. > > TL:DR; > - There are two communicating parties - WaylandConnection, which establishes > a connection with Wayland, and a WaylandConnectionProxy, which serves > the GPU process with a forwarding mojo connection to the WaylandConnection. > In single process mode, WaylandConnectionProxy just forwards calls to > WaylandConnection, and GLSurfaceEGL is used. In a multi process mode, > the l::Surfaceless and dmabuf based approach is used instead. > > - The communication is established in the following way: > when WaylandConnectionConnector receives a OnGpuServiceLaunched, > it binds WaylandConnection and WaylandConnectionProxy interfaces, and > calls to WaylandConnectionProxy to set a mojo ptr to the WaylandConnection. > The WaylandConnectionProxy receives the pointer, stores it and also stores > a task runner to make sure mojo is called on the right sequence. > > How buffers are created: > - Basically, the GPU process doesn't know about Wayland. What it does > is that it creates a GbmBuffer utilizing a DRM render node (it can't use > a drm card device, because authentication requires master access), takes > a gbm_bo file descriptor and shares it via a mojo call with the > WaylandConnection, which then uses the zwp_linux_dmabuf interface to > import a wl_buffer, which can be attached to a needed WaylandWindow > and commit-ed to show contents. That is, the gbm framework is used to share buffers > between the browser and the GPU process, where the browser process can read from them and > the GPU process is able to read and write using gl commands. > > How buffers are committed: > - GbmSurfaceless uses a normal procedure and submits frames on > SwapBuffersAsync call: a frame is created and scheduled as an overlay plane, > once scheduling is done, a widget is taken from that pending plane and > WaylandConnection::ScheduleBufferSwap is called. In order to specify, which > wl_buffer must be used, gbm bo handle is used as a buffer id. > Once the WaylandConnection receives a buffer swap call, it finds a buffer by a > buffer id and attaches that buffer to a WaylandWindow, which is also found > by a widget passed to it. PresentationCallback is not used and will be > enabled in the future. > > The missing feature is the software rasterization. That is, the gbm buffers cannot be > mmap'ed using unix mmap method. Thus, it's impossible to get a mapped memory range and let the cpu > write to it. I think this problem can be resolved in the downstream projects in different ways > but these solutions are not generic enough to be upstreamed. > > Another missing feature is presentation feedback. This will be implemented in follow up > CLs. > > COMPILE= compiles only with third_party minigbm now. For example, add use_intel_minigbm=true > if intel gpu is ozone_platform_wayland=true. Using system libgbm will be available soon. > TEST=run and compile ozone/wayland. > Bug: 820047 > > Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel > Change-Id: Id351edd9883a765d3e549543a50175299108c6ab > Reviewed-on: https://chromium-review.googlesource.com/1057468 > Reviewed-by: Scott Violet <sky@chromium.org> > Reviewed-by: Antoine Labour <piman@chromium.org> > Reviewed-by: Ilya Sherman <isherman@chromium.org> > Reviewed-by: Tom Sepez <tsepez@chromium.org> > Reviewed-by: Robert Kroeger <rjkroege@chromium.org> > Commit-Queue: Maksim Sisov <msisov@igalia.com> > Cr-Commit-Position: refs/heads/master@{#583265} TBR=rjkroege@chromium.org,reveman@chromium.org,sky@chromium.org,spang@chromium.org,isherman@chromium.org,tsepez@chromium.org,piman@chromium.org,msisov@igalia.com Change-Id: I69eadb7666d275dabeceff306e3e5cde62ddf795 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 820047 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/1175468Reviewed-by:
Xida Chen <xidachen@chromium.org> Commit-Queue: Xida Chen <xidachen@chromium.org> Cr-Commit-Position: refs/heads/master@{#583314}
-
Min Chen authored
Bug: 847587 Change-Id: Iab2a11d1f11b6b6b703d77e7c94a01b564fd07d1 Reviewed-on: https://chromium-review.googlesource.com/1175411Reviewed-by:
Mitsuru Oshima <oshima@chromium.org> Commit-Queue: Min Chen <minch@chromium.org> Cr-Commit-Position: refs/heads/master@{#583313}
-
Tommy Steimel authored
This CL adds a try/catch block to prevent SecurityExceptions from crashing media opened via the media intent handler. In certain cases, we don't have permission to query for the file display name. In those cases, instead of crashing we will instead just fall back to having no display name. Bug: 874149 Change-Id: I18ed34655e093cf04c9cb745eeeb6182c8fe28b6 Reviewed-on: https://chromium-review.googlesource.com/1175212Reviewed-by:
Ted Choc <tedchoc@chromium.org> Reviewed-by:
agrieve <agrieve@chromium.org> Commit-Queue: Tommy Steimel <steimel@chromium.org> Cr-Commit-Position: refs/heads/master@{#583312}
-
Oksana Zhuravlova authored
This change moves the logic from DeviceMotionDispatcher into DeviceMotionEventPump and removes DeviceMotionDispatcher. DeviceMotionController now uses DeviceMotionEventPump directly,and a separate instance of DeviceMotionEventPump is created forevery document. Webkit layout tests were updated to reflect this, and webkit unit tests have been updated to use a MockDeviceMotionController. Bug: 861902 Change-Id: Ic9a33b26c6c5771a3a7312724f1056ef311ea6a3 Reviewed-on: https://chromium-review.googlesource.com/1167994Reviewed-by:
Reilly Grant <reillyg@chromium.org> Reviewed-by:
Tim Volodine <timvolodine@chromium.org> Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org> Cr-Commit-Position: refs/heads/master@{#583311}
-