blob: e6fff123ee008da925037b21f3b868bc0f7976e1 [file] [log] [blame]
Avi Drissman4a8573c2022-09-09 19:35:541// Copyright 2021 The Chromium Authors
Michael van Ouwerkerked905122021-07-22 14:24:392// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/bluetooth/chrome_bluetooth_delegate_impl_client.h"
6
7#include <memory>
8
9#include "build/build_config.h"
10#include "chrome/browser/bluetooth/bluetooth_chooser_context_factory.h"
11#include "chrome/browser/chooser_controller/title_util.h"
12#include "chrome/browser/profiles/profile.h"
Lei Zhang388730f2023-10-17 21:31:1613#include "chrome/browser/ui/bluetooth/bluetooth_dialogs.h"
Michael van Ouwerkerked905122021-07-22 14:24:3914#include "chrome/browser/ui/bluetooth/chrome_bluetooth_chooser_controller.h"
15#include "chrome/browser/ui/browser_dialogs.h"
16#include "content/public/browser/render_frame_host.h"
17#include "content/public/browser/web_contents.h"
18
Xiaohan Wang9c67676f2022-01-15 21:51:3219#if BUILDFLAG(IS_ANDROID)
Michael van Ouwerkerked905122021-07-22 14:24:3920#include "chrome/browser/ui/android/device_dialog/chrome_bluetooth_chooser_android_delegate.h"
21#include "chrome/browser/ui/android/device_dialog/chrome_bluetooth_scanning_prompt_android_delegate.h"
Michael van Ouwerkerked905122021-07-22 14:24:3922#include "components/permissions/android/bluetooth_chooser_android.h"
23#include "components/permissions/android/bluetooth_scanning_prompt_android.h"
24#else
25#include "components/permissions/bluetooth_chooser_desktop.h"
26#include "components/permissions/bluetooth_scanning_prompt_desktop.h"
27#include "components/strings/grit/components_strings.h"
Xiaohan Wang9c67676f2022-01-15 21:51:3228#endif // BUILDFLAG(IS_ANDROID)
Michael van Ouwerkerked905122021-07-22 14:24:3929
30ChromeBluetoothDelegateImplClient::ChromeBluetoothDelegateImplClient() =
31 default;
32
33ChromeBluetoothDelegateImplClient::~ChromeBluetoothDelegateImplClient() =
34 default;
35
36permissions::BluetoothChooserContext*
37ChromeBluetoothDelegateImplClient::GetBluetoothChooserContext(
38 content::RenderFrameHost* frame) {
39 auto* profile = Profile::FromBrowserContext(frame->GetBrowserContext());
40 return BluetoothChooserContextFactory::GetForProfile(profile);
41}
42
43std::unique_ptr<content::BluetoothChooser>
44ChromeBluetoothDelegateImplClient::RunBluetoothChooser(
45 content::RenderFrameHost* frame,
46 const content::BluetoothChooser::EventHandler& event_handler) {
Xiaohan Wang9c67676f2022-01-15 21:51:32