blob: f49aae9595f8e83508ff09ac9e4b2fb8b2a92f02 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_WEBUI_BROWSER_WEBUI_BROWSER_CLIENT_VIEW_H_
#define CHROME_BROWSER_UI_WEBUI_BROWSER_WEBUI_BROWSER_CLIENT_VIEW_H_
#include "base/observer_list.h"
#include "chrome/browser/ui/webui_browser/webui_browser_web_contents_delegate.h"
#include "third_party/blink/public/mojom/page/draggable_region.mojom.h"
#include "third_party/skia/include/core/SkRegion.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/views/window/client_view.h"
class WebUIBrowserClientView
: public views::ClientView,
public WebUIBrowserWebContentsDelegate::Observer {
METADATA_HEADER(WebUIBrowserClientView, views::ClientView)
public:
WebUIBrowserClientView(WebUIBrowserWebContentsDelegate* web_contents_delegate,
views::Widget* widget,
views::View* view);
~WebUIBrowserClientView() override;
// From WebUIBrowserWebContentsDelegate::Observer
void DraggableRegionsChanged(
const std::vector<blink::mojom::DraggableRegionPtr>& regions) override;
// From ClientView:
int NonClientHitTest(const gfx::Point& point) override;
private:
raw_ptr<WebUIBrowserWebContentsDelegate> web_contents_delegate_;
SkRegion draggable_region_;
};
#endif // CHROME_BROWSER_UI_WEBUI_BROWSER_WEBUI_BROWSER_CLIENT_VIEW_H_