mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
* chore: bump chromium in DEPS to 110.0.5461.0
* chore: bump chromium in DEPS to 110.0.5463.0
* chore: bump chromium in DEPS to 110.0.5465.0
* chore: bump chromium in DEPS to 110.0.5467.0
* chore: bump chromium in DEPS to 110.0.5469.0
* chore: bump chromium in DEPS to 110.0.5471.0
* chore: bump chromium in DEPS to 110.0.5473.0
* chore: bump chromium in DEPS to 110.0.5475.0
* chore: bump chromium in DEPS to 110.0.5477.0
* chore: bump chromium in DEPS to 110.0.5479.0
* chore: bump chromium in DEPS to 110.0.5481.0
* chore: bump chromium in DEPS to 110.0.5481.4
* chore: bump chromium in DEPS to 110.0.5478.5
* chore: update patches
* 4074449: Add gl::FrameData to software path
https://chromium-review.googlesource.com/c/chromium/src/+/4074449
(cherry picked from commit 1f61be81384b3e22b8af8f9221a7e5ef9a4d95cb)
* fixup! 4074449: Add gl::FrameData to software path
(cherry picked from commit 2316ec931ec9cb1d4ade43df2f3663ef155c5a61)
* 4074449: Add gl::FrameData to software path
This commit also reformatted the two files in this patch. The only
change here is the addition of the |data| arg to |OnSwapBuffers|.
https://chromium-review.googlesource.com/c/chromium/src/+/4074449
(cherry picked from commit aa2504ee6b4e3a2eaf3348eb535ef8121dd6cc3b)
* 4081108: task posting v3: remove task_runner_util{.h,_unittest.cc}
https://chromium-review.googlesource.com/c/chromium/src/+/4081108
(cherry picked from commit fce317513ee15138351f8b1bdf062250d97f57b9)
* 4081108: task posting v3: remove task_runner_util{.h,_unittest.cc}
https://chromium-review.googlesource.com/c/chromium/src/+/4081108
(cherry picked from commit cb14d9f5df300020a3b8d11078656763b428789e)
* chore: add missing RefCountedMemory include
(cherry picked from commit 893a1da1ed5a461e0e46abecab2a2de545ab543b)
* 4025927: [Code Health] Migrate e/c/manifest.cc to base::Value::Dict interface
https://chromium-review.googlesource.com/c/chromium/src/+/4025927
(cherry picked from commit f9e1ce44bdbe1c199881daef2799164737e2d39d)
* 4072471: Rename Mixed Download Blocking to Insecure Download Blocking
https://chromium-review.googlesource.com/c/chromium/src/+/4072471
(cherry picked from commit e191d7526d3821ace54717ce7c8a5e95df542135)
* 4060548: Remove base::Value::GetListDeprecated().
https://chromium-review.googlesource.com/c/chromium/src/+/4060548
(cherry picked from commit f76cb2bcb4d1772c596c7e8dc5be27024e2b9cfe)
* 4032656: hid: Abstract HidSystemTrayIcon class for profiles' HID connections
https://chromium-review.googlesource.com/c/chromium/src/+/4032656
(cherry picked from commit 9737692d016d726f277c7a6ac6ec919b18820cba)
* 3903024: hid: Add connection count tracking methods for HidDelegate
https://chromium-review.googlesource.com/c/chromium/src/+/3903024
(cherry picked from commit a0299046cd3cedb1c84b4ecf867089fce9304861)
* 4076211: Turn FrameTreeNode::frame_tree into raw_ref.
https://chromium-review.googlesource.com/c/chromium/src/+/4076211
(cherry picked from commit 6cca422b421013ce166779cc9687d50301ac3280)
* 4112537: Remove DictionaryPrefUpdate.
https://chromium-review.googlesource.com/c/chromium/src/+/4112537
(cherry picked from commit ec8e8f75deed5da760c75267c5575509923ae7e4)
* 3835037: Add new slides media session actions to Picture-in-Picture window
https://chromium-review.googlesource.com/c/chromium/src/+/3835037
(cherry picked from commit 7dc35729bce450b365b8d211536a275e8e3f0a08)
* 4065264: [Extensions] Add a new side panel view type
https://chromium-review.googlesource.com/c/chromium/src/+/4065264
(cherry picked from commit c6c3c3ff8289c87a6ca831ff23100b3dde74eddf)
* 4085814: [Test Automation] Move NativeWindowTracker to ui/views
https://chromium-review.googlesource.com/c/chromium/src/+/4085814
(cherry picked from commit ffbe5437139752f507bef4c66cc958e6dcef3bce)
* chore: disable Microtask queues per WindowAgent.
see https://chromium-review.googlesource.com/c/chromium/src/+/4003663
(cherry picked from commit 0ffa9df410a27236ed73b07d5b36c84783b0f9d1)
* fixup: disable Microtask queues per WindowAgent.
(cherry picked from commit 438be771dd)
Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Calvin Watford <cwatford@slack-corp.com>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
115 lines
4.5 KiB
C++
115 lines
4.5 KiB
C++
// Copyright 2019 The Chromium 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 ELECTRON_SHELL_BROWSER_HID_ELECTRON_HID_DELEGATE_H_
|
|
#define ELECTRON_SHELL_BROWSER_HID_ELECTRON_HID_DELEGATE_H_
|
|
|
|
#include <memory>
|
|
#include <string>
|
|
#include <unordered_map>
|
|
#include <vector>
|
|
|
|
#include "base/observer_list.h"
|
|
#include "base/scoped_observation.h"
|
|
#include "content/public/browser/hid_delegate.h"
|
|
#include "shell/browser/hid/hid_chooser_context.h"
|
|
|
|
namespace electron {
|
|
|
|
class HidChooserController;
|
|
|
|
class ElectronHidDelegate : public content::HidDelegate,
|
|
public HidChooserContext::DeviceObserver {
|
|
public:
|
|
ElectronHidDelegate();
|
|
ElectronHidDelegate(ElectronHidDelegate&) = delete;
|
|
ElectronHidDelegate& operator=(ElectronHidDelegate&) = delete;
|
|
~ElectronHidDelegate() override;
|
|
|
|
// content::HidDelegate:
|
|
std::unique_ptr<content::HidChooser> RunChooser(
|
|
content::RenderFrameHost* render_frame_host,
|
|
std::vector<blink::mojom::HidDeviceFilterPtr> filters,
|
|
std::vector<blink::mojom::HidDeviceFilterPtr> exclusion_filters,
|
|
content::HidChooser::Callback callback) override;
|
|
bool CanRequestDevicePermission(content::BrowserContext* browser_context,
|
|
const url::Origin& origin) override;
|
|
bool HasDevicePermission(content::BrowserContext* browser_context,
|
|
const url::Origin& origin,
|
|
const device::mojom::HidDeviceInfo& device) override;
|
|
void RevokeDevicePermission(
|
|
content::BrowserContext* browser_context,
|
|
const url::Origin& origin,
|
|
const device::mojom::HidDeviceInfo& device) override;
|
|
device::mojom::HidManager* GetHidManager(
|
|
content::BrowserContext* browser_context) override;
|
|
void AddObserver(content::BrowserContext* browser_context,
|
|
content::HidDelegate::Observer* observer) override;
|
|
void RemoveObserver(content::BrowserContext* browser_context,
|
|
content::HidDelegate::Observer* observer) override;
|
|
const device::mojom::HidDeviceInfo* GetDeviceInfo(
|
|
content::BrowserContext* browser_context,
|
|
const std::string& guid) override;
|
|
bool IsFidoAllowedForOrigin(content::BrowserContext* browser_context,
|
|
const url::Origin& origin) override;
|
|
bool IsServiceWorkerAllowedForOrigin(const url::Origin& origin) override;
|
|
|
|
// HidChooserContext::DeviceObserver:
|
|
void OnDeviceAdded(const device::mojom::HidDeviceInfo&) override;
|
|
void OnDeviceRemoved(const device::mojom::HidDeviceInfo&) override;
|
|
void OnDeviceChanged(const device::mojom::HidDeviceInfo&) override;
|
|
void OnHidManagerConnectionError() override;
|
|
void OnHidChooserContextShutdown() override;
|
|
void IncrementConnectionCount(content::BrowserContext* browser_context,
|
|
const url::Origin& origin) override {}
|
|
void DecrementConnectionCount(content::BrowserContext* browser_context,
|
|
const url::Origin& origin) override {}
|
|
|
|
void DeleteControllerForFrame(content::RenderFrameHost* render_frame_host);
|
|
|
|
private:
|
|
HidChooserController* ControllerForFrame(
|
|
content::RenderFrameHost* render_frame_host);
|
|
|
|
HidChooserController* AddControllerForFrame(
|
|
content::RenderFrameHost* render_frame_host,
|
|
std::vector<blink::mojom::HidDeviceFilterPtr> filters,
|
|
std::vector<blink::mojom::HidDeviceFilterPtr> exclusion_filters,
|
|
content::HidChooser::Callback callback);
|
|
|
|
base::ScopedObservation<HidChooserContext, HidChooserContext::DeviceObserver>
|
|
device_observation_{this};
|
|
base::ObserverList<content::HidDelegate::Observer> observer_list_;
|
|
|
|
std::unordered_map<content::RenderFrameHost*,
|
|
std::unique_ptr<HidChooserController>>
|
|
controller_map_;
|
|
|
|
base::WeakPtrFactory<ElectronHidDelegate> weak_factory_{this};
|
|
};
|
|
|
|
} // namespace electron
|
|
|
|
namespace base {
|
|
|
|
template <>
|
|
struct base::ScopedObservationTraits<
|
|
electron::HidChooserContext,
|
|
electron::HidChooserContext::DeviceObserver> {
|
|
static void AddObserver(
|
|
electron::HidChooserContext* source,
|
|
electron::HidChooserContext::DeviceObserver* observer) {
|
|
source->AddDeviceObserver(observer);
|
|
}
|
|
static void RemoveObserver(
|
|
electron::HidChooserContext* source,
|
|
electron::HidChooserContext::DeviceObserver* observer) {
|
|
source->RemoveDeviceObserver(observer);
|
|
}
|
|
};
|
|
|
|
} // namespace base
|
|
|
|
#endif // ELECTRON_SHELL_BROWSER_HID_ELECTRON_HID_DELEGATE_H_
|