Commit bc6f03c0 authored by Noel Gordon's avatar Noel Gordon Committed by Chromium LUCI CQ

[filesapp] Add SWA UI class to SWA page handler mojo pipe constructor

Mojo requests from the SWA WebContents appear on the receiving SWA page
handler mojo endpoint for servicing - that servicing will be handled by
the SWA UI class or its delegate.

Add the SWA UI class to the page handler mojo pipe constructor. Mention
it is the owning |this| since the page handler pipe is both created and
owned by the SWA UI class.

Bug: 1113981
Change-Id: Ic32e748df303cbaf26b82fe15d39c8b02cee92c1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2580980Reviewed-by: default avatarAlex Danilo <adanilo@chromium.org>
Commit-Queue: Noel Gordon <noel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#835086}
parent 9a93f505
......@@ -4,16 +4,20 @@
#include "chromeos/components/file_manager/file_manager_page_handler.h"
#include "base/bind.h"
#include "chromeos/components/file_manager/file_manager_ui.h"
namespace chromeos {
namespace file_manager {
FileManagerPageHandler::FileManagerPageHandler(
FileManagerUI* file_manager_ui,
mojo::PendingReceiver<mojom::PageHandler> pending_receiver,
mojo::PendingRemote<mojom::Page> pending_page)
: receiver_{this, std::move(pending_receiver)},
page_{std::move(pending_page)} {}
: file_manager_ui_(file_manager_ui),
receiver_(this, std::move(pending_receiver)),
page_(std::move(pending_page)) {
DCHECK(file_manager_ui_);
}
FileManagerPageHandler::~FileManagerPageHandler() = default;
......
......@@ -16,10 +16,13 @@
namespace chromeos {
namespace file_manager {
class FileManagerUI;
// Class backing the page's functionality.
class FileManagerPageHandler : public mojom::PageHandler {
public:
FileManagerPageHandler(
FileManagerUI* file_manager_ui,
mojo::PendingReceiver<mojom::PageHandler> pending_receiver,
mojo::PendingRemote<mojom::Page> pending_page);
~FileManagerPageHandler() override;
......@@ -28,6 +31,7 @@ class FileManagerPageHandler : public mojom::PageHandler {
FileManagerPageHandler& operator=(const FileManagerPageHandler&) = delete;
private:
FileManagerUI* file_manager_ui_; // Owns |this|.
mojo::Receiver<mojom::PageHandler> receiver_;
mojo::Remote<mojom::Page> page_;
};
......
......@@ -69,7 +69,7 @@ void FileManagerUI::CreatePageHandler(
DCHECK(pending_page.is_valid());
page_handler_ = std::make_unique<FileManagerPageHandler>(
std::move(pending_page_handler), std::move(pending_page));
this, std::move(pending_page_handler), std::move(pending_page));
}
WEB_UI_CONTROLLER_TYPE_IMPL(FileManagerUI)
......
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