summaryrefslogtreecommitdiff
path: root/libcef/browser/extensions/browser_platform_delegate_background.h
diff options
context:
space:
mode:
authorInna Palant <ipalant@google.com>2023-12-12 19:56:22 -0800
committerInna Palant <ipalant@google.com>2023-12-12 19:56:22 -0800
commit1ee1f36e3b492d7a6a0bf2367fe509365853aeaa (patch)
treea5790e155ff0d998639beb6172dfa0feb294aac9 /libcef/browser/extensions/browser_platform_delegate_background.h
parent1e76199e6f0ded437fca14eb9e512e0c6bd0fc1e (diff)
parentc33b736614ef77e4048cee551999a656a5ef465f (diff)
downloadcef-1ee1f36e3b492d7a6a0bf2367fe509365853aeaa.tar.gz
Merge remote-tracking branch 'origin/upstream'main
Import b/312293934
Diffstat (limited to 'libcef/browser/extensions/browser_platform_delegate_background.h')
-rw-r--r--libcef/browser/extensions/browser_platform_delegate_background.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/libcef/browser/extensions/browser_platform_delegate_background.h b/libcef/browser/extensions/browser_platform_delegate_background.h
new file mode 100644
index 00000000..39ae59f2
--- /dev/null
+++ b/libcef/browser/extensions/browser_platform_delegate_background.h
@@ -0,0 +1,55 @@
+// Copyright 2017 The Chromium Embedded Framework Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CEF_LIBCEF_BROWSER_VIEWS_BROWSER_PLATFORM_DELEGATE_BACKGROUND_H_
+#define CEF_LIBCEF_BROWSER_VIEWS_BROWSER_PLATFORM_DELEGATE_BACKGROUND_H_
+
+#include "libcef/browser/alloy/browser_platform_delegate_alloy.h"
+#include "libcef/browser/native/browser_platform_delegate_native.h"
+
+// Implementation of browser functionality for background script hosts.
+class CefBrowserPlatformDelegateBackground
+ : public CefBrowserPlatformDelegateAlloy,
+ public CefBrowserPlatformDelegateNative::WindowlessHandler {
+ public:
+ // Platform-specific behaviors will be delegated to |native_delegate|.
+ CefBrowserPlatformDelegateBackground(
+ std::unique_ptr<CefBrowserPlatformDelegateNative> native_delegate);
+
+ // CefBrowserPlatformDelegate methods:
+ bool CreateHostWindow() override;
+ void CloseHostWindow() override;
+ CefWindowHandle GetHostWindowHandle() const override;
+ SkColor GetBackgroundColor() const override;
+ void WasResized() override;
+ void SendKeyEvent(const CefKeyEvent& event) override;
+ void SendMouseClickEvent(const CefMouseEvent& event,
+ CefBrowserHost::MouseButtonType type,
+ bool mouseUp,
+ int clickCount) override;
+ void SendMouseMoveEvent(const CefMouseEvent& event, bool mouseLeave) override;
+ void SendMouseWheelEvent(const CefMouseEvent& event,
+ int deltaX,
+ int deltaY) override;
+ void SendTouchEvent(const CefTouchEvent& event) override;
+ void SetFocus(bool setFocus) override;
+ gfx::Point GetScreenPoint(const gfx::Point& view,
+ bool want_dip_coords) const override;
+ void ViewText(const std::string& text) override;
+ bool HandleKeyboardEvent(
+ const content::NativeWebKeyboardEvent& event) override;
+ CefEventHandle GetEventHandle(
+ const content::NativeWebKeyboardEvent& event) const override;
+ std::unique_ptr<CefMenuRunner> CreateMenuRunner() override;
+
+ // CefBrowserPlatformDelegateNative::WindowlessHandler methods:
+ CefWindowHandle GetParentWindowHandle() const override;
+ gfx::Point GetParentScreenPoint(const gfx::Point& view,
+ bool want_dip_coords) const override;
+
+ private:
+ std::unique_ptr<CefBrowserPlatformDelegateNative> native_delegate_;
+};
+
+#endif // CEF_LIBCEF_BROWSER_VIEWS_BROWSER_PLATFORM_DELEGATE_BACKGROUND_H_