Commit ca0e7251 authored by Julie Jeongeun Kim's avatar Julie Jeongeun Kim Committed by Commit Bot

Convert SelectFileDialog in select_file_dialog.mojom to new Mojo types

This CL converts SelectFileDialogRequest and
SelectFileDialogPtr to new Mojo types using
PendingReceiver, Remote and SelfOwnedReceiver.

Bug: 955171
Change-Id: I776fe70be72a02ba451324b6ff0c9b436e8ff56d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1846633Reviewed-by: default avatarSam McNally <sammc@chromium.org>
Reviewed-by: default avatarccameron <ccameron@chromium.org>
Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Commit-Queue: Julie Kim <jkim@igalia.com>
Cr-Commit-Position: refs/heads/master@{#704056}
parent 6c6de388
......@@ -18,6 +18,7 @@
#include "components/remote_cocoa/common/native_widget_ns_window.mojom.h"
#include "components/remote_cocoa/common/text_input_host.mojom.h"
#include "mojo/public/cpp/bindings/associated_binding.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "ui/accelerated_widget_mac/ca_transaction_observer.h"
#include "ui/accelerated_widget_mac/display_ca_layer_tree.h"
#include "ui/base/cocoa/command_dispatcher.h"
......@@ -197,7 +198,8 @@ class REMOTE_COCOA_APP_SHIM_EXPORT NativeWidgetNSWindowBridge
// remote_cocoa::mojom::NativeWidgetNSWindow:
void CreateWindow(mojom::CreateWindowParamsPtr params) override;
void SetParent(uint64_t parent_id) override;
void CreateSelectFileDialog(mojom::SelectFileDialogRequest request) override;
void CreateSelectFileDialog(
mojo::PendingReceiver<mojom::SelectFileDialog> receiver) override;
void StackAbove(uint64_t sibling_id) override;
void StackAtTop() override;
void ShowEmojiPanel() override;
......
......@@ -28,7 +28,7 @@
#import "components/remote_cocoa/app_shim/views_nswindow_delegate.h"
#import "components/remote_cocoa/app_shim/window_move_loop.h"
#include "components/remote_cocoa/common/native_widget_ns_window_host.mojom.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "ui/accelerated_widget_mac/window_resize_helper_mac.h"
#include "ui/base/cocoa/cocoa_base_utils.h"
#import "ui/base/cocoa/constrained_window/constrained_window_animation.h"
......@@ -388,10 +388,10 @@ void NativeWidgetNSWindowBridge::SetParent(uint64_t new_parent_id) {
}
void NativeWidgetNSWindowBridge::CreateSelectFileDialog(
mojom::SelectFileDialogRequest request) {
mojo::MakeStrongBinding(
mojo::PendingReceiver<mojom::SelectFileDialog> receiver) {
mojo::MakeSelfOwnedReceiver(
std::make_unique<remote_cocoa::SelectFileDialogBridge>(window_),
std::move(request));
std::move(receiver));
}
void NativeWidgetNSWindowBridge::StackAbove(uint64_t sibling_id) {
......
......@@ -94,7 +94,7 @@ interface NativeWidgetNSWindow {
SetParent(uint64 parent_id);
// Open a panel for file selection or creation.
CreateSelectFileDialog(SelectFileDialog& dialog);
CreateSelectFileDialog(pending_receiver<SelectFileDialog> dialog);
// Places this NativeWidgetNSWindow in front of the NativeWidgetNSWindow
// indicated by |sibling_id| in z-order.
......
......@@ -12,6 +12,7 @@
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
#include "components/remote_cocoa/common/select_file_dialog.mojom.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/shell_dialogs/select_file_dialog.h"
#include "ui/shell_dialogs/shell_dialogs_export.h"
......@@ -61,7 +62,7 @@ class SHELL_DIALOGS_EXPORT SelectFileDialogImpl : public ui::SelectFileDialog {
void* params;
// Bridge to the Cocoa NSSavePanel.
remote_cocoa::mojom::SelectFileDialogPtr select_file_dialog;
mojo::Remote<remote_cocoa::mojom::SelectFileDialog> select_file_dialog;
private:
DISALLOW_COPY_AND_ASSIGN(DialogData);
......
......@@ -10,8 +10,7 @@
#include "components/remote_cocoa/app_shim/select_file_dialog_bridge.h"
#include "components/remote_cocoa/browser/window.h"
#include "components/remote_cocoa/common/native_widget_ns_window.mojom.h"
#include "mojo/public/cpp/bindings/interface_request.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "ui/shell_dialogs/select_file_policy.h"
using remote_cocoa::mojom::SelectFileDialogType;
......@@ -92,14 +91,14 @@ void SelectFileDialogImpl::SelectFileImpl(
// Create a NSSavePanel for it.
auto* mojo_window = remote_cocoa::GetWindowMojoInterface(gfx_window);
auto request = mojo::MakeRequest(&dialog_data.select_file_dialog);
auto receiver = dialog_data.select_file_dialog.BindNewPipeAndPassReceiver();
if (mojo_window) {
mojo_window->CreateSelectFileDialog(std::move(request));
mojo_window->CreateSelectFileDialog(std::move(receiver));
} else {
NSWindow* ns_window = gfx_window.GetNativeNSWindow();
mojo::MakeStrongBinding(
mojo::MakeSelfOwnedReceiver(
std::make_unique<remote_cocoa::SelectFileDialogBridge>(ns_window),
std::move(request));
std::move(receiver));
}
// Show the panel.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment