electron_extensions_api_client.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright (c) 2019 Slack Technologies, Inc.
  2. // Use of this source code is governed by the MIT license that can be
  3. // found in the LICENSE file.
  4. #ifndef ELECTRON_SHELL_BROWSER_EXTENSIONS_ELECTRON_EXTENSIONS_API_CLIENT_H_
  5. #define ELECTRON_SHELL_BROWSER_EXTENSIONS_ELECTRON_EXTENSIONS_API_CLIENT_H_
  6. #include <memory>
  7. #include "extensions/browser/api/extensions_api_client.h"
  8. namespace extensions {
  9. class ElectronMessagingDelegate;
  10. class ElectronExtensionsAPIClient : public ExtensionsAPIClient {
  11. public:
  12. ElectronExtensionsAPIClient();
  13. ~ElectronExtensionsAPIClient() override;
  14. // ExtensionsAPIClient
  15. MessagingDelegate* GetMessagingDelegate() override;
  16. void AttachWebContentsHelpers(
  17. content::WebContents* web_contents) const override;
  18. std::unique_ptr<MimeHandlerViewGuestDelegate>
  19. CreateMimeHandlerViewGuestDelegate(
  20. MimeHandlerViewGuest* guest) const override;
  21. ManagementAPIDelegate* CreateManagementAPIDelegate() const override;
  22. std::unique_ptr<guest_view::GuestViewManagerDelegate>
  23. CreateGuestViewManagerDelegate() const override;
  24. private:
  25. std::unique_ptr<ElectronMessagingDelegate> messaging_delegate_;
  26. };
  27. } // namespace extensions
  28. #endif // ELECTRON_SHELL_BROWSER_EXTENSIONS_ELECTRON_EXTENSIONS_API_CLIENT_H_