electron/shell/browser/extensions/electron_extensions_api_client.h

40 lines
1.2 KiB
C
Raw Normal View History

// Copyright (c) 2019 Slack Technologies, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef SHELL_BROWSER_EXTENSIONS_ELECTRON_EXTENSIONS_API_CLIENT_H_
#define SHELL_BROWSER_EXTENSIONS_ELECTRON_EXTENSIONS_API_CLIENT_H_
#include <memory>
#include "extensions/browser/api/extensions_api_client.h"
namespace extensions {
class ElectronMessagingDelegate;
class ElectronExtensionsAPIClient : public ExtensionsAPIClient {
public:
ElectronExtensionsAPIClient();
~ElectronExtensionsAPIClient() override;
// ExtensionsAPIClient
MessagingDelegate* GetMessagingDelegate() override;
void AttachWebContentsHelpers(
content::WebContents* web_contents) const override;
2020-02-13 00:39:12 +00:00
std::unique_ptr<MimeHandlerViewGuestDelegate>
CreateMimeHandlerViewGuestDelegate(
MimeHandlerViewGuest* guest) const override;
ManagementAPIDelegate* CreateManagementAPIDelegate() const override;
std::unique_ptr<guest_view::GuestViewManagerDelegate>
CreateGuestViewManagerDelegate(
content::BrowserContext* context) const override;
private:
std::unique_ptr<ElectronMessagingDelegate> messaging_delegate_;
};
} // namespace extensions
#endif // SHELL_BROWSER_EXTENSIONS_ELECTRON_EXTENSIONS_API_CLIENT_H_