Update to Chromium version 111.0.5563.0 (#1097615)

This commit is contained in:
Marshall Greenblatt 2023-01-30 12:43:54 -05:00
parent 4c41f14360
commit dc2231cdfb
179 changed files with 986 additions and 930 deletions

View File

@ -1079,7 +1079,6 @@ source_set("libcef_static") {
"libcef/browser/alloy/alloy_browser_main_win.cc",
"libcef/browser/native/browser_platform_delegate_native_win.cc",
"libcef/browser/native/browser_platform_delegate_native_win.h",
"libcef/browser/native/cursor_util_win.cc",
"libcef/browser/osr/browser_platform_delegate_osr_win.cc",
"libcef/browser/osr/browser_platform_delegate_osr_win.h",
]
@ -1108,7 +1107,6 @@ source_set("libcef_static") {
sources += includes_linux + [
"libcef/browser/native/browser_platform_delegate_native_linux.cc",
"libcef/browser/native/browser_platform_delegate_native_linux.h",
"libcef/browser/native/cursor_util_linux.cc",
"libcef/browser/osr/browser_platform_delegate_osr_linux.cc",
"libcef/browser/osr/browser_platform_delegate_osr_linux.h",
"libcef/browser/printing/print_dialog_linux.cc",
@ -1140,6 +1138,7 @@ source_set("libcef_static") {
sources += includes_mac + [
"libcef/browser/native/browser_platform_delegate_native_mac.h",
"libcef/browser/native/browser_platform_delegate_native_mac.mm",
"libcef/browser/native/cursor_util_mac.mm",
"libcef/browser/native/javascript_dialog_runner_mac.h",
"libcef/browser/native/javascript_dialog_runner_mac.mm",
"libcef/browser/native/menu_runner_mac.h",
@ -1168,6 +1167,7 @@ source_set("libcef_static") {
sources += [
"libcef/browser/native/browser_platform_delegate_native_aura.cc",
"libcef/browser/native/browser_platform_delegate_native_aura.h",
"libcef/browser/native/cursor_util_aura.cc",
"libcef/browser/native/menu_runner_views_aura.cc",
"libcef/browser/native/menu_runner_views_aura.h",
"libcef/browser/views/view_util_aura.cc",
@ -1356,7 +1356,7 @@ make_pack_header("resources") {
"$root_gen_dir/net/grit/net_resources.h",
"$root_gen_dir/third_party/blink/public/resources/grit/blink_resources.h",
"$root_gen_dir/ui/resources/grit/ui_resources.h",
"$root_gen_dir/ui/resources/grit/webui_generated_resources.h",
"$root_gen_dir/ui/resources/grit/webui_resources.h",
"$root_gen_dir/ui/views/resources/grit/views_resources.h",
]
@ -1383,7 +1383,7 @@ make_pack_header("resources") {
"//net:net_resources",
"//third_party/blink/public:resources",
"//ui/resources:ui_resources_grd",
"//ui/resources:webui_generated_resources_grd",
"//ui/resources:webui_resources_grd",
"//ui/views/resources:resources_grd",
]
}

View File

@ -7,5 +7,5 @@
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
{
'chromium_checkout': 'refs/tags/110.0.5481.0'
'chromium_checkout': 'refs/tags/111.0.5563.0'
}

View File

@ -531,6 +531,7 @@ if(OS_WINDOWS)
Advapi32.lib
dbghelp.lib
Delayimp.lib
ntdll.lib
OleAut32.lib
PowrProf.lib
Propsys.lib

View File

@ -71,7 +71,7 @@
#if defined(USING_CHROMIUM_INCLUDES)
// When building CEF include the Chromium header directly.
#include "base/bind.h"
#include "base/functional/bind.h"
#else // !USING_CHROMIUM_INCLUDES
// The following is substantially similar to the Chromium implementation.
// If the Chromium implementation diverges the below implementation should be

View File

@ -67,7 +67,7 @@
#if defined(USING_CHROMIUM_INCLUDES)
// When building CEF include the Chromium header directly.
#include "base/callback.h"
#include "base/functional/callback.h"
#else // !USING_CHROMIUM_INCLUDES
// The following is substantially similar to the Chromium implementation.
// If the Chromium implementation diverges the below implementation should be

View File

@ -34,7 +34,7 @@
#if defined(USING_CHROMIUM_INCLUDES)
// When building CEF include the Chromium header directly.
#include "base/callback_forward.h"
#include "base/functional/callback_forward.h"
#else // !USING_CHROMIUM_INCLUDES
// The following is substantially similar to the Chromium implementation.
// If the Chromium implementation diverges the below implementation should be

View File

@ -39,7 +39,7 @@
#if defined(USING_CHROMIUM_INCLUDES)
// When building CEF include the Chromium header directly.
#include "base/callback_helpers.h"
#include "base/functional/callback_helpers.h"
#else // !USING_CHROMIUM_INCLUDES
// The following is substantially similar to the Chromium implementation.
// If the Chromium implementation diverges the below implementation should be

View File

@ -86,7 +86,7 @@
#if defined(USING_CHROMIUM_INCLUDES)
// When building CEF include the Chromium header directly.
#include "base/callback_list.h"
#include "base/functional/callback_list.h"
#else // !USING_CHROMIUM_INCLUDES
// The following is substantially similar to the Chromium implementation.
// If the Chromium implementation diverges the below implementation should be

View File

@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=333350f8141cc925d16df2edc8c21a720a1008f0$
// $hash=de4a9b856c6951231f446991a9b1efb89096ad3b$
//
#ifndef CEF_INCLUDE_CAPI_CEF_MEDIA_ROUTER_CAPI_H_
@ -257,13 +257,6 @@ typedef struct _cef_media_sink_t {
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_name)(struct _cef_media_sink_t* self);
///
/// Returns the description of this sink.
///
// The resulting string must be freed by calling cef_string_userfree_free().
cef_string_userfree_t(CEF_CALLBACK* get_description)(
struct _cef_media_sink_t* self);
///
/// Returns the icon type for this sink.
///

View File

@ -42,13 +42,13 @@
// way that may cause binary incompatibility with other builds. The universal
// hash value will change if any platform is affected whereas the platform hash
// values will change only if that particular platform is affected.
#define CEF_API_HASH_UNIVERSAL "fc4393fe8a78980a4d8689ff8b13094fae3c3e50"
#define CEF_API_HASH_UNIVERSAL "ec5797fa2a4dabdcf61183905db6b8ff2b79f9f0"
#if defined(OS_WIN)
#define CEF_API_HASH_PLATFORM "c41fbde76401eaecb7bdf4851d162e1416285ac1"
#define CEF_API_HASH_PLATFORM "011499a93a394bf5fa92ebf0047de5ee1a4e5841"
#elif defined(OS_MAC)
#define CEF_API_HASH_PLATFORM "031d539913b42e85711402dd5f17fa9aada7ebab"
#define CEF_API_HASH_PLATFORM "8f276dfddb7341168f9ce0f705df212f08e2f08c"
#elif defined(OS_LINUX)
#define CEF_API_HASH_PLATFORM "ceef4f8220761b7bd5bb9959bacd3d55a2dcc484"
#define CEF_API_HASH_PLATFORM "3c239fa16f5a3f9f452b185c750c7145fc305274"
#endif
#ifdef __cplusplus

View File

@ -239,12 +239,6 @@ class CefMediaSink : public virtual CefBaseRefCounted {
/*--cef()--*/
virtual CefString GetName() = 0;
///
/// Returns the description of this sink.
///
/*--cef()--*/
virtual CefString GetDescription() = 0;
///
/// Returns the icon type for this sink.
///

View File

@ -3368,21 +3368,22 @@ typedef enum {
CEF_PERMISSION_TYPE_CAMERA_PAN_TILT_ZOOM = 1 << 2,
CEF_PERMISSION_TYPE_CAMERA_STREAM = 1 << 3,
CEF_PERMISSION_TYPE_CLIPBOARD = 1 << 4,
CEF_PERMISSION_TYPE_DISK_QUOTA = 1 << 5,
CEF_PERMISSION_TYPE_LOCAL_FONTS = 1 << 6,
CEF_PERMISSION_TYPE_GEOLOCATION = 1 << 7,
CEF_PERMISSION_TYPE_IDLE_DETECTION = 1 << 8,
CEF_PERMISSION_TYPE_MIC_STREAM = 1 << 9,
CEF_PERMISSION_TYPE_MIDI_SYSEX = 1 << 10,
CEF_PERMISSION_TYPE_MULTIPLE_DOWNLOADS = 1 << 11,
CEF_PERMISSION_TYPE_NOTIFICATIONS = 1 << 12,
CEF_PERMISSION_TYPE_PROTECTED_MEDIA_IDENTIFIER = 1 << 13,
CEF_PERMISSION_TYPE_REGISTER_PROTOCOL_HANDLER = 1 << 14,
CEF_PERMISSION_TYPE_SECURITY_ATTESTATION = 1 << 15,
CEF_PERMISSION_TYPE_STORAGE_ACCESS = 1 << 16,
CEF_PERMISSION_TYPE_U2F_API_REQUEST = 1 << 17,
CEF_PERMISSION_TYPE_VR_SESSION = 1 << 18,
CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT = 1 << 19,
CEF_PERMISSION_TYPE_TOP_LEVEL_STORAGE_ACCESS = 1 << 5,
CEF_PERMISSION_TYPE_DISK_QUOTA = 1 << 6,
CEF_PERMISSION_TYPE_LOCAL_FONTS = 1 << 7,
CEF_PERMISSION_TYPE_GEOLOCATION = 1 << 8,
CEF_PERMISSION_TYPE_IDLE_DETECTION = 1 << 9,
CEF_PERMISSION_TYPE_MIC_STREAM = 1 << 10,
CEF_PERMISSION_TYPE_MIDI_SYSEX = 1 << 11,
CEF_PERMISSION_TYPE_MULTIPLE_DOWNLOADS = 1 << 12,
CEF_PERMISSION_TYPE_NOTIFICATIONS = 1 << 13,
CEF_PERMISSION_TYPE_PROTECTED_MEDIA_IDENTIFIER = 1 << 14,
CEF_PERMISSION_TYPE_REGISTER_PROTOCOL_HANDLER = 1 << 15,
CEF_PERMISSION_TYPE_SECURITY_ATTESTATION = 1 << 16,
CEF_PERMISSION_TYPE_STORAGE_ACCESS = 1 << 17,
CEF_PERMISSION_TYPE_U2F_API_REQUEST = 1 << 18,
CEF_PERMISSION_TYPE_VR_SESSION = 1 << 19,
CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT = 1 << 20,
} cef_permission_request_types_t;
///

View File

@ -29,9 +29,9 @@
#include "libcef/common/values_impl.h"
#include "libcef/features/runtime_checks.h"
#include "base/bind.h"
#include "base/callback_helpers.h"
#include "base/command_line.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "chrome/browser/file_select_helper.h"
#include "chrome/browser/picture_in_picture/picture_in_picture_window_manager.h"
#include "content/browser/gpu/compositor_util.h"
@ -1253,11 +1253,6 @@ void AlloyBrowserHostImpl::WebContentsCreated(
std::move(platform_delegate), /*cef_extension=*/nullptr);
}
void AlloyBrowserHostImpl::DidNavigatePrimaryMainFramePostCommit(
content::WebContents* web_contents) {
contents_delegate_->DidNavigatePrimaryMainFramePostCommit(web_contents);
}
content::JavaScriptDialogManager*
AlloyBrowserHostImpl::GetJavaScriptDialogManager(content::WebContents* source) {
if (!javascript_dialog_manager_) {
@ -1353,9 +1348,9 @@ bool AlloyBrowserHostImpl::IsBackForwardCacheSupported() {
return false;
}
bool AlloyBrowserHostImpl::IsPrerender2Supported(
content::PreloadingEligibility AlloyBrowserHostImpl::IsPrerender2Supported(
content::WebContents& web_contents) {
return true;
return content::PreloadingEligibility::kEligible;
}
// content::WebContentsObserver methods.

View File

@ -235,8 +235,6 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
const std::string& frame_name,
const GURL& target_url,
content::WebContents* new_contents) override;
void DidNavigatePrimaryMainFramePostCommit(
content::WebContents* web_contents) override;
content::JavaScriptDialogManager* GetJavaScriptDialogManager(
content::WebContents* source) override;
void RunFileChooser(content::RenderFrameHost* render_frame_host,
@ -272,7 +270,8 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
content::WebContents* web_contents) override;
void ExitPictureInPicture() override;
bool IsBackForwardCacheSupported() override;
bool IsPrerender2Supported(content::WebContents& web_contents) override;
content::PreloadingEligibility IsPrerender2Supported(
content::WebContents& web_contents) override;
// content::WebContentsObserver methods.
using content::WebContentsObserver::BeforeUnloadFired;

View File

@ -22,8 +22,8 @@
#include "libcef/common/extensions/extensions_util.h"
#include "libcef/common/net/net_resource_provider.h"
#include "base/bind.h"
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/thread_pool.h"
#include "chrome/browser/browser_process.h"

View File

@ -121,6 +121,7 @@
#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/info_map.h"
#include "extensions/browser/process_map.h"
#include "extensions/browser/renderer_startup_helper.h"
#include "extensions/browser/url_loader_factory_manager.h"
#include "extensions/common/constants.h"
#include "extensions/common/switches.h"
@ -976,6 +977,9 @@ void AlloyContentBrowserClient::ExposeInterfacesToRenderer(
base::BindRepeating(
&extensions::ExtensionsGuestView::CreateForExtensions,
host->GetID()));
associated_registry->AddInterface<extensions::mojom::RendererHost>(
base::BindRepeating(&extensions::RendererStartupHelper::BindForRenderer,
host->GetID()));
}
CefBrowserManager::ExposeInterfacesToRenderer(registry, associated_registry,
@ -1356,6 +1360,7 @@ bool AlloyContentBrowserClient::ArePersistentMediaDeviceIDsAllowed(
Profile::FromBrowserContext(browser_context))
->IsFullCookieAccessAllowed(
url, site_for_cookies, top_frame_origin,
net::CookieSettingOverrides(),
content_settings::CookieSettings::QueryReason::kSiteStorage);
}

View File

@ -6,7 +6,7 @@
#define CEF_LIBCEF_BROWSER_ALLOY_DIALOGS_ALLOY_WEB_CONTENTS_DIALOG_HELPER_H_
#pragma once
#include "base/callback_forward.h"
#include "base/functional/callback_forward.h"
#include "base/memory/weak_ptr.h"
#include "base/observer_list.h"
#include "components/web_modal/modal_dialog_host.h"

View File

@ -7,8 +7,8 @@
#include <memory>
#include <utility>
#include "base/bind.h"
#include "base/check_op.h"
#include "base/functional/bind.h"
#include "base/location.h"
#include "content/browser/browser_main_loop.h"
#include "content/browser/web_contents/web_contents_impl.h"

View File

@ -5,7 +5,7 @@
#ifndef CEF_LIBCEF_BROWSER_AUDIO_LOOPBACK_STREAM_CREATOR_H_
#define CEF_LIBCEF_BROWSER_AUDIO_LOOPBACK_STREAM_CREATOR_H_
#include "base/callback.h"
#include "base/functional/callback.h"
#include "content/browser/media/forwarding_audio_stream_factory.h"
#include "content/common/content_export.h"
#include "media/mojo/mojom/audio_data_pipe.mojom.h"

View File

@ -218,12 +218,6 @@ bool CefBrowserContentsDelegate::DidAddMessageToConsole(
return false;
}
void CefBrowserContentsDelegate::DidNavigatePrimaryMainFramePostCommit(
content::WebContents* web_contents) {
has_document_ = false;
OnStateChanged(State::kDocument);
}
void CefBrowserContentsDelegate::EnterFullscreenModeForTab(
content::RenderFrameHost* requesting_frame,
const blink::mojom::FullscreenOptions& options) {
@ -458,6 +452,13 @@ void CefBrowserContentsDelegate::DidFinishNavigation(
return;
}
if (navigation_handle->IsInPrimaryMainFrame() &&
navigation_handle->HasCommitted()) {
// A primary main frame navigation has occured.
has_document_ = false;
OnStateChanged(State::kDocument);
}
const bool is_main_frame = navigation_handle->IsInMainFrame();
const auto global_id = frame_util::GetGlobalId(navigation_handle);
const GURL& url =

View File

@ -95,8 +95,6 @@ class CefBrowserContentsDelegate : public content::WebContentsDelegate,
const std::u16string& message,
int32_t line_no,
const std::u16string& source_id) override;
void DidNavigatePrimaryMainFramePostCommit(
content::WebContents* web_contents) override;
void EnterFullscreenModeForTab(
content::RenderFrameHost* requesting_frame,
const blink::mojom::FullscreenOptions& options) override;

View File

@ -13,8 +13,8 @@
#include "libcef/browser/iothread_state.h"
#include "libcef/browser/request_context_handler_map.h"
#include "base/callback.h"
#include "base/files/file_path.h"
#include "base/functional/callback.h"
#include "base/memory/weak_ptr.h"
#include "base/task/sequenced_task_runner_helpers.h"
#include "chrome/common/plugin.mojom.h"

View File

@ -13,8 +13,8 @@
#include "include/internal/cef_ptr.h"
#include "libcef/common/values_impl.h"
#include "base/callback.h"
#include "base/containers/unique_ptr_adapters.h"
#include "base/functional/callback.h"
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
#include "base/synchronization/lock.h"

View File

@ -18,11 +18,11 @@
#include "base/command_line.h"
#include "base/logging.h"
#include "base/threading/sequenced_task_runner_handle.h"
#include "base/task/sequenced_task_runner.h"
#include "content/public/browser/child_process_host.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/child_process_host.h"
#include "content/public/common/url_constants.h"
namespace {
@ -265,7 +265,7 @@ void CefBrowserInfoManager::OnGetNewBrowserInfo(
DCHECK(frame_util::IsValidGlobalId(global_id));
DCHECK(callback);
auto callback_runner = base::SequencedTaskRunnerHandle::Get();
auto callback_runner = base::SequencedTaskRunner::GetCurrentDefault();
base::AutoLock lock_scope(browser_info_lock_);

View File

@ -14,7 +14,7 @@
#include "include/internal/cef_types.h"
#include "include/views/cef_browser_view.h"
#include "base/callback_forward.h"
#include "base/functional/callback_forward.h"
#include "extensions/common/mojom/view_type.mojom-forward.h"
#include "third_party/blink/public/common/page/drag_operation.h"
#include "third_party/blink/public/mojom/drag/drag.mojom-forward.h"

View File

@ -9,8 +9,8 @@
#include "libcef/browser/ssl_info_impl.h"
#include "libcef/browser/thread_util.h"
#include "base/callback.h"
#include "base/callback_helpers.h"
#include "base/functional/callback.h"
#include "base/functional/callback_helpers.h"
#include "base/logging.h"
#include "content/public/browser/web_contents.h"
#include "net/ssl/ssl_info.h"

View File

@ -6,7 +6,7 @@
#define CEF_LIBCEF_BROWSER_CERTIFICATE_QUERY_H_
#pragma once
#include "base/callback_forward.h"
#include "base/functional/callback_forward.h"
#include "content/public/browser/certificate_request_result_type.h"
namespace content {

View File

@ -222,13 +222,6 @@ bool ChromeBrowserDelegate::DidAddMessageToConsole(
return false;
}
void ChromeBrowserDelegate::DidNavigatePrimaryMainFramePostCommit(
content::WebContents* web_contents) {
if (auto delegate = GetDelegateForWebContents(web_contents)) {
delegate->DidNavigatePrimaryMainFramePostCommit(web_contents);
}
}
void ChromeBrowserDelegate::EnterFullscreenModeForTab(
content::RenderFrameHost* requesting_frame,
const blink::mojom::FullscreenOptions& options) {

View File

@ -84,8 +84,6 @@ class ChromeBrowserDelegate : public cef::BrowserDelegate {
const std::u16string& message,
int32_t line_no,
const std::u16string& source_id) override;
void DidNavigatePrimaryMainFramePostCommit(
content::WebContents* web_contents) override;
void EnterFullscreenModeForTab(
content::RenderFrameHost* requesting_frame,
const blink::mojom::FullscreenOptions& options) override;

View File

@ -10,8 +10,8 @@
#include "libcef/browser/trace_subscriber.h"
#include "libcef/common/cef_switches.h"
#include "base/bind.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/run_loop.h"
#include "base/task/current_thread.h"
#include "base/threading/thread_restrictions.h"

View File

@ -6,17 +6,17 @@
#include "libcef/browser/alloy/alloy_browser_host_impl.h"
#include "base/bind.h"
#include "base/callback.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/json/json_writer.h"
#include "base/json/values_util.h"
#include "base/lazy_instance.h"
#include "base/path_service.h"
#include "base/strings/utf_string_conversions.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/thread_pool.h"
#include "base/threading/sequenced_task_runner_handle.h"
#include "base/values.h"
#include "chrome/common/pref_names.h"
#include "components/prefs/scoped_user_pref_update.h"
@ -142,9 +142,8 @@ void CefDevToolsFileManager::SaveAsFileSelected(const std::string& url,
*g_last_save_path.Pointer() = path;
saved_files_[url] = path;
DictionaryPrefUpdate update(prefs_, prefs::kDevToolsEditedFiles);
base::Value* files_map = update.Get();
files_map->SetKey(base::MD5String(url), base::FilePathToValue(path));
ScopedDictPrefUpdate update(prefs_, prefs::kDevToolsEditedFiles);
update->Set(base::MD5String(url), base::FilePathToValue(path));
std::string file_system_path = path.AsUTF8Unsafe();
std::move(callback).Run(file_system_path);
file_task_runner_->PostTask(FROM_HERE,

View File

@ -5,7 +5,7 @@
#ifndef CEF_LIBCEF_BROWSER_DEVTOOLS_DEVTOOLS_FILE_MANAGER_H_
#define CEF_LIBCEF_BROWSER_DEVTOOLS_DEVTOOLS_FILE_MANAGER_H_
#include "base/callback_forward.h"
#include "base/functional/callback_forward.h"
#include "base/memory/weak_ptr.h"
#include <map>

View File

@ -222,7 +222,7 @@ class CefDevToolsFrontend::NetworkResourceLoader
void OnComplete(bool success) override {
auto response = BuildObjectForResponse(response_headers_.get(), success,
loader_->NetError());
bindings_->SendMessageAck(request_id_, base::Value(std::move(response)));
bindings_->SendMessageAck(request_id_, std::move(response));
bindings_->loaders_.erase(bindings_->loaders_.find(this));
}
@ -424,7 +424,7 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
base::Value::Dict response;
response.Set("statusCode", 404);
response.Set("urlValid", false);
SendMessageAck(request_id, base::Value(std::move(response)));
SendMessageAck(request_id, std::move(response));
return;
}
@ -475,7 +475,7 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
} else if (content::HasWebUIScheme(gurl)) {
base::Value::Dict response;
response.Set("statusCode", 403);
SendMessageAck(request_id, base::Value(std::move(response)));
SendMessageAck(request_id, std::move(response));
return;
} else {
auto* partition =
@ -491,9 +491,8 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
loaders_.insert(std::move(resource_loader));
return;
} else if (*method == "getPreferences") {
SendMessageAck(
request_id,
base::Value(GetPrefs()->GetDict(prefs::kDevToolsPreferences).Clone()));
SendMessageAck(request_id,
GetPrefs()->GetDict(prefs::kDevToolsPreferences).Clone());
return;
} else if (*method == "setPreference") {
if (params.size() < 2) {
@ -507,15 +506,15 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
return;
}
DictionaryPrefUpdate update(GetPrefs(), prefs::kDevToolsPreferences);
update.Get()->SetKey(*name, std::move(params[1]));
ScopedDictPrefUpdate update(GetPrefs(), prefs::kDevToolsPreferences);
update->Set(*name, std::move(params[1]));
} else if (*method == "removePreference") {
const std::string* name = params[0].GetIfString();
if (!name) {
return;
}
DictionaryPrefUpdate update(GetPrefs(), prefs::kDevToolsPreferences);
update.Get()->RemoveKey(*name);
ScopedDictPrefUpdate update(GetPrefs(), prefs::kDevToolsPreferences);
update->Remove(*name);
} else if (*method == "requestFileSystems") {
web_contents()->GetPrimaryMainFrame()->ExecuteJavaScriptForTests(
u"DevToolsAPI.fileSystemsLoaded([]);", base::NullCallback());
@ -561,7 +560,7 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
}
if (request_id) {
SendMessageAck(request_id, base::Value());
SendMessageAck(request_id, base::Value::Dict());
}
}
@ -628,9 +627,10 @@ void CefDevToolsFrontend::CallClientFunction(
std::move(arguments), std::move(cb));
}
void CefDevToolsFrontend::SendMessageAck(int request_id, base::Value arg) {
void CefDevToolsFrontend::SendMessageAck(int request_id,
base::Value::Dict arg) {
CallClientFunction("DevToolsAPI", "embedderMessageAck",
base::Value(request_id), std::move(arg));
base::Value(request_id), base::Value(std::move(arg)));
}
bool CefDevToolsFrontend::ProtocolLoggingEnabled() const {

View File

@ -83,7 +83,7 @@ class CefDevToolsFrontend : public content::WebContentsObserver,
void PrimaryMainDocumentElementAvailable() override;
void WebContentsDestroyed() override;
void SendMessageAck(int request_id, base::Value arg);
void SendMessageAck(int request_id, base::Value::Dict arg);
bool ProtocolLoggingEnabled() const;
void LogProtocolMessage(ProtocolMessageType type,

View File

@ -9,9 +9,9 @@
#include <vector>
#include "base/atomicops.h"
#include "base/bind.h"
#include "base/command_line.h"
#include "base/files/file_path.h"
#include "base/functional/bind.h"
#include "base/memory/ptr_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
@ -128,7 +128,7 @@ CefDevToolsManagerDelegate::CefDevToolsManagerDelegate() {}
CefDevToolsManagerDelegate::~CefDevToolsManagerDelegate() {}
scoped_refptr<content::DevToolsAgentHost>
CefDevToolsManagerDelegate::CreateNewTarget(const GURL& url) {
CefDevToolsManagerDelegate::CreateNewTarget(const GURL& url, bool for_tab) {
// This is reached when the user selects "Open link in new tab" from the
// DevTools interface.
// TODO(cef): Consider exposing new API to support this.

View File

@ -26,7 +26,8 @@ class CefDevToolsManagerDelegate : public content::DevToolsManagerDelegate {
// DevToolsManagerDelegate implementation.
scoped_refptr<content::DevToolsAgentHost> CreateNewTarget(
const GURL& url) override;
const GURL& url,
bool for_tab) override;
std::string GetDiscoveryPageHTML() override;
bool HasBundledFrontendResources() override;
};

View File

@ -12,8 +12,8 @@
#include "libcef/browser/download_item_impl.h"
#include "libcef/browser/thread_util.h"
#include "base/bind.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/path_service.h"
#include "base/strings/string_util.h"

View File

@ -5,8 +5,8 @@
#include "libcef/browser/extensions/api/file_system/cef_file_system_delegate.h"
#include "apps/saved_files_service.h"
#include "base/callback.h"
#include "base/files/file_path.h"
#include "base/functional/callback.h"
#include "chrome/browser/extensions/api/file_system/file_entry_picker.h"
#include "chrome/grit/generated_resources.h"
#include "content/public/browser/web_contents.h"

View File

@ -7,8 +7,8 @@
#include <memory>
#include "base/callback.h"
#include "base/compiler_specific.h"
#include "base/functional/callback.h"
#include "base/memory/ref_counted.h"
#include "extensions/browser/api/execute_code_function.h"
#include "extensions/browser/api/file_system/file_system_delegate.h"

View File

@ -12,6 +12,7 @@
#include "libcef/browser/extensions/api/tabs/tabs_api.h"
#include "chrome/browser/extensions/api/content_settings/content_settings_api.h"
#include "chrome/browser/extensions/api/pdf_viewer_private/pdf_viewer_private_api.h"
#include "chrome/browser/extensions/api/resources_private/resources_private_api.h"
#include "extensions/browser/api/alarms/alarms_api.h"
#include "extensions/browser/api/storage/storage_api.h"
@ -28,8 +29,6 @@ namespace cefimpl = extensions::cef;
// Maintain the same order as https://developer.chrome.com/extensions/api_index
// so chrome://extensions-support looks nice.
const char* const kSupportedAPIs[] = {
"resourcesPrivate",
EXTENSION_FUNCTION_NAME(ResourcesPrivateGetStringsFunction),
"alarms",
EXTENSION_FUNCTION_NAME(AlarmsCreateFunction),
EXTENSION_FUNCTION_NAME(AlarmsGetFunction),
@ -42,6 +41,10 @@ const char* const kSupportedAPIs[] = {
EXTENSION_FUNCTION_NAME(ContentSettingsContentSettingSetFunction),
EXTENSION_FUNCTION_NAME(
ContentSettingsContentSettingGetResourceIdentifiersFunction),
"pdfViewerPrivate",
EXTENSION_FUNCTION_NAME(PdfViewerPrivateIsAllowedLocalFileAccessFunction),
"resourcesPrivate",
EXTENSION_FUNCTION_NAME(ResourcesPrivateGetStringsFunction),
"storage",
EXTENSION_FUNCTION_NAME(StorageStorageAreaGetFunction),
EXTENSION_FUNCTION_NAME(StorageStorageAreaSetFunction),
@ -76,7 +79,6 @@ bool ChromeFunctionRegistry::IsSupported(const std::string& name) {
// Only add APIs to this list that have been tested in CEF.
// static
void ChromeFunctionRegistry::RegisterAll(ExtensionFunctionRegistry* registry) {
registry->RegisterFunction<ResourcesPrivateGetStringsFunction>();
registry->RegisterFunction<AlarmsCreateFunction>();
registry->RegisterFunction<AlarmsGetFunction>();
registry->RegisterFunction<AlarmsGetAllFunction>();
@ -87,6 +89,9 @@ void ChromeFunctionRegistry::RegisterAll(ExtensionFunctionRegistry* registry) {
registry->RegisterFunction<ContentSettingsContentSettingSetFunction>();
registry->RegisterFunction<
ContentSettingsContentSettingGetResourceIdentifiersFunction>();
registry
->RegisterFunction<PdfViewerPrivateIsAllowedLocalFileAccessFunction>();
registry->RegisterFunction<ResourcesPrivateGetStringsFunction>();
registry->RegisterFunction<StorageStorageAreaGetFunction>();
registry->RegisterFunction<StorageStorageAreaSetFunction>();
registry->RegisterFunction<StorageStorageAreaRemoveFunction>();

View File

@ -24,7 +24,8 @@ CefComponentExtensionResourceManager::CefComponentExtensionResourceManager() {
base::Value::Dict dict;
pdf_extension_util::AddStrings(
pdf_extension_util::PdfViewerContext::kPdfViewer, &dict);
pdf_extension_util::AddAdditionalData(/*enable_annotations=*/true, &dict);
pdf_extension_util::AddAdditionalData(/*enable_printing=*/true,
/*enable_annotations=*/true, &dict);
ui::TemplateReplacements pdf_viewer_replacements;
ui::TemplateReplacementsFromDictionaryValue(dict, &pdf_viewer_replacements);

View File

@ -7,7 +7,7 @@
#include "libcef/browser/alloy/alloy_browser_host_impl.h"
#include "libcef/browser/extensions/extension_host_delegate.h"
#include "base/callback.h"
#include "base/functional/callback.h"
namespace extensions {

View File

@ -7,7 +7,7 @@
#include <memory>
#include "base/callback_forward.h"
#include "base/functional/callback_forward.h"
#include "extensions/browser/extension_host.h"
class AlloyBrowserHostImpl;

View File

@ -9,7 +9,7 @@
#include "include/cef_extension.h"
#include "base/callback_forward.h"
#include "base/functional/callback_forward.h"
#include "chrome/common/extensions/api/tabs.h"
#include "ui/gfx/native_widget_types.h"

View File

@ -12,10 +12,10 @@
#include "libcef/browser/thread_util.h"
#include "libcef/common/extensions/extensions_util.h"
#include "base/bind.h"
#include "base/command_line.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/json/json_string_value_serializer.h"
#include "base/path_service.h"
#include "base/strings/string_tokenizer.h"

View File

@ -7,7 +7,7 @@
#include <utility>
#include "base/bind.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/threading/thread_checker.h"
#include "content/public/browser/navigation_handle.h"

View File

@ -10,8 +10,8 @@
#include "libcef/browser/browser_host_base.h"
#include "libcef/browser/thread_util.h"
#include "base/bind.h"
#include "base/callback_helpers.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/logging.h"
#include "components/javascript_dialogs/tab_modal_dialog_manager.h"

View File

@ -11,7 +11,7 @@
#include "libcef/common/main_runner_delegate.h"
#include "libcef/common/main_runner_handler.h"
#include "base/callback.h"
#include "base/functional/callback.h"
#include "content/public/browser/browser_main_runner.h"
namespace base {

View File

@ -10,8 +10,8 @@
#include "libcef/browser/media_stream_registrar.h"
#include "libcef/common/cef_switches.h"
#include "base/callback_helpers.h"
#include "base/command_line.h"
#include "base/functional/callback_helpers.h"
#include "third_party/blink/public/mojom/mediastream/media_stream.mojom.h"
namespace media_access_query {

View File

@ -5,7 +5,7 @@
#ifndef CEF_LIBCEF_BROWSER_MEDIA_CAPTURE_DEVICES_DISPATCHER_H_
#define CEF_LIBCEF_BROWSER_MEDIA_CAPTURE_DEVICES_DISPATCHER_H_
#include "base/callback.h"
#include "base/functional/callback.h"
#include "base/memory/singleton.h"
#include "base/observer_list.h"
#include "content/public/browser/media_observer.h"

View File

@ -104,10 +104,6 @@ CefString CefMediaSinkImpl::GetName() {
return sink_.name();
}
CefString CefMediaSinkImpl::GetDescription() {
return sink_.description().value_or("");
}
CefMediaSink::IconType CefMediaSinkImpl::GetIconType() {
// Verify that our enum matches Chromium's values.
static_assert(static_cast<int>(CEF_MSIT_TOTAL_COUNT) ==

View File

@ -24,7 +24,6 @@ class CefMediaSinkImpl : public CefMediaSink {
// CefMediaSink methods.
CefString GetId() override;
CefString GetName() override;
CefString GetDescription() override;
IconType GetIconType() override;
void GetDeviceInfo(
CefRefPtr<CefMediaSinkDeviceInfoCallback> callback) override;

View File

@ -10,7 +10,7 @@
#include "libcef/browser/thread_util.h"
#include "libcef/common/task_runner_impl.h"
#include "base/bind.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "third_party/blink/public/mojom/context_menu/context_menu.mojom.h"
#include "ui/base/accelerators/accelerator.h"

View File

@ -4,72 +4,12 @@
#include "libcef/browser/native/cursor_util.h"
#include "libcef/browser/browser_host_base.h"
#include "include/cef_client.h"
#include "content/common/cursors/webcursor.h"
#include "content/public/browser/render_widget_host_view.h"
#include "ui/base/cursor/cursor_factory.h"
#include "ui/base/cursor/mojom/cursor_type.mojom.h"
#if defined(USE_AURA)
#include "ui/display/display_util.h"
#include "ui/wm/core/cursor_loader.h"
#endif
namespace cursor_util {
namespace {
#if defined(USE_AURA)
display::ScreenInfo GetScreenInfo(CefRefPtr<CefBrowser> browser) {
display::ScreenInfo screen_info;
bool screen_info_set = false;
if (auto web_contents =
static_cast<CefBrowserHostBase*>(browser.get())->GetWebContents()) {
if (auto view = web_contents->GetRenderWidgetHostView()) {
const auto screen_infos = view->GetScreenInfos();
if (!screen_infos.screen_infos.empty()) {
screen_info = screen_infos.current();
screen_info_set = true;
}
}
}
if (!screen_info_set) {
display::DisplayUtil::GetDefaultScreenInfo(&screen_info);
}
return screen_info;
}
display::Display::Rotation OrientationAngleToRotation(
uint16_t orientation_angle) {
// The Display rotation and the ScreenInfo orientation are not the same
// angle. The former is the physical display rotation while the later is the
// rotation required by the content to be shown properly on the screen, in
// other words, relative to the physical display.
if (orientation_angle == 0) {
return display::Display::ROTATE_0;
}
if (orientation_angle == 90) {
return display::Display::ROTATE_270;
}
if (orientation_angle == 180) {
return display::Display::ROTATE_180;
}
if (orientation_angle == 270) {
return display::Display::ROTATE_90;
}
NOTREACHED();
return display::Display::ROTATE_0;
}
#endif // defined(USE_AURA)
} // namespace
bool OnCursorChange(CefRefPtr<CefBrowser> browser,
const ui::Cursor& ui_cursor) {
auto client = browser->GetHost()->GetClient();
@ -93,47 +33,10 @@ bool OnCursorChange(CefRefPtr<CefBrowser> browser,
custom_cursor_info.size.height = ui_cursor.custom_bitmap().height();
}
bool handled = false;
#if defined(USE_AURA)
wm::CursorLoader cursor_loader;
scoped_refptr<ui::PlatformCursor> platform_cursor;
CefCursorHandle native_cursor = kNullCursorHandle;
ui::Cursor loaded_cursor = ui_cursor;
if (ui_cursor.type() == ui::mojom::CursorType::kCustom) {
platform_cursor = ui::CursorFactory::GetInstance()->CreateImageCursor(
ui::mojom::CursorType::kCustom, ui_cursor.custom_bitmap(),
ui_cursor.custom_hotspot());
} else {
const auto& screen_info = GetScreenInfo(browser);
cursor_loader.SetDisplayData(
OrientationAngleToRotation(screen_info.orientation_angle),
screen_info.device_scale_factor);
// Attempts to load the cursor via the platform or from pak resources.
cursor_loader.SetPlatformCursor(&loaded_cursor);
platform_cursor = loaded_cursor.platform();
}
if (platform_cursor) {
native_cursor = cursor_util::ToCursorHandle(platform_cursor);
}
handled = handler->OnCursorChange(browser, native_cursor, cursor_type,
custom_cursor_info);
#elif BUILDFLAG(IS_MAC)
// |web_cursor| owns the resulting |native_cursor|.
content::WebCursor web_cursor(ui_cursor);
CefCursorHandle native_cursor = web_cursor.GetNativeCursor();
handled = handler->OnCursorChange(browser, native_cursor, cursor_type,
custom_cursor_info);
#else
NOTIMPLEMENTED();
#endif
return handled;
auto scoped_cursor_handle(ScopedCursorHandle::Create(browser, ui_cursor));
return handler->OnCursorChange(browser,
scoped_cursor_handle->GetCursorHandle(),
cursor_type, custom_cursor_info);
}
} // namespace cursor_util

View File

@ -7,6 +7,8 @@
#include "include/cef_browser.h"
#include <memory>
#include "ui/base/cursor/cursor.h"
#include "ui/base/cursor/mojom/cursor_type.mojom-forward.h"
@ -16,9 +18,17 @@
namespace cursor_util {
#if defined(USE_AURA)
cef_cursor_handle_t ToCursorHandle(scoped_refptr<ui::PlatformCursor> cursor);
#endif // defined(USE_AURA)
// Scoped ownership of a native cursor handle.
class ScopedCursorHandle {
public:
virtual ~ScopedCursorHandle() = default;
static std::unique_ptr<ScopedCursorHandle> Create(
CefRefPtr<CefBrowser> browser,
const ui::Cursor& ui_cursor);
virtual cef_cursor_handle_t GetCursorHandle() = 0;
};
// Returns true if the client handled the cursor change.
bool OnCursorChange(CefRefPtr<CefBrowser> browser, const ui::Cursor& ui_cursor);

View File

@ -0,0 +1,153 @@
// Copyright 2023 The Chromium Embedded Framework Authors. Portions copyright
// 2012 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.
#include "libcef/browser/native/cursor_util.h"
#include "libcef/browser/browser_host_base.h"
#include "content/common/cursors/webcursor.h"
#include "content/public/browser/render_widget_host_view.h"
#include "ui/base/cursor/cursor_factory.h"
#include "ui/base/cursor/mojom/cursor_type.mojom.h"
#include "ui/display/display_util.h"
#include "ui/wm/core/cursor_loader.h"
#if BUILDFLAG(IS_LINUX)
#include "ui/ozone/buildflags.h"
#if BUILDFLAG(OZONE_PLATFORM_X11)
#include "ui/base/x/x11_cursor.h"
#elif BUILDFLAG(IS_OZONE)
#include "ui/ozone/common/bitmap_cursor.h"
#endif
#endif // BUILDFLAG(IS_LINUX)
#if BUILDFLAG(IS_WIN)
#include "ui/base/win/win_cursor.h"
#endif
namespace cursor_util {
namespace {
display::ScreenInfo GetScreenInfo(CefRefPtr<CefBrowser> browser) {
display::ScreenInfo screen_info;
bool screen_info_set = false;
if (auto web_contents =
static_cast<CefBrowserHostBase*>(browser.get())->GetWebContents()) {
if (auto view = web_contents->GetRenderWidgetHostView()) {
const auto screen_infos = view->GetScreenInfos();
if (!screen_infos.screen_infos.empty()) {
screen_info = screen_infos.current();
screen_info_set = true;
}
}
}
if (!screen_info_set) {
display::DisplayUtil::GetDefaultScreenInfo(&screen_info);
}
return screen_info;
}
display::Display::Rotation OrientationAngleToRotation(
uint16_t orientation_angle) {
// The Display rotation and the ScreenInfo orientation are not the same
// angle. The former is the physical display rotation while the later is the
// rotation required by the content to be shown properly on the screen, in
// other words, relative to the physical display.
if (orientation_angle == 0) {
return display::Display::ROTATE_0;
}
if (orientation_angle == 90) {
return display::Display::ROTATE_270;
}
if (orientation_angle == 180) {
return display::Display::ROTATE_180;
}
if (orientation_angle == 270) {
return display::Display::ROTATE_90;
}
NOTREACHED();
return display::Display::ROTATE_0;
}
scoped_refptr<ui::PlatformCursor> ToPlatformCursor(
CefRefPtr<CefBrowser> browser,
const ui::Cursor& ui_cursor) {
wm::CursorLoader cursor_loader;
scoped_refptr<ui::PlatformCursor> platform_cursor;
ui::Cursor loaded_cursor = ui_cursor;
if (ui_cursor.type() == ui::mojom::CursorType::kCustom) {
platform_cursor = ui::CursorFactory::GetInstance()->CreateImageCursor(
ui::mojom::CursorType::kCustom, ui_cursor.custom_bitmap(),
ui_cursor.custom_hotspot());
} else {
const auto& screen_info = GetScreenInfo(browser);
cursor_loader.SetDisplayData(
OrientationAngleToRotation(screen_info.orientation_angle),
screen_info.device_scale_factor);
// Attempts to load the cursor via the platform or from pak resources.
cursor_loader.SetPlatformCursor(&loaded_cursor);
platform_cursor = loaded_cursor.platform();
}
return platform_cursor;
}
#if BUILDFLAG(IS_WIN)
using CursorType = ui::WinCursor;
inline cef_cursor_handle_t GetCursorHandleImpl(CursorType* cursor) {
return cursor->hcursor();
}
#elif BUILDFLAG(OZONE_PLATFORM_X11)
// See https://crbug.com/1029142 for background.
using CursorType = ui::X11Cursor;
inline cef_cursor_handle_t GetCursorHandleImpl(CursorType* cursor) {
return static_cast<cef_cursor_handle_t>(cursor->xcursor());
}
#elif BUILDFLAG(IS_OZONE)
using CursorType = ui::BitmapCursor;
inline cef_cursor_handle_t GetCursorHandleImpl(CursorType* cursor) {
return static_cast<cef_cursor_handle_t>(cursor->platform_data());
}
#else
#error Unsupported platform
#endif
class ScopedCursorHandleImpl : public ScopedCursorHandle {
public:
explicit ScopedCursorHandleImpl(
scoped_refptr<ui::PlatformCursor> platform_cursor) {
if (platform_cursor) {
cursor_ = CursorType::FromPlatformCursor(platform_cursor);
}
}
cef_cursor_handle_t GetCursorHandle() override {
if (cursor_) {
return GetCursorHandleImpl(cursor_.get());
}
return kNullCursorHandle;
}
private:
scoped_refptr<CursorType> cursor_;
};
} // namespace
// static
std::unique_ptr<ScopedCursorHandle> ScopedCursorHandle::Create(
CefRefPtr<CefBrowser> browser,
const ui::Cursor& ui_cursor) {
return std::make_unique<ScopedCursorHandleImpl>(
ToPlatformCursor(browser, ui_cursor));
}
} // namespace cursor_util

View File

@ -1,30 +0,0 @@
// Copyright 2020 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.
#include "libcef/browser/native/cursor_util.h"
#include "ui/ozone/buildflags.h"
#if BUILDFLAG(OZONE_PLATFORM_X11)
#include "ui/base/x/x11_cursor.h"
#elif BUILDFLAG(IS_OZONE)
#include "ui/ozone/common/bitmap_cursor.h"
#endif
namespace cursor_util {
cef_cursor_handle_t ToCursorHandle(scoped_refptr<ui::PlatformCursor> cursor) {
#if BUILDFLAG(OZONE_PLATFORM_X11)
// See https://crbug.com/1029142 for background.
return static_cast<cef_cursor_handle_t>(
ui::X11Cursor::FromPlatformCursor(cursor)->xcursor());
#elif BUILDFLAG(IS_OZONE)
return static_cast<cef_cursor_handle_t>(
ui::BitmapCursor::FromPlatformCursor(cursor)->platform_data());
#else
return 0;
#endif
}
} // namespace cursor_util

View File

@ -0,0 +1,38 @@
// Copyright 2023 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.
#include "libcef/browser/native/cursor_util.h"
#import "base/mac/scoped_nsobject.h"
#import "ui/base/cocoa/cursor_utils.h"
namespace cursor_util {
namespace {
class ScopedCursorHandleImpl : public ScopedCursorHandle {
public:
explicit ScopedCursorHandleImpl(NSCursor* native_cursor) {
if (native_cursor) {
cursor_.reset([native_cursor retain]);
}
}
cef_cursor_handle_t GetCursorHandle() override { return cursor_.get(); }
private:
base::scoped_nsobject<NSCursor> cursor_;
};
} // namespace
// static
std::unique_ptr<ScopedCursorHandle> ScopedCursorHandle::Create(
CefRefPtr<CefBrowser> /*browser*/,
const ui::Cursor& ui_cursor) {
return std::make_unique<ScopedCursorHandleImpl>(
ui::GetNativeCursor(ui_cursor));
}
} // namespace cursor_util

View File

@ -1,15 +0,0 @@
// Copyright 2020 The Chromium Embedded Framework Authors. Portions copyright
// 2012 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.
#include "libcef/browser/native/cursor_util.h"
#include "ui/base/win/win_cursor.h"
namespace cursor_util {
cef_cursor_handle_t ToCursorHandle(scoped_refptr<ui::PlatformCursor> cursor) {
return ui::WinCursor::FromPlatformCursor(cursor)->hcursor();
}
} // namespace cursor_util

View File

@ -9,7 +9,7 @@
#include "libcef/browser/javascript_dialog_runner.h"
#include "base/callback.h"
#include "base/functional/callback.h"
#include "base/mac/scoped_nsobject.h"
#include "base/memory/weak_ptr.h"

View File

@ -7,7 +7,7 @@
#import <Cocoa/Cocoa.h>
#include "base/bind.h"
#include "base/functional/bind.h"
#include "base/strings/sys_string_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "components/url_formatter/elide_url.h"

View File

@ -7,7 +7,7 @@
#include "libcef/browser/thread_util.h"
#include "libcef/common/net_service/net_service_util.h"
#include "base/bind.h"
#include "base/functional/bind.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/common/url_constants.h"

View File

@ -7,7 +7,7 @@
#include "libcef/browser/browser_context.h"
#include "base/callback_forward.h"
#include "base/functional/callback_forward.h"
#include "net/cookies/canonical_cookie.h"
namespace net {

View File

@ -7,7 +7,7 @@
#include "libcef/common/net_service/net_service_util.h"
#include "libcef/common/time_util.h"
#include "base/bind.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/storage_partition.h"

View File

@ -9,7 +9,7 @@
#include "libcef/browser/thread_util.h"
#include "base/memory/scoped_refptr.h"
#include "base/threading/sequenced_task_runner_handle.h"
#include "base/task/sequenced_task_runner.h"
#include "content/public/browser/global_request_id.h"
#include "content/public/browser/web_contents.h"
@ -21,7 +21,7 @@ class AuthCallbackImpl : public CefAuthCallback {
public:
explicit AuthCallbackImpl(base::WeakPtr<LoginDelegate> delegate)
: delegate_(delegate),
task_runner_(base::SequencedTaskRunnerHandle::Get()) {}
task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) {}
AuthCallbackImpl(const AuthCallbackImpl&) = delete;
AuthCallbackImpl& operator=(const AuthCallbackImpl&) = delete;

View File

@ -760,8 +760,8 @@ void InterceptedRequest::InterceptResponseReceived(
current_response_->headers = headers;
current_response_->encoded_data_length = headers->raw_headers().length();
current_response_->content_length = current_response_->encoded_body_length =
0;
current_response_->content_length = 0;
current_response_->encoded_body_length = 0;
std::string origin;
if (request_.headers.GetHeader(net::HttpRequestHeaders::kOrigin, &origin) &&
@ -917,8 +917,8 @@ net::RedirectInfo InterceptedRequest::MakeRedirectResponseAndInfo(
net::HttpRequestHeaders::kContentType);
// Clear the Content-Length values.
current_response_->content_length = current_response_->encoded_body_length =
0;
current_response_->content_length = 0;
current_response_->encoded_body_length = 0;
current_response_->headers->RemoveHeader(
net::HttpRequestHeaders::kContentLength);

View File

@ -8,8 +8,8 @@
#include "libcef/browser/net_service/stream_reader_url_loader.h"
#include "base/callback.h"
#include "base/containers/unique_ptr_adapters.h"
#include "base/functional/callback.h"
#include "base/hash/hash.h"
#include "base/strings/string_piece.h"
#include "content/public/browser/content_browser_client.h"

View File

@ -20,7 +20,8 @@ class SkipCallbackWrapper : public CefResourceSkipCallback {
public:
explicit SkipCallbackWrapper(InputStream::SkipCallback callback)
: callback_(std::move(callback)),
work_thread_task_runner_(base::SequencedTaskRunnerHandle::Get()) {}
work_thread_task_runner_(
base::SequencedTaskRunner::GetCurrentDefault()) {}
SkipCallbackWrapper(const SkipCallbackWrapper&) = delete;
SkipCallbackWrapper& operator=(const SkipCallbackWrapper&) = delete;
@ -59,7 +60,8 @@ class ReadCallbackWrapper : public CefResourceReadCallback {
public:
explicit ReadCallbackWrapper(InputStream::ReadCallback callback)
: callback_(std::move(callback)),
work_thread_task_runner_(base::SequencedTaskRunnerHandle::Get()) {}
work_thread_task_runner_(
base::SequencedTaskRunner::GetCurrentDefault()) {}
ReadCallbackWrapper(const ReadCallbackWrapper&) = delete;
ReadCallbackWrapper& operator=(const ReadCallbackWrapper&) = delete;
@ -314,7 +316,8 @@ class OpenCallbackWrapper : public CefCallback {
std::unique_ptr<InputStreamWrapper> stream)
: callback_(std::move(callback)),
stream_(std::move(stream)),
work_thread_task_runner_(base::SequencedTaskRunnerHandle::Get()) {}
work_thread_task_runner_(
base::SequencedTaskRunner::GetCurrentDefault()) {}
OpenCallbackWrapper(const OpenCallbackWrapper&) = delete;
OpenCallbackWrapper& operator=(const OpenCallbackWrapper&) = delete;

View File

@ -48,7 +48,8 @@ class RequestCallbackWrapper : public CefCallback {
using Callback = base::OnceCallback<void(bool /* allow */)>;
explicit RequestCallbackWrapper(Callback callback)
: callback_(std::move(callback)),
work_thread_task_runner_(base::SequencedTaskRunnerHandle::Get()) {}
work_thread_task_runner_(
base::SequencedTaskRunner::GetCurrentDefault()) {}
RequestCallbackWrapper(const RequestCallbackWrapper&) = delete;
RequestCallbackWrapper& operator=(const RequestCallbackWrapper&) = delete;

View File

@ -5,7 +5,7 @@
#ifndef CEF_LIBCEF_BROWSER_NET_SERVICE_RESOURCE_REQUEST_HANDLER_WRAPPER_H_
#define CEF_LIBCEF_BROWSER_NET_SERVICE_RESOURCE_REQUEST_HANDLER_WRAPPER_H_
#include "base/callback_forward.h"
#include "base/functional/callback_forward.h"
#include "content/public/browser/web_contents.h"
namespace content {

View File

@ -7,7 +7,7 @@
#include "include/cef_response_filter.h"
#include "base/callback_forward.h"
#include "base/functional/callback_forward.h"
#include "mojo/public/cpp/system/data_pipe.h"
namespace net_service {

View File

@ -8,14 +8,14 @@
#include "libcef/browser/thread_util.h"
#include "libcef/common/net_service/net_service_util.h"
#include "base/bind.h"
#include "base/callback.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "base/task/single_thread_task_runner.h"
#include "base/task/thread_pool.h"
#include "base/threading/thread.h"
#include "base/threading/thread_task_runner_handle.h"
#include "content/public/browser/browser_thread.h"
#include "net/base/io_buffer.h"
#include "net/http/http_status_code.h"
@ -45,7 +45,7 @@ class OpenInputStreamWrapper
OnInputStreamOpenedCallback callback) {
scoped_refptr<OpenInputStreamWrapper> wrapper = new OpenInputStreamWrapper(
std::move(delegate), work_thread_task_runner,
base::ThreadTaskRunnerHandle::Get(), std::move(callback));
base::SingleThreadTaskRunner::GetCurrentDefault(), std::move(callback));
wrapper->Start(request_id, request);
return wrapper->GetCancelCallback();
@ -242,7 +242,8 @@ InputStreamReader::InputStreamReader(
scoped_refptr<base::SequencedTaskRunner> work_thread_task_runner)
: stream_(std::move(stream)),
work_thread_task_runner_(work_thread_task_runner),
job_thread_task_runner_(base::ThreadTaskRunnerHandle::Get()) {
job_thread_task_runner_(
base::SingleThreadTaskRunner::GetCurrentDefault()) {
CEF_REQUIRE_IOT();
DCHECK(stream_);
DCHECK(work_thread_task_runner_);
@ -485,7 +486,7 @@ StreamReaderURLLoader::StreamReaderURLLoader(
response_delegate_(std::move(response_delegate)),
writable_handle_watcher_(FROM_HERE,
mojo::SimpleWatcher::ArmingPolicy::MANUAL,
base::SequencedTaskRunnerHandle::Get()),
base::SequencedTaskRunner::GetCurrentDefault()),
weak_factory_(this) {
DCHECK(response_delegate_);
// If there is a client error, clean up the request.
@ -696,8 +697,8 @@ void StreamReaderURLLoader::ContinueWithResponseHeaders(
const auto has_redirect_url = redirect_url && !redirect_url->is_empty();
if (has_redirect_url || pending_headers->IsRedirect(&location)) {
pending_response->encoded_data_length = header_length_;
pending_response->content_length = pending_response->encoded_body_length =
0;
pending_response->content_length = 0;
pending_response->encoded_body_length = 0;
const GURL new_location =
has_redirect_url ? *redirect_url : request_.url.Resolve(location);
client_->OnReceiveRedirect(
@ -794,7 +795,7 @@ void StreamReaderURLLoader::OnReaderReadCompleted(int bytes_read) {
client_->OnTransferSizeUpdated(bytes_read);
total_bytes_read_ += bytes_read;
base::ThreadTaskRunnerHandle::Get()->PostTask(
base::SingleThreadTaskRunner::GetCurrentDefault()->PostTask(
FROM_HERE, base::BindOnce(&StreamReaderURLLoader::ReadMore,
weak_factory_.GetWeakPtr()));
}

View File

@ -8,7 +8,7 @@
#include <map>
#include "base/callback.h"
#include "base/functional/callback.h"
#include "base/threading/thread_checker.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/system/simple_watcher.h"

View File

@ -8,7 +8,7 @@
#include "libcef/browser/thread_util.h"
#include "libcef/common/app_manager.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/task/single_thread_task_runner.h"
#include "content/browser/devtools/devtools_instrumentation.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "content/public/browser/browser_context.h"
@ -90,7 +90,7 @@ scoped_refptr<network::SharedURLLoaderFactory>
URLLoaderFactoryGetter::GetURLLoaderFactory() {
// On first call we associate with the current thread.
if (!task_runner_) {
task_runner_ = base::ThreadTaskRunnerHandle::Get();
task_runner_ = base::SingleThreadTaskRunner::GetCurrentDefault();
} else {
DCHECK(task_runner_->RunsTasksInCurrentSequence());
}

View File

@ -12,7 +12,7 @@
#include "libcef/browser/context.h"
#include "libcef/browser/thread_util.h"
#include "base/bind.h"
#include "base/functional/bind.h"
#include "base/lazy_instance.h"
#include "base/synchronization/lock.h"
#include "cef/libcef/common/mojom/cef.mojom.h"

View File

@ -7,7 +7,7 @@
#include <memory>
#include "base/callback.h"
#include "base/functional/callback.h"
#include "base/memory/shared_memory_mapping.h"
#include "components/viz/host/host_display_client.h"
#include "ui/gfx/native_widget_types.h"

View File

@ -85,6 +85,7 @@ struct PopulateAxNodeAttributes {
case ax::mojom::IntAttribute::kScrollYMin:
case ax::mojom::IntAttribute::kScrollYMax:
case ax::mojom::IntAttribute::kHasPopup:
case ax::mojom::IntAttribute::kIsPopup:
case ax::mojom::IntAttribute::kHierarchicalLevel:
case ax::mojom::IntAttribute::kTextSelStart:
case ax::mojom::IntAttribute::kTextSelEnd:

View File

@ -15,8 +15,8 @@
#include "libcef/browser/osr/video_consumer_osr.h"
#include "libcef/browser/thread_util.h"
#include "base/callback_helpers.h"
#include "base/command_line.h"
#include "base/functional/callback_helpers.h"
#include "base/memory/ptr_util.h"
#include "base/strings/utf_string_conversions.h"
#include "cc/base/switches.h"
@ -240,8 +240,8 @@ CefRenderWidgetHostViewOSR::CefRenderWidgetHostViewOSR(
// Matching the attributes from RecyclableCompositorMac.
compositor_.reset(new ui::Compositor(
context_factory->AllocateFrameSinkId(), context_factory,
base::ThreadTaskRunnerHandle::Get(), false /* enable_pixel_canvas */,
use_external_begin_frame));
base::SingleThreadTaskRunner::GetCurrentDefault(),
false /* enable_pixel_canvas */, use_external_begin_frame));
compositor_->SetAcceleratedWidget(gfx::kNullAcceleratedWidget);
compositor_->SetDelegate(this);
@ -635,8 +635,7 @@ void CefRenderWidgetHostViewOSR::InitAsPopup(
Show();
}
void CefRenderWidgetHostViewOSR::UpdateCursor(
const content::WebCursor& cursor) {}
void CefRenderWidgetHostViewOSR::UpdateCursor(const ui::Cursor& cursor) {}
content::CursorManager* CefRenderWidgetHostViewOSR::GetCursorManager() {
return cursor_manager_.get();

View File

@ -158,7 +158,7 @@ class CefRenderWidgetHostViewOSR
void InitAsPopup(content::RenderWidgetHostView* parent_host_view,
const gfx::Rect& bounds,
const gfx::Rect& anchor_rect) override;
void UpdateCursor(const content::WebCursor& cursor) override;
void UpdateCursor(const ui::Cursor& cursor) override;
void SetIsLoading(bool is_loading) override;
void RenderProcessGone() override;
void Destroy() override;

View File

@ -32,7 +32,7 @@ SoftwareOutputDeviceProxy::SoftwareOutputDeviceProxy(
void SoftwareOutputDeviceProxy::OnSwapBuffers(
SwapBuffersCallback swap_ack_callback,
gl::FrameData data) {
gfx::FrameData data) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
DCHECK(swap_ack_callback_.is_null());

View File

@ -28,7 +28,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputDeviceProxy
// SoftwareOutputDevice implementation.
void OnSwapBuffers(SwapBuffersCallback swap_ack_callback,
gl::FrameData data) override;
gfx::FrameData data) override;
// SoftwareOutputDeviceBase implementation.
void Resize(const gfx::Size& viewport_pixel_size,

View File

@ -11,7 +11,7 @@
#include "libcef/browser/osr/render_widget_host_view_osr.h"
#include "libcef/browser/osr/touch_handle_drawable_osr.h"
#include "base/bind.h"
#include "base/functional/bind.h"
#include "content/browser/renderer_host/render_widget_host_delegate.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/public/browser/context_menu_params.h"

View File

@ -1,7 +1,7 @@
#ifndef LIBCEF_BROWSER_OSR_VIDEO_CONSUMER_OSR_H_
#define LIBCEF_BROWSER_OSR_VIDEO_CONSUMER_OSR_H_
#include "base/callback.h"
#include "base/functional/callback.h"
#include "components/viz/host/client_frame_sink_video_capturer.h"
#include "media/capture/mojom/video_capture_types.mojom.h"
#include "third_party/abseil-cpp/absl/types/optional.h"

View File

@ -149,6 +149,9 @@ void CefWebContentsViewOSR::SetOverscrollControllerEnabled(bool enabled) {}
void CefWebContentsViewOSR::OnCapturerCountChanged() {}
void CefWebContentsViewOSR::UpdateWindowControlsOverlay(
const gfx::Rect& bounding_rect) {}
#if BUILDFLAG(IS_MAC)
bool CefWebContentsViewOSR::CloseTabAfterEventTrackingIfNeeded() {
return false;

View File

@ -61,6 +61,7 @@ class CefWebContentsViewOSR : public content::WebContentsView,
content::RenderViewHost* new_host) override;
void SetOverscrollControllerEnabled(bool enabled) override;
void OnCapturerCountChanged() override;
void UpdateWindowControlsOverlay(const gfx::Rect& bounding_rect) override;
#if BUILDFLAG(IS_MAC)
bool CloseTabAfterEventTrackingIfNeeded() override;

View File

@ -215,6 +215,8 @@ cef_permission_request_types_t GetCefRequestType(
return CEF_PERMISSION_TYPE_SECURITY_ATTESTATION;
case permissions::RequestType::kStorageAccess:
return CEF_PERMISSION_TYPE_STORAGE_ACCESS;
case permissions::RequestType::kTopLevelStorageAccess:
return CEF_PERMISSION_TYPE_TOP_LEVEL_STORAGE_ACCESS;
case permissions::RequestType::kU2fApiRequest:
return CEF_PERMISSION_TYPE_U2F_API_REQUEST;
case permissions::RequestType::kVrSession:

View File

@ -43,6 +43,7 @@
#include "components/component_updater/component_updater_service.h"
#include "components/content_settings/core/browser/cookie_settings.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/domain_reliability/domain_reliability_prefs.h"
#include "components/flags_ui/pref_service_flags_storage.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h"
#include "components/language/core/browser/language_prefs.h"
@ -230,6 +231,7 @@ std::unique_ptr<PrefService> CreatePrefService(Profile* profile,
if (!profile) {
component_updater::RegisterComponentUpdateServicePrefs(registry.get());
domain_reliability::RegisterPrefs(registry.get());
SystemNetworkContextManager::RegisterPrefs(registry.get());
#if BUILDFLAG(IS_WIN)
OSCrypt::RegisterLocalPrefs(registry.get());

View File

@ -14,8 +14,8 @@
#include "libcef/common/app_manager.h"
#include "libcef/common/frame_util.h"
#include "base/bind.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/lazy_instance.h"
#include "base/logging.h"
#include "base/strings/utf_string_conversions.h"

View File

@ -16,8 +16,8 @@
#include "chrome/browser/profiles/profile.h"
#include "components/prefs/pref_service.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/child_process_host.h"
#include "content/public/browser/ssl_host_state_delegate.h"
#include "content/public/common/child_process_host.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "net/dns/host_resolver.h"

View File

@ -8,8 +8,8 @@
#include "libcef/common/request_impl.h"
#include "libcef/common/task_runner_impl.h"
#include "base/bind.h"
#include "base/format_macros.h"
#include "base/functional/bind.h"
#include "base/memory/ptr_util.h"
#include "base/strings/stringprintf.h"
#include "base/task/thread_pool.h"

View File

@ -10,8 +10,8 @@
#include "libcef/browser/thread_util.h"
#include "libcef/common/cef_switches.h"
#include "base/bind.h"
#include "base/command_line.h"
#include "base/functional/bind.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_observer.h"

View File

@ -4,7 +4,7 @@
#include "libcef/browser/ssl_host_state_delegate.h"
#include "base/callback.h"
#include "base/functional/callback.h"
#include "net/base/hash_value.h"
using content::SSLHostStateDelegate;

View File

@ -8,8 +8,8 @@
#include "base/logging.h"
#include "base/strings/string_util.h"
#include "base/task/single_thread_task_runner.h"
#include "base/threading/thread_checker.h"
#include "base/threading/thread_task_runner_handle.h"
#include "net/http/http_request_headers.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "net/test/embedded_test_server/http_response.h"
@ -22,7 +22,8 @@ class CefTestServerConnectionImpl : public CefTestServerConnection {
public:
explicit CefTestServerConnectionImpl(
base::WeakPtr<HttpResponseDelegate> delegate)
: delegate_(delegate), task_runner_(base::ThreadTaskRunnerHandle::Get()) {
: delegate_(delegate),
task_runner_(base::SingleThreadTaskRunner::GetCurrentDefault()) {
DCHECK(delegate_);
DCHECK(task_runner_);
}

View File

@ -7,7 +7,7 @@
#include "libcef/browser/thread_util.h"
#include "base/files/file_util.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/task/single_thread_task_runner.h"
#include "base/trace_event/trace_event.h"
#include "content/public/browser/tracing_controller.h"
@ -111,7 +111,7 @@ bool CefTraceSubscriber::EndTracing(const base::FilePath& tracing_file,
// Create a new temporary file path on the FILE thread, then continue.
CEF_POST_USER_VISIBLE_TASK(
base::BindOnce(CreateTemporaryFileOnBackgroundThread,
base::ThreadTaskRunnerHandle::Get(),
base::SingleThreadTaskRunner::GetCurrentDefault(),
base::BindOnce(&CefTraceSubscriber::ContinueEndTracing,
weak_factory_.GetWeakPtr(), callback)));
return true;

View File

@ -13,7 +13,7 @@
#include "libcef/browser/views/browser_view_view.h"
#include "libcef/browser/views/view_impl.h"
#include "base/callback_forward.h"
#include "base/functional/callback_forward.h"
#include "base/memory/weak_ptr.h"
#include "ui/views/controls/webview/unhandled_keyboard_event_handler.h"

View File

@ -47,9 +47,10 @@ namespace {
// The following plugin-related methods are from
// chrome/common/chrome_content_client.cc
const char kPDFPluginExtension[] = "pdf";
const char kPDFPluginDescription[] = "Portable Document Format";
const uint32_t kPDFPluginPermissions =
constexpr char kPDFPluginName[] = "Chromium PDF Plugin";
constexpr char kPDFPluginExtension[] = "pdf";
constexpr char kPDFPluginDescription[] = "Portable Document Format";
constexpr uint32_t kPDFPluginPermissions =
ppapi::PERMISSION_PDF | ppapi::PERMISSION_DEV;
// Appends the known built-in plugins to the given vector. Some built-in
@ -62,9 +63,9 @@ void ComputeBuiltInPlugins(std::vector<content::ContentPluginInfo>* plugins) {
content::ContentPluginInfo pdf_info;
pdf_info.is_internal = true;
pdf_info.is_out_of_process = true;
pdf_info.name = ChromeContentClient::kPDFInternalPluginName;
pdf_info.name = kPDFPluginName;
pdf_info.description = kPDFPluginDescription;
pdf_info.path = base::FilePath(ChromeContentClient::kPDFPluginPath);
pdf_info.path = base::FilePath(ChromeContentClient::kPDFInternalPluginPath);
content::WebPluginMimeType pdf_mime_type(pdf::kInternalPluginMimeType,
kPDFPluginExtension,
kPDFPluginDescription);

View File

@ -11,7 +11,7 @@
#include "include/cef_app.h"
#include "include/cef_request_context.h"
#include "base/callback.h"
#include "base/functional/callback.h"
#include "build/build_config.h"
#include "content/public/common/content_client.h"

View File

@ -22,7 +22,7 @@ To add a new extension API implemented only in CEF ***:
files if necessary [2].
7. Call `<class>::GetInstance();` or `<class>Factory::GetFactoryInstance();` [3]
from EnsureBrowserContextKeyedServiceFactoriesBuilt in
libcef/browser/extensions/browser_context_keyed_service_factories.cc.
libcef/browser/browser_context_keyed_service_factories.cc.
8. Call `DependsOn(<class>Factory::GetInstance());` from
CefExtensionSystemFactory::CefExtensionSystemFactory in
libcef/browser/extensions/extension_system_factory.cc if necessary [3].

View File

@ -22,6 +22,10 @@
"channel": "stable",
"matches": ["<all_urls>"]
},
"pdfViewerPrivate": {
"dependencies": ["permission:pdfViewerPrivate"],
"contexts": ["blessed_extension"]
},
"resourcesPrivate": [
{
"dependencies": ["permission:resourcesPrivate"],

View File

@ -16,6 +16,13 @@
"channel": "stable",
"extension_types": ["extension", "legacy_packaged_app"]
},
"pdfViewerPrivate": {
"channel": "stable",
"extension_types": ["extension"],
"allowlist": [
"CBCC42ABED43A4B58FE3810E62AFFA010EB0349F" // PDF Viewer
]
},
"resourcesPrivate": {
"channel": "stable",
"extension_types": [

Some files were not shown because too many files have changed in this diff Show More