[Linux] Make dbus_xdg::FileTransferPortal asynchronous. [chromium/src : main]

0 views
Skip to first unread message

Thomas Anderson (Gerrit)

unread,
Mar 16, 2026, 6:42:34 PMMar 16
to Lei Zhang, Chromium LUCI CQ, chromium...@chromium.org, Sadrul Chowdhury, dcheng+c...@chromium.org, hashimo...@chromium.org, max+watc...@igalia.com, nickdiego+wa...@igalia.com, ozone-...@chromium.org
Attention needed from Lei Zhang

Thomas Anderson voted Commit-Queue+1

Commit-Queue+1
Open in Gerrit

Related details

Attention is currently required from:
  • Lei Zhang
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I9c73c1f7414c7eedb1396033b179c8f8bd3d0698
Gerrit-Change-Number: 7670558
Gerrit-PatchSet: 3
Gerrit-Owner: Thomas Anderson <thomasa...@chromium.org>
Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
Gerrit-Reviewer: Thomas Anderson <thomasa...@chromium.org>
Gerrit-CC: Sadrul Chowdhury <sad...@chromium.org>
Gerrit-Attention: Lei Zhang <the...@chromium.org>
Gerrit-Comment-Date: Mon, 16 Mar 2026 22:42:25 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
satisfied_requirement
unsatisfied_requirement
open
diffy

Lei Zhang (Gerrit)

unread,
Mar 17, 2026, 8:10:55 PMMar 17
to Thomas Anderson, Lei Zhang, Chromium LUCI CQ, chromium...@chromium.org, Sadrul Chowdhury, dcheng+c...@chromium.org, hashimo...@chromium.org, max+watc...@igalia.com, nickdiego+wa...@igalia.com, ozone-...@chromium.org
Attention needed from Thomas Anderson

Lei Zhang added 26 comments

File components/dbus/xdg/file_transfer_portal.cc
Line 182, Patchset 7 (Latest): raw_ptr<dbus::ObjectProxy> proxy_;
Lei Zhang . unresolved

Mark the pointer as const.

Line 184, Patchset 7 (Latest): size_t file_index_ = 0;
Lei Zhang . unresolved

Put this next to `files_`?

Line 186, Patchset 7 (Latest): std::unique_ptr<FileTransferSession> owned_self_;
Lei Zhang . unresolved

Can the class just omit this, make its dtor private, and call `delete this` when needed?

Line 230, Patchset 7 (Latest): auto callbacks = std::move(*pending_callbacks);
pending_callbacks->clear();
for (auto& cb : callbacks) {
std::move(cb).Run(is_available);
}
Lei Zhang . unresolved

Why does this need to first move the callbacks out of `pending_callbacks`?

File ui/base/x/selection_owner.h
Line 157, Patchset 7 (Latest): base::WeakPtrFactory<SelectionOwner> weak_factory_{this};
Lei Zhang . unresolved

IWYU

Line 157, Patchset 7 (Latest): base::WeakPtrFactory<SelectionOwner> weak_factory_{this};
Lei Zhang . unresolved

Linux-only?

Line 135, Patchset 7 (Latest): std::string key);
Lei Zhang . unresolved

IWYU

Line 133, Patchset 7 (Latest):#if BUILDFLAG(IS_LINUX)
Lei Zhang . unresolved

Should include build_config.h

File ui/base/x/selection_owner.cc
Line 18, Patchset 7 (Latest):#if BUILDFLAG(IS_LINUX)
Lei Zhang . unresolved

Put all the new includes in their own section.

File ui/base/x/x11_drag_context.h
Line 111, Patchset 7 (Latest): base::WeakPtrFactory<XDragContext> weak_factory_{this};
Lei Zhang . unresolved

Linux-only

Line 69, Patchset 7 (Latest): void OnPortalPathsExtracted(std::vector<std::string> paths);
Lei Zhang . unresolved

IWYU

Line 68, Patchset 7 (Latest):#if BUILDFLAG(IS_LINUX)
Lei Zhang . unresolved

IWYU

Line 64, Patchset 7 (Latest): // Requests the next target from |unfetched_targets_| or completes the
Lei Zhang . unresolved

Use backticks in new code.

File ui/base/x/x11_os_exchange_data_provider.cc
Line 18, Patchset 7 (Latest):#include "build/build_config.h"
Lei Zhang . unresolved

No longer needed?

Line 31, Patchset 7 (Latest):#if BUILDFLAG(IS_LINUX)
Lei Zhang . unresolved

No longer needed?

File ui/ozone/platform/wayland/host/wayland_clipboard.h
Line 72, Patchset 7 (Latest): base::WeakPtrFactory<WaylandClipboard> weak_factory_{this};
Lei Zhang . unresolved

IWYU

File ui/ozone/platform/wayland/host/wayland_clipboard.cc
Line 56, Patchset 7 (Latest): // Asynchronously retrieves the mime types list currently available to be
Lei Zhang . unresolved

Async, but no callback?

File ui/ozone/platform/wayland/host/wayland_data_device_base.h
Line 47, Patchset 7 (Latest): // Asynchronously reads and returns selection data with |mime_type| format.
Lei Zhang . unresolved

... via `callback`.

Line 47, Patchset 7 (Latest): // Asynchronously reads and returns selection data with |mime_type| format.
Lei Zhang . unresolved

Backticks in new code.

File ui/ozone/platform/wayland/host/wayland_data_device_base.cc
Line 26, Patchset 7 (Latest):void RunRequestDataClosure(PlatformClipboard::RequestDataClosure callback,
Lei Zhang . unresolved

Is this wrapper necessary? I think the caller can just pass in its `callback` instead of wrapping that callback in RunRequestDataClosure().

File ui/ozone/platform/wayland/host/wayland_data_drag_controller.h
Line 218, Patchset 7 (Latest): base::TimeTicks start_time,
std::map<std::string, std::vector<uint8_t>> fetched_data,
std::vector<std::string> paths);
Lei Zhang . unresolved

IWYU

File ui/ozone/platform/wayland/host/wayland_data_drag_controller.cc
Line 258, Patchset 7 (Latest): // This should not happen since we already validated the serial in
Lei Zhang . unresolved

Should this CHECK() instead?

File ui/ozone/platform/x11/x11_clipboard_ozone.h
Line 71, Patchset 7 (Latest): base::WeakPtrFactory<X11ClipboardOzone> weak_factory_{this};
Lei Zhang . unresolved

Linux-only

Line 61, Patchset 7 (Latest): std::vector<x11::Atom> uri_list_atoms,
Lei Zhang . unresolved

IWYU

Line 54, Patchset 7 (Latest):#if BUILDFLAG(IS_LINUX)
Lei Zhang . unresolved

IWYU

File ui/ozone/platform/x11/x11_clipboard_ozone.cc
Line 16, Patchset 7 (Latest):#include "ui/gfx/x/atom_cache.h"
Lei Zhang . unresolved

Linux-only

Open in Gerrit

Related details

Attention is currently required from:
  • Thomas Anderson
Submit Requirements:
    • requirement satisfiedCode-Coverage
    • requirement satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedNo-Unresolved-Comments
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: chromium/src
    Gerrit-Branch: main
    Gerrit-Change-Id: I9c73c1f7414c7eedb1396033b179c8f8bd3d0698
    Gerrit-Change-Number: 7670558
    Gerrit-PatchSet: 7
    Gerrit-Owner: Thomas Anderson <thomasa...@chromium.org>
    Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
    Gerrit-Reviewer: Thomas Anderson <thomasa...@chromium.org>
    Gerrit-CC: Sadrul Chowdhury <sad...@chromium.org>
    Gerrit-Attention: Thomas Anderson <thomasa...@chromium.org>
    Gerrit-Comment-Date: Wed, 18 Mar 2026 00:10:37 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Thomas Anderson (Gerrit)

    unread,
    Mar 18, 2026, 11:17:52 AMMar 18
    to Lei Zhang, Chromium LUCI CQ, chromium...@chromium.org, Sadrul Chowdhury, dcheng+c...@chromium.org, hashimo...@chromium.org, max+watc...@igalia.com, nickdiego+wa...@igalia.com, ozone-...@chromium.org
    Attention needed from Lei Zhang

    Thomas Anderson voted and added 26 comments

    Votes added by Thomas Anderson

    Auto-Submit+1
    Commit-Queue+1

    26 comments

    File components/dbus/xdg/file_transfer_portal.cc
    Line 182, Patchset 7: raw_ptr<dbus::ObjectProxy> proxy_;
    Lei Zhang . resolved

    Mark the pointer as const.

    Thomas Anderson

    Done

    Line 184, Patchset 7: size_t file_index_ = 0;
    Lei Zhang . resolved

    Put this next to `files_`?

    Thomas Anderson

    Done

    Line 186, Patchset 7: std::unique_ptr<FileTransferSession> owned_self_;
    Lei Zhang . resolved

    Can the class just omit this, make its dtor private, and call `delete this` when needed?

    Thomas Anderson

    Done

    Line 230, Patchset 7: auto callbacks = std::move(*pending_callbacks);

    pending_callbacks->clear();
    for (auto& cb : callbacks) {
    std::move(cb).Run(is_available);
    }
    Lei Zhang . resolved

    Why does this need to first move the callbacks out of `pending_callbacks`?

    Thomas Anderson

    Removed

    File ui/base/x/selection_owner.h
    Line 157, Patchset 7: base::WeakPtrFactory<SelectionOwner> weak_factory_{this};
    Lei Zhang . resolved

    Linux-only?

    Thomas Anderson

    Done

    Line 157, Patchset 7: base::WeakPtrFactory<SelectionOwner> weak_factory_{this};
    Lei Zhang . resolved

    IWYU

    Thomas Anderson

    Done

    Line 135, Patchset 7: std::string key);
    Lei Zhang . resolved

    IWYU

    Thomas Anderson

    Done

    Line 133, Patchset 7:#if BUILDFLAG(IS_LINUX)
    Lei Zhang . resolved

    Should include build_config.h

    Thomas Anderson

    Done

    File ui/base/x/selection_owner.cc
    Line 18, Patchset 7:#if BUILDFLAG(IS_LINUX)
    Lei Zhang . resolved

    Put all the new includes in their own section.

    Thomas Anderson

    Done

    File ui/base/x/x11_drag_context.h
    Line 111, Patchset 7: base::WeakPtrFactory<XDragContext> weak_factory_{this};
    Lei Zhang . resolved

    Linux-only

    Thomas Anderson

    Done

    Line 69, Patchset 7: void OnPortalPathsExtracted(std::vector<std::string> paths);
    Lei Zhang . resolved

    IWYU

    Thomas Anderson

    Done

    Line 68, Patchset 7:#if BUILDFLAG(IS_LINUX)
    Lei Zhang . resolved

    IWYU

    Thomas Anderson

    Done

    Line 64, Patchset 7: // Requests the next target from |unfetched_targets_| or completes the
    Lei Zhang . resolved

    Use backticks in new code.

    Thomas Anderson

    Done

    File ui/base/x/x11_os_exchange_data_provider.cc
    Line 18, Patchset 7:#include "build/build_config.h"
    Lei Zhang . resolved

    No longer needed?

    Thomas Anderson

    Done

    Line 31, Patchset 7:#if BUILDFLAG(IS_LINUX)
    Lei Zhang . resolved

    No longer needed?

    Thomas Anderson

    Done

    File ui/ozone/platform/wayland/host/wayland_clipboard.h
    Line 72, Patchset 7: base::WeakPtrFactory<WaylandClipboard> weak_factory_{this};
    Lei Zhang . resolved

    IWYU

    Thomas Anderson

    Done

    File ui/ozone/platform/wayland/host/wayland_clipboard.cc
    Line 56, Patchset 7: // Asynchronously retrieves the mime types list currently available to be
    Lei Zhang . resolved

    Async, but no callback?

    Thomas Anderson

    Fixed the comment.

    File ui/ozone/platform/wayland/host/wayland_data_device_base.h
    Line 47, Patchset 7: // Asynchronously reads and returns selection data with |mime_type| format.
    Lei Zhang . resolved

    Backticks in new code.

    Thomas Anderson

    Done

    Line 47, Patchset 7: // Asynchronously reads and returns selection data with |mime_type| format.
    Lei Zhang . resolved

    ... via `callback`.

    Thomas Anderson

    Done

    File ui/ozone/platform/wayland/host/wayland_data_device_base.cc
    Line 26, Patchset 7:void RunRequestDataClosure(PlatformClipboard::RequestDataClosure callback,
    Lei Zhang . resolved

    Is this wrapper necessary? I think the caller can just pass in its `callback` instead of wrapping that callback in RunRequestDataClosure().

    Thomas Anderson

    Done

    File ui/ozone/platform/wayland/host/wayland_data_drag_controller.h
    Line 218, Patchset 7: base::TimeTicks start_time,

    std::map<std::string, std::vector<uint8_t>> fetched_data,
    std::vector<std::string> paths);
    Lei Zhang . resolved

    IWYU

    Thomas Anderson

    Done

    File ui/ozone/platform/wayland/host/wayland_data_drag_controller.cc
    Line 258, Patchset 7: // This should not happen since we already validated the serial in
    Lei Zhang . resolved

    Should this CHECK() instead?

    Thomas Anderson

    Done

    File ui/ozone/platform/x11/x11_clipboard_ozone.h
    Line 71, Patchset 7: base::WeakPtrFactory<X11ClipboardOzone> weak_factory_{this};
    Lei Zhang . resolved

    Linux-only

    Thomas Anderson

    Done

    Line 61, Patchset 7: std::vector<x11::Atom> uri_list_atoms,
    Lei Zhang . resolved

    IWYU

    Thomas Anderson

    Done

    Line 54, Patchset 7:#if BUILDFLAG(IS_LINUX)
    Lei Zhang . resolved

    IWYU

    Thomas Anderson

    Done

    File ui/ozone/platform/x11/x11_clipboard_ozone.cc
    Line 16, Patchset 7:#include "ui/gfx/x/atom_cache.h"
    Lei Zhang . resolved

    Linux-only

    Thomas Anderson

    Done

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Lei Zhang
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: chromium/src
      Gerrit-Branch: main
      Gerrit-Change-Id: I9c73c1f7414c7eedb1396033b179c8f8bd3d0698
      Gerrit-Change-Number: 7670558
      Gerrit-PatchSet: 8
      Gerrit-Owner: Thomas Anderson <thomasa...@chromium.org>
      Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
      Gerrit-Reviewer: Thomas Anderson <thomasa...@chromium.org>
      Gerrit-CC: Sadrul Chowdhury <sad...@chromium.org>
      Gerrit-Attention: Lei Zhang <the...@chromium.org>
      Gerrit-Comment-Date: Wed, 18 Mar 2026 15:17:43 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: Yes
      Comment-In-Reply-To: Lei Zhang <the...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Lei Zhang (Gerrit)

      unread,
      Mar 18, 2026, 1:05:14 PMMar 18
      to Thomas Anderson, Lei Zhang, Chromium LUCI CQ, chromium...@chromium.org, Sadrul Chowdhury, dcheng+c...@chromium.org, hashimo...@chromium.org, max+watc...@igalia.com, nickdiego+wa...@igalia.com, ozone-...@chromium.org
      Attention needed from Thomas Anderson

      Lei Zhang voted and added 2 comments

      Votes added by Lei Zhang

      Code-Review+1

      2 comments

      File components/dbus/xdg/file_transfer_portal.cc
      Line 184, Patchset 7: size_t file_index_ = 0;
      Lei Zhang . unresolved

      Put this next to `files_`?

      Thomas Anderson

      Done

      Lei Zhang

      Still need to move up.

      File ui/base/x/selection_owner.cc
      Line 13, Patchset 8 (Latest):#include "base/strings/string_view_util.h"
      Lei Zhang . unresolved

      Also move this and line 15 into the line 24 block.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Thomas Anderson
      Submit Requirements:
        • requirement satisfiedCode-Coverage
        • requirement satisfiedCode-Owners
        • requirement satisfiedCode-Review
        • requirement is not satisfiedNo-Unresolved-Comments
        • requirement satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: chromium/src
        Gerrit-Branch: main
        Gerrit-Change-Id: I9c73c1f7414c7eedb1396033b179c8f8bd3d0698
        Gerrit-Change-Number: 7670558
        Gerrit-PatchSet: 8
        Gerrit-Owner: Thomas Anderson <thomasa...@chromium.org>
        Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
        Gerrit-Reviewer: Thomas Anderson <thomasa...@chromium.org>
        Gerrit-CC: Sadrul Chowdhury <sad...@chromium.org>
        Gerrit-Attention: Thomas Anderson <thomasa...@chromium.org>
        Gerrit-Comment-Date: Wed, 18 Mar 2026 17:05:00 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: Yes
        Comment-In-Reply-To: Lei Zhang <the...@chromium.org>
        Comment-In-Reply-To: Thomas Anderson <thomasa...@chromium.org>
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Thomas Anderson (Gerrit)

        unread,
        Mar 18, 2026, 2:20:59 PMMar 18
        to Lei Zhang, Chromium LUCI CQ, chromium...@chromium.org, Sadrul Chowdhury, dcheng+c...@chromium.org, hashimo...@chromium.org, max+watc...@igalia.com, nickdiego+wa...@igalia.com, ozone-...@chromium.org

        Thomas Anderson voted and added 2 comments

        Votes added by Thomas Anderson

        Auto-Submit+0
        Commit-Queue+2

        2 comments

        File components/dbus/xdg/file_transfer_portal.cc
        Line 184, Patchset 7: size_t file_index_ = 0;
        Lei Zhang . resolved

        Put this next to `files_`?

        Thomas Anderson

        Done

        Lei Zhang

        Still need to move up.

        Thomas Anderson

        Done

        File ui/base/x/selection_owner.cc
        Line 13, Patchset 8:#include "base/strings/string_view_util.h"
        Lei Zhang . resolved

        Also move this and line 15 into the line 24 block.

        Thomas Anderson

        Done

        Open in Gerrit

        Related details

        Attention set is empty
        Submit Requirements:
          • requirement satisfiedCode-Coverage
          • requirement satisfiedCode-Owners
          • requirement satisfiedCode-Review
          • requirement satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: I9c73c1f7414c7eedb1396033b179c8f8bd3d0698
          Gerrit-Change-Number: 7670558
          Gerrit-PatchSet: 9
          Gerrit-Owner: Thomas Anderson <thomasa...@chromium.org>
          Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
          Gerrit-Reviewer: Thomas Anderson <thomasa...@chromium.org>
          Gerrit-CC: Sadrul Chowdhury <sad...@chromium.org>
          Gerrit-Comment-Date: Wed, 18 Mar 2026 18:20:49 +0000
          satisfied_requirement
          open
          diffy

          Chromium LUCI CQ (Gerrit)

          unread,
          Mar 18, 2026, 4:40:01 PMMar 18
          to Thomas Anderson, Lei Zhang, chromium...@chromium.org, Sadrul Chowdhury, dcheng+c...@chromium.org, hashimo...@chromium.org, max+watc...@igalia.com, nickdiego+wa...@igalia.com, ozone-...@chromium.org

          Chromium LUCI CQ submitted the change with unreviewed changes

          Unreviewed changes

          8 is the latest approved patch-set.
          The change was submitted with unreviewed changes in the following files:

          ```
          The name of the file: ui/base/x/selection_owner.cc
          Insertions: 2, Deletions: 2.

          @@ -10,9 +10,7 @@
          #include "base/containers/flat_set.h"
          #include "base/logging.h"
          #include "base/memory/ref_counted_memory.h"
          -#include "base/strings/string_view_util.h"
          #include "base/time/time.h"
          -#include "ui/base/clipboard/clipboard_constants.h"
          #include "ui/base/x/selection_utils.h"
          #include "ui/base/x/x11_util.h"
          #include "ui/events/platform/x11/x11_event_source.h"
          @@ -21,6 +19,8 @@
          #include "ui/gfx/x/xproto.h"

          #if BUILDFLAG(IS_LINUX)
          +#include "base/strings/string_view_util.h"
          +#include "ui/base/clipboard/clipboard_constants.h"
          #include "ui/base/clipboard/clipboard_util_linux.h"
          #endif

          ```
          ```
          The name of the file: components/dbus/xdg/file_transfer_portal.cc
          Insertions: 1, Deletions: 1.

          @@ -176,10 +176,10 @@
          }

          const std::vector<std::string> files_;
          + size_t file_index_ = 0;
          std::string key_;
          base::OnceCallback<void(std::string)> callback_;
          const raw_ptr<dbus::ObjectProxy> proxy_;
          - size_t file_index_ = 0;
          bool any_files_added_ = false;
          };

          ```

          Change information

          Commit message:
          [Linux] Make dbus_xdg::FileTransferPortal asynchronous.

          This change converts all dbus_xdg::FileTransferPortal methods from
          synchronous to asynchronous. It transitions the X11 and Wayland
          clipboard and drag-and-drop implementations to a lazy evaluation model
          for file transfers via the portal.

          Key changes:
          - dbus_xdg::FileTransferPortal now uses dbus_utils::CallMethod and
          performs file opening on a background ThreadPool.
          - X11: SelectionOwner now lazily advertises portal atoms and generates
          portal keys on-demand in OnSelectionRequest. X11ClipboardOzone
          implements an async portal fallback for text/uri-list.
          - Wayland: WaylandDataSource::Delegate now supports async
          OnDataSourceSend, allowing on-demand portal key generation.
          WaylandDataDragController and wl::ClipboardImpl now advertise portal
          support immediately but only register with the portal when data is
          requested.
          - Fixed a bug in WaylandDataDragController where non-file drag data
          was discarded when files were present.
          - Updated FileTransferPortalTest and WaylandClipboardTest to support
          the new asynchronous flows.
          Fixed: 40398800
          Change-Id: I9c73c1f7414c7eedb1396033b179c8f8bd3d0698
          Reviewed-by: Lei Zhang <the...@chromium.org>
          Commit-Queue: Thomas Anderson <thomasa...@chromium.org>
          Cr-Commit-Position: refs/heads/main@{#1601503}
          Files:
          • M components/dbus/xdg/file_transfer_portal.cc
          • M components/dbus/xdg/file_transfer_portal.h
          • M components/dbus/xdg/file_transfer_portal_unittest.cc
          • M ui/base/clipboard/clipboard_util_linux.cc
          • M ui/base/clipboard/clipboard_util_linux.h
          • M ui/base/x/selection_owner.cc
          • M ui/base/x/selection_owner.h
          • M ui/base/x/selection_utils.cc
          • M ui/base/x/x11_drag_context.cc
          • M ui/base/x/x11_drag_context.h
          • M ui/base/x/x11_os_exchange_data_provider.cc
          • M ui/ozone/platform/wayland/host/wayland_clipboard.cc
          • M ui/ozone/platform/wayland/host/wayland_clipboard.h
          • M ui/ozone/platform/wayland/host/wayland_clipboard_unittest.cc
          • M ui/ozone/platform/wayland/host/wayland_data_device_base.cc
          • M ui/ozone/platform/wayland/host/wayland_data_device_base.h
          • M ui/ozone/platform/wayland/host/wayland_data_drag_controller.cc
          • M ui/ozone/platform/wayland/host/wayland_data_drag_controller.h
          • M ui/ozone/platform/wayland/host/wayland_data_source.cc
          • M ui/ozone/platform/wayland/host/wayland_data_source.h
          • M ui/ozone/platform/wayland/host/wayland_exchange_data_provider.cc
          • M ui/ozone/platform/wayland/host/wayland_window_drag_controller.cc
          • M ui/ozone/platform/wayland/host/wayland_window_drag_controller.h
          • M ui/ozone/platform/x11/x11_clipboard_ozone.cc
          • M ui/ozone/platform/x11/x11_clipboard_ozone.h
          Change size: XL
          Delta: 25 files changed, 1006 insertions(+), 629 deletions(-)
          Branch: refs/heads/main
          Submit Requirements:
          • requirement satisfiedCode-Review: +1 by Lei Zhang
          Open in Gerrit
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: merged
          Gerrit-Project: chromium/src
          Gerrit-Branch: main
          Gerrit-Change-Id: I9c73c1f7414c7eedb1396033b179c8f8bd3d0698
          Gerrit-Change-Number: 7670558
          Gerrit-PatchSet: 10
          Gerrit-Owner: Thomas Anderson <thomasa...@chromium.org>
          Gerrit-Reviewer: Chromium LUCI CQ <chromiu...@luci-project-accounts.iam.gserviceaccount.com>
          Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
          Gerrit-Reviewer: Thomas Anderson <thomasa...@chromium.org>
          open
          diffy
          satisfied_requirement
          Reply all
          Reply to author
          Forward
          0 new messages