diff options
author | Inna Palant <ipalant@google.com> | 2023-12-12 19:56:22 -0800 |
---|---|---|
committer | Inna Palant <ipalant@google.com> | 2023-12-12 19:56:22 -0800 |
commit | 1ee1f36e3b492d7a6a0bf2367fe509365853aeaa (patch) | |
tree | a5790e155ff0d998639beb6172dfa0feb294aac9 /libcef/browser/extensions/browser_platform_delegate_background.h | |
parent | 1e76199e6f0ded437fca14eb9e512e0c6bd0fc1e (diff) | |
parent | c33b736614ef77e4048cee551999a656a5ef465f (diff) | |
download | cef-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.h | 55 |
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_ |