mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-24 16:07:42 +01:00
Update to Chromium version 105.0.5176.0 (#1023155)
This commit is contained in:
parent
5e753d211f
commit
e9f29ab3d6
@ -7,5 +7,5 @@
|
||||
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
|
||||
|
||||
{
|
||||
'chromium_checkout': 'refs/tags/104.0.5112.0'
|
||||
'chromium_checkout': 'refs/tags/105.0.5176.0'
|
||||
}
|
||||
|
@ -43,7 +43,6 @@
|
||||
'content/browser/renderer_host/render_widget_host_view_base.*',
|
||||
'content/public/browser/content_browser_client.*',
|
||||
'content/public/browser/render_widget_host_view.h',
|
||||
'content/public/browser/storage_partition.h',
|
||||
'content/public/browser/web_contents_delegate.h',
|
||||
'content/public/common/content_features.cc',
|
||||
'content/shell/BUILD.gn',
|
||||
|
@ -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 "39f4f2317bfe2012cbc93d007f7b66b051a40801"
|
||||
#define CEF_API_HASH_UNIVERSAL "f8cca8b07034c67a6302e505c230ffe0f050fd78"
|
||||
#if defined(OS_WIN)
|
||||
#define CEF_API_HASH_PLATFORM "69c564c61f449d5121f991027434b904f9da0487"
|
||||
#define CEF_API_HASH_PLATFORM "315cda8357a855c2db9c5cdfce405b5e575fa667"
|
||||
#elif defined(OS_MAC)
|
||||
#define CEF_API_HASH_PLATFORM "5304a0e2ad7f12306b20aa68a2393068e3d486e3"
|
||||
#define CEF_API_HASH_PLATFORM "3d59ba798ad73de75680f7b3487a2f8061a1650b"
|
||||
#elif defined(OS_LINUX)
|
||||
#define CEF_API_HASH_PLATFORM "dbce3938f92feca03bcf12a183db4e903cd3aa87"
|
||||
#define CEF_API_HASH_PLATFORM "fac4720a6d4e5a3550e421aaf043d46ab15dfa85"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -3145,7 +3145,7 @@ typedef struct _cef_audio_parameters_t {
|
||||
|
||||
///
|
||||
// Result codes for CefMediaRouter::CreateRoute. Should be kept in sync with
|
||||
// Chromium's media_router::RouteRequestResult::ResultCode type.
|
||||
// Chromium's media_router::mojom::RouteRequestResultCode type.
|
||||
///
|
||||
typedef enum {
|
||||
CEF_MRCR_UNKNOWN_ERROR = 0,
|
||||
@ -3158,8 +3158,6 @@ typedef enum {
|
||||
CEF_MRCR_CANCELLED = 8,
|
||||
CEF_MRCR_ROUTE_ALREADY_EXISTS = 9,
|
||||
CEF_MRCR_ROUTE_ALREADY_TERMINATED = 11,
|
||||
|
||||
CEF_MRCR_TOTAL_COUNT = 12 // The total number of values.
|
||||
} cef_media_route_create_result_t;
|
||||
|
||||
///
|
||||
|
@ -1082,7 +1082,8 @@ void AlloyBrowserHostImpl::CloseContents(content::WebContents* source) {
|
||||
|
||||
if (source) {
|
||||
// Try to fast shutdown the associated process.
|
||||
source->GetMainFrame()->GetProcess()->FastShutdownIfPossible(1, false);
|
||||
source->GetPrimaryMainFrame()->GetProcess()->FastShutdownIfPossible(
|
||||
1, false);
|
||||
}
|
||||
|
||||
// No window exists. Destroy the browser immediately. Don't call other
|
||||
@ -1463,7 +1464,7 @@ AlloyBrowserHostImpl::AlloyBrowserHostImpl(
|
||||
platform_delegate_->BrowserCreated(this);
|
||||
|
||||
// Make sure RenderFrameCreated is called at least one time.
|
||||
RenderFrameCreated(web_contents->GetMainFrame());
|
||||
RenderFrameCreated(web_contents->GetPrimaryMainFrame());
|
||||
}
|
||||
|
||||
bool AlloyBrowserHostImpl::CreateHostWindow() {
|
||||
|
@ -153,14 +153,10 @@ void ToolkitInitializedLinux() {
|
||||
new ui::FakeInputMethodContextFactory());
|
||||
}
|
||||
|
||||
auto create_print_dialog_func =
|
||||
printing::PrintingContextLinux::SetCreatePrintDialogFunction(
|
||||
&CefPrintDialogLinux::CreatePrintDialog);
|
||||
auto pdf_paper_size_func =
|
||||
printing::PrintingContextLinux::SetPdfPaperSizeFunction(
|
||||
&CefPrintDialogLinux::GetPdfPaperSize);
|
||||
CefPrintDialogLinux::SetDefaultPrintingContextFuncs(create_print_dialog_func,
|
||||
pdf_paper_size_func);
|
||||
auto printing_delegate = new CefPrintingContextLinuxDelegate();
|
||||
auto default_delegate =
|
||||
printing::PrintingContextLinuxDelegate::SetInstance(printing_delegate);
|
||||
printing_delegate->SetDefaultDelegate(default_delegate);
|
||||
}
|
||||
|
||||
#endif // BUILDFLAG(IS_LINUX)
|
||||
|
@ -100,7 +100,7 @@ void CefBrowserContentsDelegate::ObserveWebContents(
|
||||
// Make sure MaybeCreateFrame is called at least one time.
|
||||
// Create the frame representation before OnAfterCreated is called for a new
|
||||
// browser.
|
||||
browser_info_->MaybeCreateFrame(new_contents->GetMainFrame(),
|
||||
browser_info_->MaybeCreateFrame(new_contents->GetPrimaryMainFrame(),
|
||||
false /* is_guest_view */);
|
||||
|
||||
// Make sure RenderWidgetCreated is called at least one time. This Observer
|
||||
|
@ -1012,7 +1012,7 @@ bool CefBrowserHostBase::IsFocused() const {
|
||||
auto web_contents = GetWebContents();
|
||||
if (web_contents) {
|
||||
return static_cast<content::RenderFrameHostImpl*>(
|
||||
web_contents->GetMainFrame())
|
||||
web_contents->GetPrimaryMainFrame())
|
||||
->IsFocused();
|
||||
}
|
||||
return false;
|
||||
|
@ -85,7 +85,7 @@ scoped_refptr<CefBrowserInfo> CefBrowserInfoManager::CreatePopupBrowserInfo(
|
||||
CefRefPtr<CefDictionaryValue> extra_info) {
|
||||
base::AutoLock lock_scope(browser_info_lock_);
|
||||
|
||||
auto frame_host = new_contents->GetMainFrame();
|
||||
auto frame_host = new_contents->GetPrimaryMainFrame();
|
||||
|
||||
scoped_refptr<CefBrowserInfo> browser_info =
|
||||
new CefBrowserInfo(++next_browser_id_, true, is_windowless, extra_info);
|
||||
|
@ -28,8 +28,8 @@ void ChromeMimeHandlerViewGuestDelegateCef::OnGuestAttached() {
|
||||
DCHECK(owner_browser);
|
||||
|
||||
// Associate guest state information with the owner browser.
|
||||
owner_browser->browser_info()->MaybeCreateFrame(web_contents->GetMainFrame(),
|
||||
true /* is_guest_view */);
|
||||
owner_browser->browser_info()->MaybeCreateFrame(
|
||||
web_contents->GetPrimaryMainFrame(), true /* is_guest_view */);
|
||||
}
|
||||
|
||||
void ChromeMimeHandlerViewGuestDelegateCef::OnGuestDetached() {
|
||||
@ -41,7 +41,8 @@ void ChromeMimeHandlerViewGuestDelegateCef::OnGuestDetached() {
|
||||
DCHECK(owner_browser);
|
||||
|
||||
// Disassociate guest state information with the owner browser.
|
||||
owner_browser->browser_info()->RemoveFrame(web_contents->GetMainFrame());
|
||||
owner_browser->browser_info()->RemoveFrame(
|
||||
web_contents->GetPrimaryMainFrame());
|
||||
}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -200,6 +200,6 @@ void CefDevToolsFileManager::CallClientFunction(
|
||||
}
|
||||
}
|
||||
javascript.append(");");
|
||||
browser_impl_->web_contents()->GetMainFrame()->ExecuteJavaScript(
|
||||
browser_impl_->web_contents()->GetPrimaryMainFrame()->ExecuteJavaScript(
|
||||
base::UTF8ToUTF16(javascript), base::NullCallback());
|
||||
}
|
||||
|
@ -369,20 +369,18 @@ void CefDevToolsFrontend::WebContentsDestroyed() {
|
||||
}
|
||||
|
||||
void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
|
||||
base::Value message) {
|
||||
if (!message.is_dict())
|
||||
return;
|
||||
const std::string* method = message.FindStringKey("method");
|
||||
base::Value::Dict message) {
|
||||
const std::string* method = message.FindString("method");
|
||||
if (!method)
|
||||
return;
|
||||
|
||||
int request_id = message.FindIntKey("id").value_or(0);
|
||||
base::Value* params_value = message.FindListKey("params");
|
||||
int request_id = message.FindInt("id").value_or(0);
|
||||
base::Value::List* params_value = message.FindList("params");
|
||||
|
||||
// Since we've received message by value, we can take the list.
|
||||
base::Value::ListStorage params;
|
||||
base::Value::List params;
|
||||
if (params_value) {
|
||||
params = std::move(*params_value).TakeListDeprecated();
|
||||
params = std::move(*params_value);
|
||||
}
|
||||
|
||||
if (*method == "dispatchProtocolMessage") {
|
||||
@ -397,7 +395,7 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
|
||||
agent_host_->DispatchProtocolMessage(
|
||||
this, base::as_bytes(base::make_span(*protocol_message)));
|
||||
} else if (*method == "loadCompleted") {
|
||||
web_contents()->GetMainFrame()->ExecuteJavaScriptForTests(
|
||||
web_contents()->GetPrimaryMainFrame()->ExecuteJavaScriptForTests(
|
||||
u"DevToolsAPI.setUseSoftMenu(true);", base::NullCallback());
|
||||
} else if (*method == "loadNetworkResource") {
|
||||
if (params.size() < 3)
|
||||
@ -413,10 +411,10 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
|
||||
|
||||
GURL gurl(*url);
|
||||
if (!gurl.is_valid()) {
|
||||
base::DictionaryValue response;
|
||||
response.SetInteger("statusCode", 404);
|
||||
response.SetBoolean("urlValid", false);
|
||||
SendMessageAck(request_id, std::move(response));
|
||||
base::Value::Dict response;
|
||||
response.Set("statusCode", 404);
|
||||
response.Set("urlValid", false);
|
||||
SendMessageAck(request_id, base::Value(std::move(response)));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -471,7 +469,7 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
|
||||
return;
|
||||
} else {
|
||||
auto* partition =
|
||||
web_contents()->GetBrowserContext()->GetStoragePartitionForUrl(gurl);
|
||||
inspected_contents_->GetPrimaryMainFrame()->GetStoragePartition();
|
||||
url_loader_factory = partition->GetURLLoaderFactoryForBrowserProcess();
|
||||
}
|
||||
|
||||
@ -506,7 +504,7 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
|
||||
DictionaryPrefUpdate update(GetPrefs(), prefs::kDevToolsPreferences);
|
||||
update.Get()->RemoveKey(*name);
|
||||
} else if (*method == "requestFileSystems") {
|
||||
web_contents()->GetMainFrame()->ExecuteJavaScriptForTests(
|
||||
web_contents()->GetPrimaryMainFrame()->ExecuteJavaScriptForTests(
|
||||
u"DevToolsAPI.fileSystemsLoaded([]);", base::NullCallback());
|
||||
} else if (*method == "reattach") {
|
||||
if (!agent_host_)
|
||||
@ -592,7 +590,7 @@ void CefDevToolsFrontend::CallClientFunction(
|
||||
base::OnceCallback<void(base::Value)> cb) {
|
||||
std::string javascript;
|
||||
|
||||
web_contents()->GetMainFrame()->AllowInjectingJavaScript();
|
||||
web_contents()->GetPrimaryMainFrame()->AllowInjectingJavaScript();
|
||||
|
||||
base::Value::List arguments;
|
||||
if (!arg1.is_none()) {
|
||||
@ -604,7 +602,7 @@ void CefDevToolsFrontend::CallClientFunction(
|
||||
}
|
||||
}
|
||||
}
|
||||
web_contents()->GetMainFrame()->ExecuteJavaScriptMethod(
|
||||
web_contents()->GetPrimaryMainFrame()->ExecuteJavaScriptMethod(
|
||||
base::ASCIIToUTF16(object_name), base::ASCIIToUTF16(method_name),
|
||||
std::move(arguments), std::move(cb));
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ class CefDevToolsFrontend : public content::WebContentsObserver,
|
||||
void AgentHostClosed(content::DevToolsAgentHost* agent_host) override;
|
||||
void DispatchProtocolMessage(content::DevToolsAgentHost* agent_host,
|
||||
base::span<const uint8_t> message) override;
|
||||
void HandleMessageFromDevToolsFrontend(base::Value message);
|
||||
void HandleMessageFromDevToolsFrontend(base::Value::Dict message);
|
||||
|
||||
private:
|
||||
// WebContentsObserver overrides
|
||||
|
@ -160,7 +160,6 @@ class CefBeforeDownloadCallbackImpl : public CefBeforeDownloadCallback {
|
||||
download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
|
||||
download::DownloadItem::MixedContentStatus::UNKNOWN, suggested_path,
|
||||
base::FilePath(), std::string() /*mime_type*/,
|
||||
absl::nullopt /*download_schedule*/,
|
||||
download::DOWNLOAD_INTERRUPT_REASON_NONE);
|
||||
}
|
||||
}
|
||||
@ -179,7 +178,6 @@ class CefBeforeDownloadCallbackImpl : public CefBeforeDownloadCallback {
|
||||
download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
|
||||
download::DownloadItem::MixedContentStatus::UNKNOWN,
|
||||
path, base::FilePath(), std::string() /*mime_type*/,
|
||||
absl::nullopt /*download_schedule*/,
|
||||
download::DOWNLOAD_INTERRUPT_REASON_NONE);
|
||||
}
|
||||
|
||||
@ -368,8 +366,7 @@ bool CefDownloadManagerDelegate::DetermineDownloadTarget(
|
||||
download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS,
|
||||
download::DownloadItem::MixedContentStatus::UNKNOWN,
|
||||
item->GetForcedFilePath(), base::FilePath(),
|
||||
std::string() /*mime_type*/, absl::nullopt /*download_schedule*/,
|
||||
download::DOWNLOAD_INTERRUPT_REASON_NONE);
|
||||
std::string() /*mime_type*/, download::DOWNLOAD_INTERRUPT_REASON_NONE);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -46,8 +46,8 @@ void CefMimeHandlerViewGuestDelegate::OnGuestAttached() {
|
||||
DCHECK(owner_browser);
|
||||
|
||||
// Associate guest state information with the owner browser.
|
||||
owner_browser->browser_info()->MaybeCreateFrame(web_contents->GetMainFrame(),
|
||||
true /* is_guest_view */);
|
||||
owner_browser->browser_info()->MaybeCreateFrame(
|
||||
web_contents->GetPrimaryMainFrame(), true /* is_guest_view */);
|
||||
}
|
||||
|
||||
void CefMimeHandlerViewGuestDelegate::OnGuestDetached() {
|
||||
@ -59,7 +59,8 @@ void CefMimeHandlerViewGuestDelegate::OnGuestDetached() {
|
||||
DCHECK(owner_browser);
|
||||
|
||||
// Disassociate guest state information with the owner browser.
|
||||
owner_browser->browser_info()->RemoveFrame(web_contents->GetMainFrame());
|
||||
owner_browser->browser_info()->RemoveFrame(
|
||||
web_contents->GetPrimaryMainFrame());
|
||||
}
|
||||
|
||||
bool CefMimeHandlerViewGuestDelegate::HandleContextMenu(
|
||||
|
@ -60,11 +60,11 @@ ValueStore::ReadResult CefValueStore::Get(
|
||||
if (!status_.ok())
|
||||
return ReadResult(CreateStatusCopy(status_));
|
||||
|
||||
auto settings = std::make_unique<base::DictionaryValue>();
|
||||
base::Value::Dict settings;
|
||||
for (const auto& key : keys) {
|
||||
base::Value* value = storage_.FindKey(key);
|
||||
base::Value* value = storage_.Find(key);
|
||||
if (value) {
|
||||
settings->SetKey(key, value->Clone());
|
||||
settings.Set(key, value->Clone());
|
||||
}
|
||||
}
|
||||
return ReadResult(std::move(settings), CreateStatusCopy(status_));
|
||||
@ -74,35 +74,33 @@ ValueStore::ReadResult CefValueStore::Get() {
|
||||
read_count_++;
|
||||
if (!status_.ok())
|
||||
return ReadResult(CreateStatusCopy(status_));
|
||||
return ReadResult(storage_.CreateDeepCopy(), CreateStatusCopy(status_));
|
||||
return ReadResult(storage_.Clone(), CreateStatusCopy(status_));
|
||||
}
|
||||
|
||||
ValueStore::WriteResult CefValueStore::Set(WriteOptions options,
|
||||
const std::string& key,
|
||||
const base::Value& value) {
|
||||
base::DictionaryValue settings;
|
||||
settings.SetKey(key, value.Clone());
|
||||
base::Value::Dict settings;
|
||||
settings.Set(key, value.Clone());
|
||||
return Set(options, settings);
|
||||
}
|
||||
|
||||
ValueStore::WriteResult CefValueStore::Set(
|
||||
WriteOptions options,
|
||||
const base::DictionaryValue& settings) {
|
||||
ValueStore::WriteResult CefValueStore::Set(WriteOptions options,
|
||||
const base::Value::Dict& settings) {
|
||||
write_count_++;
|
||||
if (!status_.ok())
|
||||
return WriteResult(CreateStatusCopy(status_));
|
||||
|
||||
ValueStoreChangeList changes;
|
||||
for (base::DictionaryValue::Iterator it(settings); !it.IsAtEnd();
|
||||
it.Advance()) {
|
||||
base::Value* old_value = storage_.FindKey(it.key());
|
||||
if (!old_value || *old_value != it.value()) {
|
||||
changes.emplace_back(it.key(),
|
||||
for (const auto [key, value] : settings) {
|
||||
base::Value* old_value = storage_.Find(key);
|
||||
if (!old_value || *old_value != value) {
|
||||
changes.emplace_back(key,
|
||||
old_value
|
||||
? absl::optional<base::Value>(old_value->Clone())
|
||||
: absl::nullopt,
|
||||
it.value().Clone());
|
||||
storage_.SetKey(it.key(), it.value().Clone());
|
||||
value.Clone());
|
||||
storage_.Set(key, value.Clone());
|
||||
}
|
||||
}
|
||||
return WriteResult(std::move(changes), CreateStatusCopy(status_));
|
||||
@ -120,7 +118,7 @@ ValueStore::WriteResult CefValueStore::Remove(
|
||||
|
||||
ValueStoreChangeList changes;
|
||||
for (auto const& key : keys) {
|
||||
absl::optional<base::Value> old_value = storage_.ExtractKey(key);
|
||||
absl::optional<base::Value> old_value = storage_.Extract(key);
|
||||
if (old_value.has_value()) {
|
||||
changes.emplace_back(key, std::move(*old_value), absl::nullopt);
|
||||
}
|
||||
@ -130,9 +128,8 @@ ValueStore::WriteResult CefValueStore::Remove(
|
||||
|
||||
ValueStore::WriteResult CefValueStore::Clear() {
|
||||
std::vector<std::string> keys;
|
||||
for (base::DictionaryValue::Iterator it(storage_); !it.IsAtEnd();
|
||||
it.Advance()) {
|
||||
keys.push_back(it.key());
|
||||
for (const auto [key, value] : storage_) {
|
||||
keys.push_back(key);
|
||||
}
|
||||
return Remove(keys);
|
||||
}
|
||||
|
@ -48,13 +48,13 @@ class CefValueStore : public ValueStore {
|
||||
const std::string& key,
|
||||
const base::Value& value) override;
|
||||
WriteResult Set(WriteOptions options,
|
||||
const base::DictionaryValue& values) override;
|
||||
const base::Value::Dict& values) override;
|
||||
WriteResult Remove(const std::string& key) override;
|
||||
WriteResult Remove(const std::vector<std::string>& keys) override;
|
||||
WriteResult Clear() override;
|
||||
|
||||
private:
|
||||
base::DictionaryValue storage_;
|
||||
base::Value::Dict storage_;
|
||||
int read_count_ = 0;
|
||||
int write_count_ = 0;
|
||||
ValueStore::Status status_;
|
||||
|
@ -368,7 +368,7 @@ void CefFileDialogManager::RunFileChooser(
|
||||
// by CefSelectFileDialogFactory, resulting in call to RunSelectFile below.
|
||||
// See related comments on CefSelectFileDialogFactory.
|
||||
FileSelectHelper::RunFileChooser(
|
||||
browser_->GetWebContents()->GetMainFrame(),
|
||||
browser_->GetWebContents()->GetPrimaryMainFrame(),
|
||||
base::MakeRefCounted<CefFileSelectListener>(std::move(callback)),
|
||||
new_params, /*run_from_cef=*/true);
|
||||
}
|
||||
|
@ -117,8 +117,8 @@ class CefUIThread : public base::PlatformThread::Delegate {
|
||||
|
||||
void Start() {
|
||||
base::AutoLock lock(thread_lock_);
|
||||
bool success = base::PlatformThread::CreateWithPriority(
|
||||
0, this, &thread_, base::ThreadPriority::NORMAL);
|
||||
bool success = base::PlatformThread::CreateWithType(
|
||||
0, this, &thread_, base::ThreadType::kDefault);
|
||||
if (!success) {
|
||||
LOG(FATAL) << "failed to UI create thread";
|
||||
}
|
||||
|
@ -137,13 +137,7 @@ class CefRegistrationImpl : public CefRegistration,
|
||||
IMPLEMENT_REFCOUNTING_DELETE_ON_UIT(CefRegistrationImpl);
|
||||
};
|
||||
|
||||
CefMediaRouterImpl::CefMediaRouterImpl() {
|
||||
// Verify that our enum matches Chromium's values.
|
||||
static_assert(
|
||||
static_cast<int>(CEF_MRCR_TOTAL_COUNT) ==
|
||||
static_cast<int>(media_router::RouteRequestResult::TOTAL_COUNT),
|
||||
"enum mismatch");
|
||||
}
|
||||
CefMediaRouterImpl::CefMediaRouterImpl() = default;
|
||||
|
||||
void CefMediaRouterImpl::Initialize(
|
||||
const CefBrowserContext::Getter& browser_context_getter,
|
||||
@ -285,7 +279,7 @@ void CefMediaRouterImpl::CreateRouteCallback(
|
||||
const media_router::RouteRequestResult& result) {
|
||||
DCHECK(ValidContext());
|
||||
|
||||
if (result.result_code() != media_router::RouteRequestResult::OK) {
|
||||
if (result.result_code() != media_router::mojom::RouteRequestResultCode::OK) {
|
||||
LOG(WARNING) << "Media route creation failed: " << result.error() << " ("
|
||||
<< result.result_code() << ")";
|
||||
}
|
||||
@ -294,7 +288,7 @@ void CefMediaRouterImpl::CreateRouteCallback(
|
||||
return;
|
||||
|
||||
CefRefPtr<CefMediaRoute> route;
|
||||
if (result.result_code() == media_router::RouteRequestResult::OK &&
|
||||
if (result.result_code() == media_router::mojom::RouteRequestResultCode::OK &&
|
||||
result.route()) {
|
||||
route = new CefMediaRouteImpl(*result.route(), browser_context_getter_);
|
||||
}
|
||||
|
@ -36,7 +36,6 @@
|
||||
#include "chrome/browser/ui/webui/theme_source.h"
|
||||
#include "chrome/common/url_constants.h"
|
||||
#include "content/browser/renderer_host/debug_urls.h"
|
||||
#include "content/browser/webui/content_web_ui_controller_factory.h"
|
||||
#include "content/public/browser/browser_url_handler.h"
|
||||
#include "content/public/browser/content_browser_client.h"
|
||||
#include "content/public/browser/url_data_source.h"
|
||||
@ -577,11 +576,6 @@ class CefWebUIControllerFactory : public content::WebUIControllerFactory {
|
||||
return std::make_unique<CefWebUIController>(web_ui, url.host(), host_id);
|
||||
}
|
||||
|
||||
controller = content::ContentWebUIControllerFactory::GetInstance()
|
||||
->CreateWebUIControllerForURL(web_ui, url);
|
||||
if (controller)
|
||||
return controller;
|
||||
|
||||
controller = content::WebUIConfigMap::GetInstance()
|
||||
.controller_factory()
|
||||
->CreateWebUIControllerForURL(web_ui, url);
|
||||
@ -603,11 +597,6 @@ class CefWebUIControllerFactory : public content::WebUIControllerFactory {
|
||||
return kCefWebUITypeID;
|
||||
}
|
||||
|
||||
type = content::ContentWebUIControllerFactory::GetInstance()->GetWebUIType(
|
||||
browser_context, url);
|
||||
if (type != content::WebUI::kNoWebUI)
|
||||
return type;
|
||||
|
||||
type = content::WebUIConfigMap::GetInstance()
|
||||
.controller_factory()
|
||||
->GetWebUIType(browser_context, url);
|
||||
@ -632,9 +621,7 @@ class CefWebUIControllerFactory : public content::WebUIControllerFactory {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (content::ContentWebUIControllerFactory::GetInstance()->UseWebUIForURL(
|
||||
browser_context, url) ||
|
||||
content::WebUIConfigMap::GetInstance()
|
||||
if (content::WebUIConfigMap::GetInstance()
|
||||
.controller_factory()
|
||||
->UseWebUIForURL(browser_context, url) ||
|
||||
ChromeWebUIControllerFactory::GetInstance()->UseWebUIForURL(
|
||||
@ -698,8 +685,6 @@ CefWebUIControllerFactory* CefWebUIControllerFactory::GetInstance() {
|
||||
|
||||
void RegisterWebUIControllerFactory() {
|
||||
// Channel all WebUI handling through CefWebUIControllerFactory.
|
||||
content::WebUIControllerFactory::UnregisterFactoryForTesting(
|
||||
content::ContentWebUIControllerFactory::GetInstance());
|
||||
content::WebUIControllerFactory::UnregisterFactoryForTesting(
|
||||
content::WebUIConfigMap::GetInstance().controller_factory());
|
||||
|
||||
|
@ -43,8 +43,8 @@ bool NavigationOnUIThread(content::NavigationHandle* navigation_handle) {
|
||||
|
||||
CefRefPtr<CefBrowserHostBase> browser;
|
||||
if (!CefBrowserInfoManager::GetInstance()->MaybeAllowNavigation(
|
||||
navigation_handle->GetWebContents()->GetMainFrame(), open_params,
|
||||
browser)) {
|
||||
navigation_handle->GetWebContents()->GetPrimaryMainFrame(),
|
||||
open_params, browser)) {
|
||||
// Cancel the navigation.
|
||||
return true;
|
||||
}
|
||||
|
@ -1342,7 +1342,7 @@ std::unique_ptr<InterceptedRequestHandler> CreateInterceptedRequestHandler(
|
||||
if (request.is_outermost_main_frame ||
|
||||
static_cast<blink::mojom::ResourceType>(request.resource_type) ==
|
||||
blink::mojom::ResourceType::kMainFrame) {
|
||||
frame = web_contents->GetMainFrame();
|
||||
frame = web_contents->GetPrimaryMainFrame();
|
||||
CHECK(frame);
|
||||
} else {
|
||||
// May return nullptr for frames in inner WebContents.
|
||||
@ -1359,7 +1359,7 @@ std::unique_ptr<InterceptedRequestHandler> CreateInterceptedRequestHandler(
|
||||
|
||||
if (!frame) {
|
||||
// Use the main frame for the CefBrowserHost.
|
||||
frame = web_contents->GetMainFrame();
|
||||
frame = web_contents->GetPrimaryMainFrame();
|
||||
CHECK(frame);
|
||||
}
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ class CefVideoConsumerOSR : public viz::mojom::FrameSinkVideoConsumer {
|
||||
const gfx::Rect& content_rect,
|
||||
mojo::PendingRemote<viz::mojom::FrameSinkVideoConsumerFrameCallbacks>
|
||||
callbacks) override;
|
||||
void OnNewCropVersion(uint32_t crop_version) override {}
|
||||
void OnFrameWithEmptyRegionCapture() override {}
|
||||
void OnStopped() override {}
|
||||
void OnLog(const std::string& message) override {}
|
||||
|
@ -160,7 +160,7 @@ void SetExtensionPrefs(content::WebContents* web_contents,
|
||||
// tags as well as hosts that happen to match the id of an installed extension
|
||||
// would get the wrong preferences.
|
||||
const GURL& site_url =
|
||||
web_contents->GetMainFrame()->GetSiteInstance()->GetSiteURL();
|
||||
web_contents->GetPrimaryMainFrame()->GetSiteInstance()->GetSiteURL();
|
||||
if (!site_url.SchemeIs(extensions::kExtensionScheme))
|
||||
return;
|
||||
|
||||
@ -403,7 +403,8 @@ void PopulateWebPreferences(content::RenderViewHost* rvh,
|
||||
|
||||
auto web_contents = content::WebContents::FromRenderViewHost(rvh);
|
||||
UpdatePreferredColorScheme(
|
||||
&web, web_contents->GetMainFrame()->GetSiteInstance()->GetSiteURL(),
|
||||
&web,
|
||||
web_contents->GetPrimaryMainFrame()->GetSiteInstance()->GetSiteURL(),
|
||||
native_theme);
|
||||
|
||||
// Set preferences based on the extension.
|
||||
|
@ -32,11 +32,6 @@ using printing::PrintSettings;
|
||||
|
||||
namespace {
|
||||
|
||||
printing::PrintingContextLinux::CreatePrintDialogFunctionPtr
|
||||
g_default_create_print_dialog_func = nullptr;
|
||||
printing::PrintingContextLinux::PdfPaperSizeFunctionPtr
|
||||
g_default_pdf_paper_size_func = nullptr;
|
||||
|
||||
CefRefPtr<CefBrowserHostBase> GetBrowserForContext(
|
||||
printing::PrintingContextLinux* context) {
|
||||
return extensions::GetOwnerBrowserForGlobalId(
|
||||
@ -127,12 +122,14 @@ class CefPrintJobCallbackImpl : public CefPrintJobCallback {
|
||||
IMPLEMENT_REFCOUNTING(CefPrintJobCallbackImpl);
|
||||
};
|
||||
|
||||
// static
|
||||
printing::PrintDialogGtkInterface* CefPrintDialogLinux::CreatePrintDialog(
|
||||
PrintingContextLinux* context) {
|
||||
CefPrintingContextLinuxDelegate::CefPrintingContextLinuxDelegate() = default;
|
||||
|
||||
printing::PrintDialogLinuxInterface*
|
||||
CefPrintingContextLinuxDelegate::CreatePrintDialog(
|
||||
printing::PrintingContextLinux* context) {
|
||||
CEF_REQUIRE_UIT();
|
||||
|
||||
printing::PrintDialogGtkInterface* interface = nullptr;
|
||||
printing::PrintDialogLinuxInterface* interface = nullptr;
|
||||
|
||||
auto browser = GetBrowserForContext(context);
|
||||
if (!browser) {
|
||||
@ -142,8 +139,8 @@ printing::PrintDialogGtkInterface* CefPrintDialogLinux::CreatePrintDialog(
|
||||
|
||||
auto handler = GetPrintHandlerForBrowser(browser);
|
||||
if (!handler) {
|
||||
if (g_default_create_print_dialog_func) {
|
||||
interface = g_default_create_print_dialog_func(context);
|
||||
if (default_delegate_) {
|
||||
interface = default_delegate_->CreatePrintDialog(context);
|
||||
DCHECK(interface);
|
||||
}
|
||||
} else {
|
||||
@ -157,8 +154,7 @@ printing::PrintDialogGtkInterface* CefPrintDialogLinux::CreatePrintDialog(
|
||||
return interface;
|
||||
}
|
||||
|
||||
// static
|
||||
gfx::Size CefPrintDialogLinux::GetPdfPaperSize(
|
||||
gfx::Size CefPrintingContextLinuxDelegate::GetPdfPaperSize(
|
||||
printing::PrintingContextLinux* context) {
|
||||
CEF_REQUIRE_UIT();
|
||||
|
||||
@ -172,8 +168,8 @@ gfx::Size CefPrintDialogLinux::GetPdfPaperSize(
|
||||
|
||||
auto handler = GetPrintHandlerForBrowser(browser);
|
||||
if (!handler) {
|
||||
if (g_default_pdf_paper_size_func) {
|
||||
size = g_default_pdf_paper_size_func(context);
|
||||
if (default_delegate_) {
|
||||
size = default_delegate_->GetPdfPaperSize(context);
|
||||
DCHECK(!size.IsEmpty());
|
||||
}
|
||||
} else {
|
||||
@ -190,14 +186,10 @@ gfx::Size CefPrintDialogLinux::GetPdfPaperSize(
|
||||
return size;
|
||||
}
|
||||
|
||||
// static
|
||||
void CefPrintDialogLinux::SetDefaultPrintingContextFuncs(
|
||||
printing::PrintingContextLinux::CreatePrintDialogFunctionPtr
|
||||
create_print_dialog_func,
|
||||
printing::PrintingContextLinux::PdfPaperSizeFunctionPtr
|
||||
pdf_paper_size_func) {
|
||||
g_default_create_print_dialog_func = create_print_dialog_func;
|
||||
g_default_pdf_paper_size_func = pdf_paper_size_func;
|
||||
void CefPrintingContextLinuxDelegate::SetDefaultDelegate(
|
||||
printing::PrintingContextLinuxDelegate* delegate) {
|
||||
DCHECK(!default_delegate_);
|
||||
default_delegate_ = delegate;
|
||||
}
|
||||
|
||||
// static
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include "base/memory/ref_counted.h"
|
||||
#include "base/task/sequenced_task_runner_helpers.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
#include "printing/print_dialog_gtk_interface.h"
|
||||
#include "printing/print_dialog_linux_interface.h"
|
||||
#include "printing/printing_context_linux.h"
|
||||
|
||||
namespace printing {
|
||||
@ -23,8 +23,28 @@ class PrintSettings;
|
||||
|
||||
using printing::PrintingContextLinux;
|
||||
|
||||
class CefPrintingContextLinuxDelegate
|
||||
: public printing::PrintingContextLinuxDelegate {
|
||||
public:
|
||||
CefPrintingContextLinuxDelegate();
|
||||
|
||||
CefPrintingContextLinuxDelegate(const CefPrintingContextLinuxDelegate&) =
|
||||
delete;
|
||||
CefPrintingContextLinuxDelegate& operator=(
|
||||
const CefPrintingContextLinuxDelegate&) = delete;
|
||||
|
||||
printing::PrintDialogLinuxInterface* CreatePrintDialog(
|
||||
printing::PrintingContextLinux* context) override;
|
||||
gfx::Size GetPdfPaperSize(printing::PrintingContextLinux* context) override;
|
||||
|
||||
void SetDefaultDelegate(printing::PrintingContextLinuxDelegate* delegate);
|
||||
|
||||
private:
|
||||
printing::PrintingContextLinuxDelegate* default_delegate_ = nullptr;
|
||||
};
|
||||
|
||||
// Needs to be freed on the UI thread to clean up its member variables.
|
||||
class CefPrintDialogLinux : public printing::PrintDialogGtkInterface,
|
||||
class CefPrintDialogLinux : public printing::PrintDialogLinuxInterface,
|
||||
public base::RefCountedThreadSafe<
|
||||
CefPrintDialogLinux,
|
||||
content::BrowserThread::DeleteOnUIThread> {
|
||||
@ -32,24 +52,10 @@ class CefPrintDialogLinux : public printing::PrintDialogGtkInterface,
|
||||
CefPrintDialogLinux(const CefPrintDialogLinux&) = delete;
|
||||
CefPrintDialogLinux& operator=(const CefPrintDialogLinux&) = delete;
|
||||
|
||||
// Creates and returns a print dialog.
|
||||
static printing::PrintDialogGtkInterface* CreatePrintDialog(
|
||||
PrintingContextLinux* context);
|
||||
|
||||
// Returns the paper size in device units.
|
||||
static gfx::Size GetPdfPaperSize(printing::PrintingContextLinux* context);
|
||||
|
||||
// Used for calling into the default GTK implementation.
|
||||
static void SetDefaultPrintingContextFuncs(
|
||||
printing::PrintingContextLinux::CreatePrintDialogFunctionPtr
|
||||
create_print_dialog_func,
|
||||
printing::PrintingContextLinux::PdfPaperSizeFunctionPtr
|
||||
pdf_paper_size_func);
|
||||
|
||||
// Notify the client when printing has started.
|
||||
static void OnPrintStart(CefRefPtr<CefBrowserHostBase> browser);
|
||||
|
||||
// PrintDialogGtkInterface implementation.
|
||||
// PrintDialogLinuxInterface implementation.
|
||||
void UseDefaultSettings() override;
|
||||
void UpdateSettings(
|
||||
std::unique_ptr<printing::PrintSettings> settings) override;
|
||||
@ -70,6 +76,7 @@ class CefPrintDialogLinux : public printing::PrintDialogGtkInterface,
|
||||
content::BrowserThread::UI>;
|
||||
friend class CefPrintDialogCallbackImpl;
|
||||
friend class CefPrintJobCallbackImpl;
|
||||
friend class CefPrintingContextLinuxDelegate;
|
||||
|
||||
CefPrintDialogLinux(PrintingContextLinux* context,
|
||||
CefRefPtr<CefBrowserHostBase> browser,
|
||||
|
@ -60,16 +60,14 @@ CefRefPtr<CefValue> CefParseJSONAndReturnError(
|
||||
const std::string& json = json_string.ToString();
|
||||
|
||||
std::string error_msg;
|
||||
base::JSONReader::ValueWithError value_and_error =
|
||||
base::JSONReader::ReadAndReturnValueWithError(
|
||||
json, GetJSONReaderOptions(options));
|
||||
if (value_and_error.value) {
|
||||
auto result = base::JSONReader::ReadAndReturnValueWithError(
|
||||
json, GetJSONReaderOptions(options));
|
||||
if (result.has_value()) {
|
||||
return new CefValueImpl(
|
||||
base::Value::ToUniquePtrValue(std::move(value_and_error.value.value()))
|
||||
.release());
|
||||
base::Value::ToUniquePtrValue(std::move(*result)).release());
|
||||
}
|
||||
|
||||
error_msg_out = value_and_error.error_message;
|
||||
error_msg_out = result.error().message;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
@ -72,13 +72,13 @@ bool CefThreadImpl::Create(const CefString& display_name,
|
||||
|
||||
switch (priority) {
|
||||
case TP_BACKGROUND:
|
||||
options.priority = base::ThreadPriority::BACKGROUND;
|
||||
options.thread_type = base::ThreadType::kBackground;
|
||||
break;
|
||||
case TP_DISPLAY:
|
||||
options.priority = base::ThreadPriority::DISPLAY;
|
||||
options.thread_type = base::ThreadType::kDisplayCritical;
|
||||
break;
|
||||
case TP_REALTIME_AUDIO:
|
||||
options.priority = base::ThreadPriority::REALTIME_AUDIO;
|
||||
options.thread_type = base::ThreadType::kRealtimeAudio;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -71,8 +71,6 @@
|
||||
#include "content/public/common/content_paths.h"
|
||||
#include "content/public/common/content_switches.h"
|
||||
#include "content/public/common/url_constants.h"
|
||||
#include "content/public/renderer/render_view.h"
|
||||
#include "content/public/renderer/render_view_visitor.h"
|
||||
#include "extensions/common/manifest_handlers/csp_info.h"
|
||||
#include "extensions/common/switches.h"
|
||||
#include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container_manager.h"
|
||||
@ -290,7 +288,7 @@ void AlloyContentRendererClient::RenderFrameCreated(
|
||||
render_manager_->RenderFrameCreated(render_frame, render_frame_observer,
|
||||
browser_created, is_windowless);
|
||||
if (browser_created) {
|
||||
OnBrowserCreated(render_frame->GetRenderView(), is_windowless);
|
||||
OnBrowserCreated(render_frame->GetWebView(), is_windowless);
|
||||
}
|
||||
|
||||
if (is_windowless.has_value()) {
|
||||
@ -306,9 +304,7 @@ void AlloyContentRendererClient::WebViewCreated(blink::WebView* web_view) {
|
||||
absl::optional<bool> is_windowless;
|
||||
render_manager_->WebViewCreated(web_view, browser_created, is_windowless);
|
||||
if (browser_created) {
|
||||
auto render_view = content::RenderView::FromWebView(web_view);
|
||||
CHECK(render_view);
|
||||
OnBrowserCreated(render_view, is_windowless);
|
||||
OnBrowserCreated(web_view, is_windowless);
|
||||
}
|
||||
}
|
||||
|
||||
@ -516,7 +512,7 @@ void AlloyContentRendererClient::WillDestroyCurrentMessageLoop() {
|
||||
}
|
||||
|
||||
void AlloyContentRendererClient::OnBrowserCreated(
|
||||
content::RenderView* render_view,
|
||||
blink::WebView* web_view,
|
||||
absl::optional<bool> is_windowless) {
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
const bool windowless = is_windowless.has_value() && *is_windowless;
|
||||
@ -525,7 +521,7 @@ void AlloyContentRendererClient::OnBrowserCreated(
|
||||
// WebKit layer, or if it would be exposed as an WebView instance method; the
|
||||
// current implementation uses a static variable, and WebKit needs to be
|
||||
// patched in order to make it work for each WebView instance
|
||||
render_view->GetWebView()->SetUseExternalPopupMenusThisInstance(!windowless);
|
||||
web_view->SetUseExternalPopupMenusThisInstance(!windowless);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -119,7 +119,7 @@ class AlloyContentRendererClient
|
||||
void WillDestroyCurrentMessageLoop() override;
|
||||
|
||||
private:
|
||||
void OnBrowserCreated(content::RenderView* render_view,
|
||||
void OnBrowserCreated(blink::WebView* web_view,
|
||||
absl::optional<bool> is_windowless);
|
||||
|
||||
// Perform cleanup work for single-process mode.
|
||||
|
@ -17,7 +17,6 @@
|
||||
#include "base/strings/string_util.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "content/public/renderer/render_frame.h"
|
||||
#include "content/public/renderer/render_view.h"
|
||||
#include "content/renderer/document_state.h"
|
||||
#include "content/renderer/navigation_state.h"
|
||||
#include "third_party/blink/public/platform/web_string.h"
|
||||
@ -35,7 +34,7 @@
|
||||
|
||||
// static
|
||||
CefRefPtr<CefBrowserImpl> CefBrowserImpl::GetBrowserForView(
|
||||
content::RenderView* view) {
|
||||
blink::WebView* view) {
|
||||
return CefRenderManager::Get()->GetBrowserForView(view);
|
||||
}
|
||||
|
||||
@ -266,11 +265,11 @@ void CefBrowserImpl::GetFrameNames(std::vector<CefString>& names) {
|
||||
// CefBrowserImpl public methods.
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
CefBrowserImpl::CefBrowserImpl(content::RenderView* render_view,
|
||||
CefBrowserImpl::CefBrowserImpl(blink::WebView* web_view,
|
||||
int browser_id,
|
||||
bool is_popup,
|
||||
bool is_windowless)
|
||||
: blink::WebViewObserver(render_view->GetWebView()),
|
||||
: blink::WebViewObserver(web_view),
|
||||
browser_id_(browser_id),
|
||||
is_popup_(is_popup),
|
||||
is_windowless_(is_windowless) {}
|
||||
|
@ -24,12 +24,9 @@
|
||||
namespace blink {
|
||||
class WebFrame;
|
||||
class WebNode;
|
||||
class WebView;
|
||||
} // namespace blink
|
||||
|
||||
namespace content {
|
||||
class RenderView;
|
||||
}
|
||||
|
||||
// Renderer plumbing for CEF features. There is a one-to-one relationship
|
||||
// between RenderView on the renderer side and RenderViewHost on the browser
|
||||
// side.
|
||||
@ -38,7 +35,7 @@ class RenderView;
|
||||
class CefBrowserImpl : public CefBrowser, public blink::WebViewObserver {
|
||||
public:
|
||||
// Returns the browser associated with the specified RenderView.
|
||||
static CefRefPtr<CefBrowserImpl> GetBrowserForView(content::RenderView* view);
|
||||
static CefRefPtr<CefBrowserImpl> GetBrowserForView(blink::WebView* view);
|
||||
// Returns the browser associated with the specified main WebFrame.
|
||||
static CefRefPtr<CefBrowserImpl> GetBrowserForMainFrame(
|
||||
blink::WebFrame* frame);
|
||||
@ -66,7 +63,7 @@ class CefBrowserImpl : public CefBrowser, public blink::WebViewObserver {
|
||||
void GetFrameIdentifiers(std::vector<int64>& identifiers) override;
|
||||
void GetFrameNames(std::vector<CefString>& names) override;
|
||||
|
||||
CefBrowserImpl(content::RenderView* render_view,
|
||||
CefBrowserImpl(blink::WebView* web_view,
|
||||
int browser_id,
|
||||
bool is_popup,
|
||||
bool is_windowless);
|
||||
|
@ -33,7 +33,6 @@
|
||||
#include "libcef/renderer/v8_impl.h"
|
||||
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "content/public/renderer/render_view.h"
|
||||
#include "content/renderer/render_frame_impl.h"
|
||||
#include "third_party/blink/public/mojom/frame/frame.mojom-blink.h"
|
||||
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink.h"
|
||||
|
@ -24,7 +24,6 @@
|
||||
#include "libcef/renderer/v8_impl.h"
|
||||
|
||||
#include "content/public/renderer/render_frame.h"
|
||||
#include "content/public/renderer/render_view.h"
|
||||
#include "third_party/blink/public/web/blink.h"
|
||||
#include "third_party/blink/public/web/web_document.h"
|
||||
#include "third_party/blink/public/web/web_element.h"
|
||||
|
@ -10,7 +10,6 @@
|
||||
|
||||
#include "base/logging.h"
|
||||
#include "content/public/renderer/render_thread.h"
|
||||
#include "content/public/renderer/render_view.h"
|
||||
#include "content/renderer/render_frame_impl.h"
|
||||
#include "third_party/blink/public/web/web_local_frame.h"
|
||||
|
||||
|
@ -35,7 +35,6 @@
|
||||
#include "content/public/common/content_switches.h"
|
||||
#include "content/public/renderer/render_frame.h"
|
||||
#include "content/public/renderer/render_thread.h"
|
||||
#include "content/public/renderer/render_view.h"
|
||||
#include "extensions/common/switches.h"
|
||||
#include "mojo/public/cpp/bindings/binder_map.h"
|
||||
#include "services/network/public/mojom/cors_origin_pattern.mojom.h"
|
||||
@ -56,9 +55,9 @@ CefRenderManager* g_manager = nullptr;
|
||||
class CefGuestView : public blink::WebViewObserver {
|
||||
public:
|
||||
CefGuestView(CefRenderManager* manager,
|
||||
content::RenderView* render_view,
|
||||
blink::WebView* web_view,
|
||||
bool is_windowless)
|
||||
: blink::WebViewObserver(render_view->GetWebView()),
|
||||
: blink::WebViewObserver(web_view),
|
||||
manager_(manager),
|
||||
is_windowless_(is_windowless) {}
|
||||
|
||||
@ -106,7 +105,7 @@ void CefRenderManager::RenderFrameCreated(
|
||||
CefRenderFrameObserver* render_frame_observer,
|
||||
bool& browser_created,
|
||||
absl::optional<bool>& is_windowless) {
|
||||
auto browser = MaybeCreateBrowser(render_frame->GetRenderView(), render_frame,
|
||||
auto browser = MaybeCreateBrowser(render_frame->GetWebView(), render_frame,
|
||||
&browser_created, &is_windowless);
|
||||
if (browser) {
|
||||
// Attach the frame to the observer for message routing purposes.
|
||||
@ -118,16 +117,13 @@ void CefRenderManager::RenderFrameCreated(
|
||||
void CefRenderManager::WebViewCreated(blink::WebView* web_view,
|
||||
bool& browser_created,
|
||||
absl::optional<bool>& is_windowless) {
|
||||
auto render_view = content::RenderView::FromWebView(web_view);
|
||||
CHECK(render_view);
|
||||
content::RenderFrame* render_frame = nullptr;
|
||||
if (web_view->MainFrame()->IsWebLocalFrame()) {
|
||||
render_frame = content::RenderFrame::FromWebFrame(
|
||||
web_view->MainFrame()->ToWebLocalFrame());
|
||||
}
|
||||
|
||||
MaybeCreateBrowser(render_view, render_frame, &browser_created,
|
||||
&is_windowless);
|
||||
MaybeCreateBrowser(web_view, render_frame, &browser_created, &is_windowless);
|
||||
}
|
||||
|
||||
void CefRenderManager::DevToolsAgentAttached() {
|
||||
@ -157,7 +153,7 @@ void CefRenderManager::ExposeInterfacesToBrowser(mojo::BinderMap* binders) {
|
||||
}
|
||||
|
||||
CefRefPtr<CefBrowserImpl> CefRenderManager::GetBrowserForView(
|
||||
content::RenderView* view) {
|
||||
blink::WebView* view) {
|
||||
BrowserMap::const_iterator it = browsers_.find(view);
|
||||
if (it != browsers_.end())
|
||||
return it->second;
|
||||
@ -282,19 +278,19 @@ void CefRenderManager::WebKitInitialized() {
|
||||
}
|
||||
|
||||
CefRefPtr<CefBrowserImpl> CefRenderManager::MaybeCreateBrowser(
|
||||
content::RenderView* render_view,
|
||||
blink::WebView* web_view,
|
||||
content::RenderFrame* render_frame,
|
||||
bool* browser_created,
|
||||
absl::optional<bool>* is_windowless) {
|
||||
if (browser_created)
|
||||
*browser_created = false;
|
||||
|
||||
if (!render_view || !render_frame)
|
||||
if (!web_view || !render_frame)
|
||||
return nullptr;
|
||||
|
||||
// Don't create another browser or guest view object if one already exists for
|
||||
// the view.
|
||||
auto browser = GetBrowserForView(render_view);
|
||||
auto browser = GetBrowserForView(web_view);
|
||||
if (browser) {
|
||||
if (is_windowless) {
|
||||
*is_windowless = browser->is_windowless();
|
||||
@ -302,7 +298,7 @@ CefRefPtr<CefBrowserImpl> CefRenderManager::MaybeCreateBrowser(
|
||||
return browser;
|
||||
}
|
||||
|
||||
auto guest_view = GetGuestViewForView(render_view);
|
||||
auto guest_view = GetGuestViewForView(web_view);
|
||||
if (guest_view) {
|
||||
if (is_windowless) {
|
||||
*is_windowless = guest_view->is_windowless();
|
||||
@ -331,14 +327,14 @@ CefRefPtr<CefBrowserImpl> CefRenderManager::MaybeCreateBrowser(
|
||||
// Don't create a CefBrowser for a PDF renderer, guest view, or if the new
|
||||
// browser info response has timed out.
|
||||
guest_views_.insert(std::make_pair(
|
||||
render_view, std::make_unique<CefGuestView>(this, render_view,
|
||||
params->is_windowless)));
|
||||
web_view,
|
||||
std::make_unique<CefGuestView>(this, web_view, params->is_windowless)));
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
browser = new CefBrowserImpl(render_view, params->browser_id,
|
||||
params->is_popup, params->is_windowless);
|
||||
browsers_.insert(std::make_pair(render_view, browser));
|
||||
browser = new CefBrowserImpl(web_view, params->browser_id, params->is_popup,
|
||||
params->is_windowless);
|
||||
browsers_.insert(std::make_pair(web_view, browser));
|
||||
|
||||
// Notify the render process handler.
|
||||
CefRefPtr<CefApp> application = CefAppManager::Get()->GetApplication();
|
||||
@ -378,7 +374,7 @@ void CefRenderManager::OnBrowserDestroyed(CefBrowserImpl* browser) {
|
||||
NOTREACHED();
|
||||
}
|
||||
|
||||
CefGuestView* CefRenderManager::GetGuestViewForView(content::RenderView* view) {
|
||||
CefGuestView* CefRenderManager::GetGuestViewForView(blink::WebView* view) {
|
||||
CEF_REQUIRE_RT_RETURN(nullptr);
|
||||
|
||||
GuestViewMap::const_iterator it = guest_views_.find(view);
|
||||
|
@ -24,7 +24,6 @@ class WebView;
|
||||
|
||||
namespace content {
|
||||
class RenderFrame;
|
||||
class RenderView;
|
||||
} // namespace content
|
||||
|
||||
namespace mojo {
|
||||
@ -63,7 +62,7 @@ class CefRenderManager : public cef::mojom::RenderManager {
|
||||
void ExposeInterfacesToBrowser(mojo::BinderMap* binders);
|
||||
|
||||
// Returns the browser associated with the specified RenderView.
|
||||
CefRefPtr<CefBrowserImpl> GetBrowserForView(content::RenderView* view);
|
||||
CefRefPtr<CefBrowserImpl> GetBrowserForView(blink::WebView* view);
|
||||
|
||||
// Returns the browser associated with the specified main WebFrame.
|
||||
CefRefPtr<CefBrowserImpl> GetBrowserForMainFrame(blink::WebFrame* frame);
|
||||
@ -95,7 +94,7 @@ class CefRenderManager : public cef::mojom::RenderManager {
|
||||
// Maybe create a new browser object, return the existing one, or return
|
||||
// nullptr for guest views.
|
||||
CefRefPtr<CefBrowserImpl> MaybeCreateBrowser(
|
||||
content::RenderView* render_view,
|
||||
blink::WebView* web_view,
|
||||
content::RenderFrame* render_frame,
|
||||
bool* browser_created,
|
||||
absl::optional<bool>* is_windowless);
|
||||
@ -104,18 +103,17 @@ class CefRenderManager : public cef::mojom::RenderManager {
|
||||
void OnBrowserDestroyed(CefBrowserImpl* browser);
|
||||
|
||||
// Returns the guest view associated with the specified RenderView if any.
|
||||
CefGuestView* GetGuestViewForView(content::RenderView* view);
|
||||
CefGuestView* GetGuestViewForView(blink::WebView* view);
|
||||
|
||||
// Called from CefGuestView::OnDestruct().
|
||||
void OnGuestViewDestroyed(CefGuestView* guest_view);
|
||||
|
||||
// Map of RenderView pointers to CefBrowserImpl references.
|
||||
using BrowserMap = std::map<content::RenderView*, CefRefPtr<CefBrowserImpl>>;
|
||||
using BrowserMap = std::map<blink::WebView*, CefRefPtr<CefBrowserImpl>>;
|
||||
BrowserMap browsers_;
|
||||
|
||||
// Map of RenderView poiners to CefGuestView implementations.
|
||||
using GuestViewMap =
|
||||
std::map<content::RenderView*, std::unique_ptr<CefGuestView>>;
|
||||
using GuestViewMap = std::map<blink::WebView*, std::unique_ptr<CefGuestView>>;
|
||||
GuestViewMap guest_views_;
|
||||
|
||||
// Cross-origin white list entries that need to be registered with WebKit.
|
||||
|
@ -283,6 +283,11 @@ patches = [
|
||||
# https://bitbucket.org/chromiumembedded/cef/issues/2969
|
||||
'name': 'chrome_browser_profile_menu',
|
||||
},
|
||||
{
|
||||
# alloy: Don't require heap profiler for utility processes.
|
||||
# Avoids a DCHECK added in https://crrev.com/c21e9f71d1f2e
|
||||
'name': 'chrome_utility_client',
|
||||
},
|
||||
{
|
||||
# Support override of the User-Agent product component when NetworkService
|
||||
# is enabled.
|
||||
@ -582,14 +587,14 @@ patches = [
|
||||
'name': 'linux_bluetooth_1319006',
|
||||
},
|
||||
{
|
||||
# Wrap base::Value::{Dict,List}}:WriteIntoTrace() with correct #ifs.
|
||||
# Fixes compile error with official cef_sandbox build on Windows.
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/3703780
|
||||
'name': 'base_values_3703780',
|
||||
# Linux: Support chaining of PrintingContextLinux callbacks.
|
||||
# https://bitbucket.org/chromiumembedded/cef/issues/3314
|
||||
'name': 'linux_printing_context',
|
||||
},
|
||||
{
|
||||
# Windows: Fix time_win.cc compile error with cef_sandbox.
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/3718022
|
||||
'name': 'base_time_3718022',
|
||||
# Windows: Add LAZY_INSTANCE_INITIALIZER where necessary to fix official
|
||||
# cef_sandbox build.
|
||||
# https://chromium-review.googlesource.com/c/chromium/src/+/3773637
|
||||
'name': 'base_metrics_3773637',
|
||||
}
|
||||
]
|
||||
|
13
patch/patches/base_metrics_3773637.patch
Normal file
13
patch/patches/base_metrics_3773637.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git base/metrics/statistics_recorder.cc base/metrics/statistics_recorder.cc
|
||||
index 1f808cac46bc0..8ca2df9cfc5b9 100644
|
||||
--- base/metrics/statistics_recorder.cc
|
||||
+++ base/metrics/statistics_recorder.cc
|
||||
@@ -32,7 +32,7 @@ bool HistogramNameLesser(const base::HistogramBase* a,
|
||||
} // namespace
|
||||
|
||||
// static
|
||||
-LazyInstance<Lock>::Leaky StatisticsRecorder::lock_;
|
||||
+LazyInstance<Lock>::Leaky StatisticsRecorder::lock_ = LAZY_INSTANCE_INITIALIZER;
|
||||
|
||||
// static
|
||||
StatisticsRecorder* StatisticsRecorder::top_ = nullptr;
|
@ -1,5 +1,5 @@
|
||||
diff --git base/BUILD.gn base/BUILD.gn
|
||||
index 3d13052ffc51f..808aa7607c890 100644
|
||||
index d6f08e8d0149c..8a9d77fee5029 100644
|
||||
--- base/BUILD.gn
|
||||
+++ base/BUILD.gn
|
||||
@@ -37,6 +37,7 @@ import("//build/nocompile.gni")
|
||||
@ -10,7 +10,7 @@ index 3d13052ffc51f..808aa7607c890 100644
|
||||
import("//testing/libfuzzer/fuzzer_test.gni")
|
||||
import("//testing/test.gni")
|
||||
|
||||
@@ -1903,7 +1904,11 @@ mixed_component("base") {
|
||||
@@ -1910,7 +1911,11 @@ mixed_component("base") {
|
||||
"hash/md5_constexpr_internal.h",
|
||||
"hash/sha1.h",
|
||||
]
|
||||
@ -23,7 +23,7 @@ index 3d13052ffc51f..808aa7607c890 100644
|
||||
sources += [
|
||||
"hash/md5_nacl.cc",
|
||||
"hash/md5_nacl.h",
|
||||
@@ -2056,6 +2061,12 @@ mixed_component("base") {
|
||||
@@ -2063,6 +2068,12 @@ mixed_component("base") {
|
||||
defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ]
|
||||
}
|
||||
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git base/allocator/partition_allocator/partition_alloc_base/time/time_win.cc base/allocator/partition_allocator/partition_alloc_base/time/time_win.cc
|
||||
index e36aeb64abdb7..7deae93b86f03 100644
|
||||
--- base/allocator/partition_allocator/partition_alloc_base/time/time_win.cc
|
||||
+++ base/allocator/partition_allocator/partition_alloc_base/time/time_win.cc
|
||||
@@ -327,7 +327,7 @@ DWORD (*g_tick_function)(void) = &timeGetTimeWrapper;
|
||||
// "rollover" counter.
|
||||
union LastTimeAndRolloversState {
|
||||
// The state as a single 32-bit opaque value.
|
||||
- std::atomic<int32_t> as_opaque_32;
|
||||
+ std::atomic<int32_t> as_opaque_32{0};
|
||||
|
||||
// The state as usable values.
|
||||
struct {
|
@ -1,34 +0,0 @@
|
||||
diff --git base/values.cc base/values.cc
|
||||
index 62e55cd83704d..42857ccc2e01d 100644
|
||||
--- base/values.cc
|
||||
+++ base/values.cc
|
||||
@@ -789,12 +789,14 @@ std::string Value::Dict::DebugString() const {
|
||||
return DebugStringImpl(*this);
|
||||
}
|
||||
|
||||
+#if BUILDFLAG(ENABLE_BASE_TRACING)
|
||||
void Value::Dict::WriteIntoTrace(perfetto::TracedValue context) const {
|
||||
perfetto::TracedDictionary dict = std::move(context).WriteDictionary();
|
||||
for (auto kv : *this) {
|
||||
dict.Add(perfetto::DynamicString(kv.first), kv.second);
|
||||
}
|
||||
}
|
||||
+#endif // BUILDFLAG(ENABLE_BASE_TRACING)
|
||||
|
||||
Value::Dict::Dict(
|
||||
const flat_map<std::string, std::unique_ptr<Value>>& storage) {
|
||||
@@ -999,12 +1001,14 @@ std::string Value::List::DebugString() const {
|
||||
return DebugStringImpl(*this);
|
||||
}
|
||||
|
||||
+#if BUILDFLAG(ENABLE_BASE_TRACING)
|
||||
void Value::List::WriteIntoTrace(perfetto::TracedValue context) const {
|
||||
perfetto::TracedArray array = std::move(context).WriteArray();
|
||||
for (const auto& item : *this) {
|
||||
array.Append(item);
|
||||
}
|
||||
}
|
||||
+#endif // BUILDFLAG(ENABLE_BASE_TRACING)
|
||||
|
||||
Value::List::List(const std::vector<Value>& storage) {
|
||||
storage_.reserve(storage.size());
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/scheduler/browser_task_executor.cc content/browser/scheduler/browser_task_executor.cc
|
||||
index 38d037f3b861f..b2af20324bd35 100644
|
||||
index e06e26f80a5e0..2da99c8f97990 100644
|
||||
--- content/browser/scheduler/browser_task_executor.cc
|
||||
+++ content/browser/scheduler/browser_task_executor.cc
|
||||
@@ -304,7 +304,7 @@ BrowserTaskExecutor::OnUserInputStart() {
|
||||
@@ -285,7 +285,7 @@ BrowserTaskExecutor::OnUserInputStart() {
|
||||
|
||||
// static
|
||||
void BrowserTaskExecutor::Shutdown() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git content/browser/child_process_security_policy_impl.cc content/browser/child_process_security_policy_impl.cc
|
||||
index 3a619b38da0c7..8bdf8ad9b1c18 100644
|
||||
index d254be9911f39..76e28fe22d988 100644
|
||||
--- content/browser/child_process_security_policy_impl.cc
|
||||
+++ content/browser/child_process_security_policy_impl.cc
|
||||
@@ -1751,6 +1751,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForMaybeOpaqueOrigin(
|
||||
@ -20,35 +20,37 @@ index 3a619b38da0c7..8bdf8ad9b1c18 100644
|
||||
|
||||
// TODO(wjmaclean): We should update the ProcessLock comparison API
|
||||
diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc
|
||||
index e3e73a2353312..4f2d190c000b2 100644
|
||||
index 8afc757188c41..d43e81d736fc4 100644
|
||||
--- content/browser/renderer_host/navigation_request.cc
|
||||
+++ content/browser/renderer_host/navigation_request.cc
|
||||
@@ -6312,6 +6312,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithoutFinalFrameHost(
|
||||
network::mojom::WebSandboxFlags sandbox_flags) {
|
||||
// Calculate an approximation of the origin. The sandbox/csp are ignored.
|
||||
url::Origin origin = GetOriginForURLLoaderFactoryUnchecked(this);
|
||||
+ if (!origin.GetURL().IsStandard()) {
|
||||
+ // Always return an opaque origin for non-standard URLs. Otherwise, the
|
||||
+ // below CanAccessDataForOrigin() check may fail for unregistered custom
|
||||
+ // scheme requests in CEF.
|
||||
+ return origin.DeriveNewOpaqueOrigin();
|
||||
+ }
|
||||
@@ -6373,6 +6373,14 @@ std::pair<url::Origin, std::string> NavigationRequest::
|
||||
origin_and_debug_info.second += ", error";
|
||||
}
|
||||
|
||||
// Apply sandbox flags.
|
||||
// See https://html.spec.whatwg.org/#sandboxed-origin-browsing-context-flag
|
||||
@@ -6345,6 +6351,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithFinalFrameHost() {
|
||||
if (IsSameDocument() || IsPageActivation())
|
||||
return GetRenderFrameHost()->GetLastCommittedOrigin();
|
||||
|
||||
+ // Calculate an approximation of the origin. The sandbox/csp are ignored.
|
||||
+ url::Origin unchecked_origin = GetOriginForURLLoaderFactoryUnchecked(this);
|
||||
+ if (!unchecked_origin.GetURL().IsStandard()) {
|
||||
+ if (!origin_and_debug_info.first.GetURL().IsStandard()) {
|
||||
+ // Always return an opaque origin for non-standard URLs. Otherwise, the
|
||||
+ // below CanAccessDataForOrigin() check may fail for unregistered custom
|
||||
+ // scheme requests in CEF.
|
||||
+ return unchecked_origin.DeriveNewOpaqueOrigin();
|
||||
+ // CanAccessDataForOrigin() check may fail for unregistered custom scheme
|
||||
+ // requests in CEF.
|
||||
+ use_opaque_origin = true;
|
||||
+ origin_and_debug_info.second += ", cef_nonstandard";
|
||||
+ }
|
||||
+
|
||||
url::Origin origin =
|
||||
GetOriginForURLLoaderFactoryWithoutFinalFrameHost(SandboxFlagsToCommit());
|
||||
if (use_opaque_origin) {
|
||||
origin_and_debug_info =
|
||||
std::make_pair(origin_and_debug_info.first.DeriveNewOpaqueOrigin(),
|
||||
@@ -6400,6 +6408,15 @@ std::pair<url::Origin, std::string> NavigationRequest::
|
||||
GetOriginForURLLoaderFactoryWithoutFinalFrameHostWithDebugInfo(
|
||||
SandboxFlagsToCommit());
|
||||
|
||||
+ if (origin_with_debug_info.first.opaque() &&
|
||||
+ origin_with_debug_info.second.find("cef_nonstandard") !=
|
||||
+ std::string::npos) {
|
||||
+ // Always return an opaque origin for non-standard URLs. Otherwise, the
|
||||
+ // below CanAccessDataForOrigin() check may fail for unregistered custom
|
||||
+ // scheme requests in CEF.
|
||||
+ return origin_with_debug_info;
|
||||
+ }
|
||||
+
|
||||
// MHTML documents should commit as an opaque origin. They should not be able
|
||||
// to make network request on behalf of the real origin.
|
||||
DCHECK(!IsMhtmlOrSubframe() || origin_with_debug_info.first.opaque());
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
|
||||
index df8610696cc6e..ab37a46457abd 100644
|
||||
index cab8b77aaa86b..7e88abd41bf1d 100644
|
||||
--- build/config/compiler/BUILD.gn
|
||||
+++ build/config/compiler/BUILD.gn
|
||||
@@ -1841,8 +1841,6 @@ config("thin_archive") {
|
||||
@@ -1850,8 +1850,6 @@ config("thin_archive") {
|
||||
# confuses lldb.
|
||||
if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) {
|
||||
arflags = [ "-T" ]
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
|
||||
index f4f1725e5a0ed..59ce489a635c3 100644
|
||||
index 99b370a07c1df..85bec5adc723a 100644
|
||||
--- chrome/browser/BUILD.gn
|
||||
+++ chrome/browser/BUILD.gn
|
||||
@@ -11,6 +11,7 @@ import("//build/config/compiler/pgo/pgo.gni")
|
||||
@ -10,15 +10,15 @@ index f4f1725e5a0ed..59ce489a635c3 100644
|
||||
import("//chrome/browser/buildflags.gni")
|
||||
import("//chrome/browser/downgrade/buildflags.gni")
|
||||
import("//chrome/common/features.gni")
|
||||
@@ -1946,6 +1947,7 @@ static_library("browser") {
|
||||
"//build:chromeos_buildflags",
|
||||
@@ -1959,6 +1960,7 @@ static_library("browser") {
|
||||
"//build/config/chromebox_for_meetings:buildflags",
|
||||
"//build/config/compiler:compiler_buildflags",
|
||||
"//cc",
|
||||
+ "//cef/libcef/features",
|
||||
"//chrome:extra_resources",
|
||||
"//chrome:resources",
|
||||
"//chrome:strings",
|
||||
@@ -2482,6 +2484,10 @@ static_library("browser") {
|
||||
@@ -2491,6 +2493,10 @@ static_library("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ index d7b9aa164f161..a042abaecbce7 100644
|
||||
std::unique_ptr<BackgroundModeManager> manager) = 0;
|
||||
#endif
|
||||
diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc
|
||||
index 0d4c13e21de4f..09168fad20462 100644
|
||||
index 9cd8e9f4b8f4c..e6e6edc0465a1 100644
|
||||
--- chrome/browser/browser_process_impl.cc
|
||||
+++ chrome/browser/browser_process_impl.cc
|
||||
@@ -1013,18 +1013,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
|
||||
@ -38,7 +38,7 @@ index 0d4c13e21de4f..09168fad20462 100644
|
||||
std::unique_ptr<BackgroundModeManager> manager) {
|
||||
background_mode_manager_ = std::move(manager);
|
||||
diff --git chrome/browser/browser_process_impl.h chrome/browser/browser_process_impl.h
|
||||
index a3eabe6f0ef59..8fd3359c13945 100644
|
||||
index e2b4d0a33d8ca..99f2d3e441002 100644
|
||||
--- chrome/browser/browser_process_impl.h
|
||||
+++ chrome/browser/browser_process_impl.h
|
||||
@@ -174,8 +174,8 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
|
@ -13,10 +13,10 @@ index 3285e422f76c1..5f35b91897b75 100644
|
||||
return false;
|
||||
}
|
||||
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
|
||||
index 66bece3638bf5..87e059da1256c 100644
|
||||
index 6f504d1acba5d..0e242d1612fc2 100644
|
||||
--- chrome/browser/ui/BUILD.gn
|
||||
+++ chrome/browser/ui/BUILD.gn
|
||||
@@ -9,6 +9,7 @@ import("//build/config/compiler/compiler.gni")
|
||||
@@ -10,6 +10,7 @@ import("//build/config/compiler/compiler.gni")
|
||||
import("//build/config/features.gni")
|
||||
import("//build/config/ozone.gni")
|
||||
import("//build/config/ui.gni")
|
||||
@ -24,7 +24,7 @@ index 66bece3638bf5..87e059da1256c 100644
|
||||
import("//chrome/browser/buildflags.gni")
|
||||
import("//chrome/common/features.gni")
|
||||
import("//chromeos/ash/components/assistant/assistant.gni")
|
||||
@@ -373,6 +374,10 @@ static_library("ui") {
|
||||
@@ -364,6 +365,10 @@ static_library("ui") {
|
||||
"//build/config/compiler:wexit_time_destructors",
|
||||
]
|
||||
|
||||
@ -35,15 +35,15 @@ index 66bece3638bf5..87e059da1256c 100644
|
||||
# Since browser and browser_ui actually depend on each other,
|
||||
# we must omit the dependency from browser_ui to browser.
|
||||
# However, this means browser_ui and browser should more or less
|
||||
@@ -395,6 +400,7 @@ static_library("ui") {
|
||||
"//build:branding_buildflags",
|
||||
@@ -387,6 +392,7 @@ static_library("ui") {
|
||||
"//build:chromeos_buildflags",
|
||||
"//build/config/chromebox_for_meetings:buildflags",
|
||||
"//cc/paint",
|
||||
+ "//cef/libcef/features",
|
||||
"//chrome:extra_resources",
|
||||
"//chrome:resources",
|
||||
"//chrome:strings",
|
||||
@@ -5461,6 +5467,7 @@ static_library("ui") {
|
||||
@@ -5505,6 +5511,7 @@ static_library("ui") {
|
||||
if (enable_basic_printing) {
|
||||
deps += [
|
||||
"//components/printing/browser",
|
||||
@ -52,10 +52,10 @@ index 66bece3638bf5..87e059da1256c 100644
|
||||
]
|
||||
}
|
||||
diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc
|
||||
index 63d64acc72318..21f0a0b81f996 100644
|
||||
index ce86697e47437..4600d6a9ab701 100644
|
||||
--- chrome/browser/ui/browser.cc
|
||||
+++ chrome/browser/ui/browser.cc
|
||||
@@ -264,6 +264,25 @@
|
||||
@@ -262,6 +262,25 @@
|
||||
#include "components/captive_portal/content/captive_portal_tab_helper.h"
|
||||
#endif
|
||||
|
||||
@ -81,7 +81,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
#include "chrome/browser/extensions/extension_browser_window_helper.h"
|
||||
#endif
|
||||
@@ -513,6 +532,13 @@ Browser::Browser(const CreateParams& params)
|
||||
@@ -511,6 +530,13 @@ Browser::Browser(const CreateParams& params)
|
||||
|
||||
tab_strip_model_->AddObserver(this);
|
||||
|
||||
@ -95,7 +95,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
location_bar_model_ = std::make_unique<LocationBarModelImpl>(
|
||||
location_bar_model_delegate_.get(), content::kMaxURLDisplayChars);
|
||||
|
||||
@@ -1329,6 +1355,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
|
||||
@@ -1322,6 +1348,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
|
||||
if (exclusive_access_manager_->HandleUserKeyEvent(event))
|
||||
return content::KeyboardEventProcessingResult::HANDLED;
|
||||
|
||||
@ -110,7 +110,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
return window()->PreHandleKeyboardEvent(event);
|
||||
}
|
||||
|
||||
@@ -1336,8 +1370,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
|
||||
@@ -1329,8 +1363,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
|
||||
const NativeWebKeyboardEvent& event) {
|
||||
DevToolsWindow* devtools_window =
|
||||
DevToolsWindow::GetInstanceForInspectedWebContents(source);
|
||||
@ -131,7 +131,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
}
|
||||
|
||||
bool Browser::TabsNeedBeforeUnloadFired() {
|
||||
@@ -1544,6 +1588,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source,
|
||||
@@ -1537,6 +1581,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source,
|
||||
return window->OpenURLFromTab(source, params);
|
||||
}
|
||||
|
||||
@ -146,7 +146,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
NavigateParams nav_params(this, params.url, params.transition);
|
||||
nav_params.FillNavigateParamsFromOpenURLParams(params);
|
||||
nav_params.source_contents = source;
|
||||
@@ -1673,6 +1725,15 @@ void Browser::AddNewContents(WebContents* source,
|
||||
@@ -1666,6 +1718,15 @@ void Browser::AddNewContents(WebContents* source,
|
||||
return;
|
||||
}
|
||||
|
||||
@ -162,7 +162,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
chrome::AddWebContents(this, source, std::move(new_contents), target_url,
|
||||
disposition, initial_rect, window_action);
|
||||
}
|
||||
@@ -1691,6 +1752,8 @@ void Browser::LoadingStateChanged(WebContents* source,
|
||||
@@ -1684,6 +1745,8 @@ void Browser::LoadingStateChanged(WebContents* source,
|
||||
bool should_show_loading_ui) {
|
||||
ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD);
|
||||
UpdateWindowForLoadingStateChanged(source, should_show_loading_ui);
|
||||
@ -171,7 +171,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
}
|
||||
|
||||
void Browser::CloseContents(WebContents* source) {
|
||||
@@ -1718,6 +1781,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
|
||||
@@ -1711,6 +1774,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
|
||||
}
|
||||
|
||||
void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
|
||||
@ -180,7 +180,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
if (!GetStatusBubble())
|
||||
return;
|
||||
|
||||
@@ -1725,6 +1790,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
|
||||
@@ -1718,6 +1783,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
|
||||
GetStatusBubble()->SetURL(url);
|
||||
}
|
||||
|
||||
@ -198,7 +198,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
void Browser::ContentsMouseEvent(WebContents* source,
|
||||
bool motion,
|
||||
bool exited) {
|
||||
@@ -1749,6 +1825,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) {
|
||||
@@ -1742,6 +1818,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -218,7 +218,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
void Browser::BeforeUnloadFired(WebContents* web_contents,
|
||||
bool proceed,
|
||||
bool* proceed_to_fire_unload) {
|
||||
@@ -1841,6 +1930,10 @@ void Browser::WebContentsCreated(WebContents* source_contents,
|
||||
@@ -1834,6 +1923,10 @@ void Browser::WebContentsCreated(WebContents* source_contents,
|
||||
|
||||
// Make the tab show up in the task manager.
|
||||
task_manager::WebContentsTags::CreateForTabContents(new_contents);
|
||||
@ -229,7 +229,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
}
|
||||
|
||||
void Browser::PortalWebContentsCreated(WebContents* portal_web_contents) {
|
||||
@@ -1885,6 +1978,8 @@ void Browser::RendererResponsive(
|
||||
@@ -1878,6 +1971,8 @@ void Browser::RendererResponsive(
|
||||
void Browser::DidNavigatePrimaryMainFramePostCommit(WebContents* web_contents) {
|
||||
if (web_contents == tab_strip_model_->GetActiveWebContents())
|
||||
UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TAB_STATE);
|
||||
@ -238,7 +238,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
}
|
||||
|
||||
content::JavaScriptDialogManager* Browser::GetJavaScriptDialogManager(
|
||||
@@ -1945,11 +2040,15 @@ void Browser::EnterFullscreenModeForTab(
|
||||
@@ -1938,11 +2033,15 @@ void Browser::EnterFullscreenModeForTab(
|
||||
const blink::mojom::FullscreenOptions& options) {
|
||||
exclusive_access_manager_->fullscreen_controller()->EnterFullscreenModeForTab(
|
||||
requesting_frame, options.display_id);
|
||||
@ -254,7 +254,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
}
|
||||
|
||||
bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) {
|
||||
@@ -2127,6 +2226,15 @@ void Browser::RequestMediaAccessPermission(
|
||||
@@ -2121,6 +2220,15 @@ void Browser::RequestMediaAccessPermission(
|
||||
content::WebContents* web_contents,
|
||||
const content::MediaStreamRequest& request,
|
||||
content::MediaResponseCallback callback) {
|
||||
@ -270,7 +270,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
const extensions::Extension* extension =
|
||||
GetExtensionForOrigin(profile_, request.security_origin);
|
||||
MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest(
|
||||
@@ -2664,13 +2772,20 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) {
|
||||
@@ -2658,13 +2766,20 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) {
|
||||
// Browser, Getters for UI (private):
|
||||
|
||||
StatusBubble* Browser::GetStatusBubble() {
|
||||
@ -292,7 +292,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
return window_ ? window_->GetStatusBubble() : nullptr;
|
||||
}
|
||||
|
||||
@@ -2797,6 +2912,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
|
||||
@@ -2791,6 +2906,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
|
||||
content_translate_driver->RemoveTranslationObserver(this);
|
||||
BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this);
|
||||
}
|
||||
@ -302,7 +302,7 @@ index 63d64acc72318..21f0a0b81f996 100644
|
||||
|
||||
void Browser::TabDetachedAtImpl(content::WebContents* contents,
|
||||
diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h
|
||||
index 87859f4741386..1346cdb60631d 100644
|
||||
index 64eeec32ac70f..10039229b4d4f 100644
|
||||
--- chrome/browser/ui/browser.h
|
||||
+++ chrome/browser/ui/browser.h
|
||||
@@ -22,6 +22,7 @@
|
||||
@ -324,9 +324,9 @@ index 87859f4741386..1346cdb60631d 100644
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
#error This file should only be included on desktop.
|
||||
#endif
|
||||
@@ -316,6 +321,11 @@ class Browser : public TabStripModelObserver,
|
||||
// maximizable.
|
||||
bool can_maximize = true;
|
||||
@@ -320,6 +325,11 @@ class Browser : public TabStripModelObserver,
|
||||
float initial_aspect_ratio = 1.0f;
|
||||
bool lock_aspect_ratio = false;
|
||||
|
||||
+#if BUILDFLAG(ENABLE_CEF)
|
||||
+ // Opaque CEF-specific configuration. Will be propagated to new Browsers.
|
||||
@ -336,7 +336,7 @@ index 87859f4741386..1346cdb60631d 100644
|
||||
private:
|
||||
friend class Browser;
|
||||
friend class WindowSizerChromeOSTest;
|
||||
@@ -383,6 +393,13 @@ class Browser : public TabStripModelObserver,
|
||||
@@ -387,6 +397,13 @@ class Browser : public TabStripModelObserver,
|
||||
return creation_source_ == CreationSource::kSessionRestore;
|
||||
}
|
||||
|
||||
@ -350,7 +350,7 @@ index 87859f4741386..1346cdb60631d 100644
|
||||
// Accessors ////////////////////////////////////////////////////////////////
|
||||
|
||||
const CreateParams& create_params() const { return create_params_; }
|
||||
@@ -456,6 +473,12 @@ class Browser : public TabStripModelObserver,
|
||||
@@ -460,6 +477,12 @@ class Browser : public TabStripModelObserver,
|
||||
|
||||
base::WeakPtr<Browser> AsWeakPtr();
|
||||
|
||||
@ -363,7 +363,7 @@ index 87859f4741386..1346cdb60631d 100644
|
||||
// Get the FindBarController for this browser, creating it if it does not
|
||||
// yet exist.
|
||||
FindBarController* GetFindBarController();
|
||||
@@ -825,11 +848,19 @@ class Browser : public TabStripModelObserver,
|
||||
@@ -829,11 +852,19 @@ class Browser : public TabStripModelObserver,
|
||||
void SetContentsBounds(content::WebContents* source,
|
||||
const gfx::Rect& bounds) override;
|
||||
void UpdateTargetURL(content::WebContents* source, const GURL& url) override;
|
||||
@ -383,7 +383,7 @@ index 87859f4741386..1346cdb60631d 100644
|
||||
void BeforeUnloadFired(content::WebContents* source,
|
||||
bool proceed,
|
||||
bool* proceed_to_fire_unload) override;
|
||||
@@ -1226,6 +1257,8 @@ class Browser : public TabStripModelObserver,
|
||||
@@ -1233,6 +1264,8 @@ class Browser : public TabStripModelObserver,
|
||||
const std::string initial_workspace_;
|
||||
bool initial_visible_on_all_workspaces_state_;
|
||||
|
||||
@ -392,7 +392,7 @@ index 87859f4741386..1346cdb60631d 100644
|
||||
CreationSource creation_source_ = CreationSource::kUnknown;
|
||||
|
||||
UnloadController unload_controller_;
|
||||
@@ -1294,6 +1327,10 @@ class Browser : public TabStripModelObserver,
|
||||
@@ -1301,6 +1334,10 @@ class Browser : public TabStripModelObserver,
|
||||
std::unique_ptr<screen_ai::AXScreenAIAnnotator> screen_ai_annotator_;
|
||||
#endif
|
||||
|
||||
@ -404,10 +404,10 @@ index 87859f4741386..1346cdb60631d 100644
|
||||
|
||||
// The following factory is used for chrome update coalescing.
|
||||
diff --git chrome/browser/ui/browser_navigator.cc chrome/browser/ui/browser_navigator.cc
|
||||
index 9315a947d5cb2..0d5d14ae56026 100644
|
||||
index 3c01acfca74b0..11e298c8ed15b 100644
|
||||
--- chrome/browser/ui/browser_navigator.cc
|
||||
+++ chrome/browser/ui/browser_navigator.cc
|
||||
@@ -518,6 +518,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
|
||||
@@ -563,6 +563,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
|
||||
std::unique_ptr<WebContents> target_contents =
|
||||
WebContents::Create(create_params);
|
||||
|
||||
@ -422,7 +422,7 @@ index 9315a947d5cb2..0d5d14ae56026 100644
|
||||
// tab helpers, so the entire set of tab helpers needs to be set up
|
||||
// immediately.
|
||||
diff --git chrome/browser/ui/browser_tabstrip.cc chrome/browser/ui/browser_tabstrip.cc
|
||||
index 9d0cf64ac7dcb..b6066163d2dc3 100644
|
||||
index fc41ea1501856..7e6ef189bbc51 100644
|
||||
--- chrome/browser/ui/browser_tabstrip.cc
|
||||
+++ chrome/browser/ui/browser_tabstrip.cc
|
||||
@@ -31,9 +31,13 @@ void AddTabAt(Browser* browser,
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
||||
index 95a75d011f33e..cc5dc818152f8 100644
|
||||
index 374f3735584d9..3aff0aa1c21ca 100644
|
||||
--- chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
||||
+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
|
||||
@@ -301,6 +301,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
|
||||
@@ -303,6 +303,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
|
||||
return callback.get();
|
||||
}
|
||||
|
||||
@ -16,9 +16,9 @@ index 95a75d011f33e..cc5dc818152f8 100644
|
||||
enum class UmaEnumIdLookupType {
|
||||
GeneralEnumId,
|
||||
ContextSpecificEnumId,
|
||||
@@ -535,6 +542,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) {
|
||||
return -1;
|
||||
}
|
||||
@@ -539,6 +546,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) {
|
||||
if (ContextMenuMatcher::IsExtensionsCustomCommandId(id))
|
||||
return 1;
|
||||
|
||||
+ // Match the MENU_ID_USER_FIRST to MENU_ID_USER_LAST range from cef_types.h.
|
||||
+ if (id >= 26500 && id <= 28500)
|
||||
@ -27,7 +27,7 @@ index 95a75d011f33e..cc5dc818152f8 100644
|
||||
id = CollapseCommandsForUMA(id);
|
||||
const auto& map = GetIdcToUmaMap(type);
|
||||
auto it = map.find(id);
|
||||
@@ -724,6 +735,14 @@ RenderViewContextMenu::RenderViewContextMenu(
|
||||
@@ -729,6 +740,14 @@ RenderViewContextMenu::RenderViewContextMenu(
|
||||
system_app_ = GetBrowser() && GetBrowser()->app_controller()
|
||||
? GetBrowser()->app_controller()->system_app()
|
||||
: nullptr;
|
||||
@ -42,7 +42,7 @@ index 95a75d011f33e..cc5dc818152f8 100644
|
||||
}
|
||||
|
||||
RenderViewContextMenu::~RenderViewContextMenu() = default;
|
||||
@@ -1111,6 +1130,12 @@ void RenderViewContextMenu::InitMenu() {
|
||||
@@ -1130,6 +1149,12 @@ void RenderViewContextMenu::InitMenu() {
|
||||
// menu, meaning that each menu item added/removed in this function will cause
|
||||
// it to visibly jump on the screen (see b/173569669).
|
||||
AppendQuickAnswersItems();
|
||||
@ -55,7 +55,7 @@ index 95a75d011f33e..cc5dc818152f8 100644
|
||||
}
|
||||
|
||||
Profile* RenderViewContextMenu::GetProfile() const {
|
||||
@@ -2902,6 +2927,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
|
||||
@@ -2945,6 +2970,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
|
||||
execute_plugin_action_callback_ = std::move(cb);
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ index 95a75d011f33e..cc5dc818152f8 100644
|
||||
RenderViewContextMenu::GetHandlersForLinkUrl() {
|
||||
custom_handlers::ProtocolHandlerRegistry::ProtocolHandlerList handlers =
|
||||
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.h chrome/browser/renderer_context_menu/render_view_context_menu.h
|
||||
index e95f46698826c..1fcca0b68f20e 100644
|
||||
index 5447107f392f5..ac79f549fcd8a 100644
|
||||
--- chrome/browser/renderer_context_menu/render_view_context_menu.h
|
||||
+++ chrome/browser/renderer_context_menu/render_view_context_menu.h
|
||||
@@ -125,6 +125,12 @@ class RenderViewContextMenu
|
||||
@ -85,7 +85,7 @@ index e95f46698826c..1fcca0b68f20e 100644
|
||||
protected:
|
||||
Profile* GetProfile() const;
|
||||
|
||||
@@ -340,6 +346,9 @@ class RenderViewContextMenu
|
||||
@@ -347,6 +353,9 @@ class RenderViewContextMenu
|
||||
// built.
|
||||
bool is_protocol_submenu_valid_ = false;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/file_select_helper.cc chrome/browser/file_select_helper.cc
|
||||
index 23215d8b854fd..4cc1e7f7d3d95 100644
|
||||
index c700f62fcfed3..23b20a8008029 100644
|
||||
--- chrome/browser/file_select_helper.cc
|
||||
+++ chrome/browser/file_select_helper.cc
|
||||
@@ -20,6 +20,7 @@
|
||||
@ -24,7 +24,7 @@ index 23215d8b854fd..4cc1e7f7d3d95 100644
|
||||
ShowFolderUploadConfirmationDialog(
|
||||
path,
|
||||
base::BindOnce(&FileSelectHelper::ConvertToFileChooserFileInfoList, this),
|
||||
@@ -450,7 +458,8 @@ void FileSelectHelper::DontAbortOnMissingWebContentsForTesting() {
|
||||
@@ -470,7 +478,8 @@ void FileSelectHelper::DontAbortOnMissingWebContentsForTesting() {
|
||||
|
||||
std::unique_ptr<ui::SelectFileDialog::FileTypeInfo>
|
||||
FileSelectHelper::GetFileTypesFromAcceptType(
|
||||
@ -34,7 +34,7 @@ index 23215d8b854fd..4cc1e7f7d3d95 100644
|
||||
std::unique_ptr<ui::SelectFileDialog::FileTypeInfo> base_file_type(
|
||||
new ui::SelectFileDialog::FileTypeInfo());
|
||||
if (accept_types.empty())
|
||||
@@ -464,17 +473,24 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
||||
@@ -484,17 +493,24 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
||||
std::vector<base::FilePath::StringType>* extensions =
|
||||
&file_type->extensions.back();
|
||||
|
||||
@ -60,7 +60,7 @@ index 23215d8b854fd..4cc1e7f7d3d95 100644
|
||||
} else {
|
||||
if (!base::IsStringASCII(accept_type))
|
||||
continue;
|
||||
@@ -485,10 +501,18 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
||||
@@ -505,10 +521,18 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
||||
description_id = IDS_AUDIO_FILES;
|
||||
else if (ascii_type == "video/*")
|
||||
description_id = IDS_VIDEO_FILES;
|
||||
@ -81,7 +81,7 @@ index 23215d8b854fd..4cc1e7f7d3d95 100644
|
||||
if (extensions->size() > old_extension_size)
|
||||
valid_type_count++;
|
||||
}
|
||||
@@ -513,6 +537,15 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
||||
@@ -533,6 +557,15 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
||||
l10n_util::GetStringUTF16(description_id));
|
||||
}
|
||||
|
||||
@ -97,7 +97,7 @@ index 23215d8b854fd..4cc1e7f7d3d95 100644
|
||||
return file_type;
|
||||
}
|
||||
|
||||
@@ -520,7 +553,8 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
||||
@@ -540,7 +573,8 @@ FileSelectHelper::GetFileTypesFromAcceptType(
|
||||
void FileSelectHelper::RunFileChooser(
|
||||
content::RenderFrameHost* render_frame_host,
|
||||
scoped_refptr<content::FileSelectListener> listener,
|
||||
@ -107,7 +107,7 @@ index 23215d8b854fd..4cc1e7f7d3d95 100644
|
||||
Profile* profile = Profile::FromBrowserContext(
|
||||
render_frame_host->GetProcess()->GetBrowserContext());
|
||||
|
||||
@@ -539,6 +573,7 @@ void FileSelectHelper::RunFileChooser(
|
||||
@@ -559,6 +593,7 @@ void FileSelectHelper::RunFileChooser(
|
||||
// message.
|
||||
scoped_refptr<FileSelectHelper> file_select_helper(
|
||||
new FileSelectHelper(profile));
|
||||
@ -115,7 +115,7 @@ index 23215d8b854fd..4cc1e7f7d3d95 100644
|
||||
file_select_helper->RunFileChooser(render_frame_host, std::move(listener),
|
||||
params.Clone());
|
||||
}
|
||||
@@ -592,7 +627,8 @@ void FileSelectHelper::RunFileChooser(
|
||||
@@ -612,7 +647,8 @@ void FileSelectHelper::RunFileChooser(
|
||||
}
|
||||
|
||||
void FileSelectHelper::GetFileTypesInThreadPool(FileChooserParamsPtr params) {
|
||||
@ -126,10 +126,10 @@ index 23215d8b854fd..4cc1e7f7d3d95 100644
|
||||
params->need_local_path ? ui::SelectFileDialog::FileTypeInfo::NATIVE_PATH
|
||||
: ui::SelectFileDialog::FileTypeInfo::ANY_PATH;
|
||||
diff --git chrome/browser/file_select_helper.h chrome/browser/file_select_helper.h
|
||||
index f9d1f31b36357..122e1ce9fa962 100644
|
||||
index 8c86774e6d279..b634ed1056b4f 100644
|
||||
--- chrome/browser/file_select_helper.h
|
||||
+++ chrome/browser/file_select_helper.h
|
||||
@@ -59,7 +59,8 @@ class FileSelectHelper : public base::RefCountedThreadSafe<
|
||||
@@ -65,7 +65,8 @@ class FileSelectHelper : public base::RefCountedThreadSafe<
|
||||
static void RunFileChooser(
|
||||
content::RenderFrameHost* render_frame_host,
|
||||
scoped_refptr<content::FileSelectListener> listener,
|
||||
@ -139,7 +139,7 @@ index f9d1f31b36357..122e1ce9fa962 100644
|
||||
|
||||
// Enumerates all the files in directory.
|
||||
static void EnumerateDirectory(
|
||||
@@ -255,7 +256,8 @@ class FileSelectHelper : public base::RefCountedThreadSafe<
|
||||
@@ -266,7 +267,8 @@ class FileSelectHelper : public base::RefCountedThreadSafe<
|
||||
// |accept_types| contains only valid lowercased MIME types or file extensions
|
||||
// beginning with a period (.).
|
||||
static std::unique_ptr<ui::SelectFileDialog::FileTypeInfo>
|
||||
@ -149,16 +149,16 @@ index f9d1f31b36357..122e1ce9fa962 100644
|
||||
|
||||
// Check the accept type is valid. It is expected to be all lower case with
|
||||
// no whitespace.
|
||||
@@ -319,6 +321,9 @@ class FileSelectHelper : public base::RefCountedThreadSafe<
|
||||
|
||||
@@ -331,6 +333,9 @@ class FileSelectHelper : public base::RefCountedThreadSafe<
|
||||
// Set to false in unit tests since there is no WebContents.
|
||||
bool abort_on_missing_web_contents_in_tests_ = true;
|
||||
+
|
||||
|
||||
+ // Set to true if this dialog was triggered via CEF.
|
||||
+ bool run_from_cef_ = false;
|
||||
};
|
||||
|
||||
#endif // CHROME_BROWSER_FILE_SELECT_HELPER_H_
|
||||
+
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
// DlpFilesController is responsible for checking whether any of the selected
|
||||
// files is restricted according to the DataLeakPrevention policy.
|
||||
diff --git chrome/browser/ui/chrome_select_file_policy.h chrome/browser/ui/chrome_select_file_policy.h
|
||||
index 2cf473c35b67a..e3552bd0f17d4 100644
|
||||
--- chrome/browser/ui/chrome_select_file_policy.h
|
||||
@ -172,72 +172,11 @@ index 2cf473c35b67a..e3552bd0f17d4 100644
|
||||
private:
|
||||
raw_ptr<content::WebContents> source_contents_;
|
||||
};
|
||||
diff --git printing/printing_context_linux.cc printing/printing_context_linux.cc
|
||||
index f77248cef2227..6c762941ec0a3 100644
|
||||
--- printing/printing_context_linux.cc
|
||||
+++ printing/printing_context_linux.cc
|
||||
@@ -54,20 +54,23 @@ PrintingContextLinux::~PrintingContextLinux() {
|
||||
}
|
||||
|
||||
// static
|
||||
-void PrintingContextLinux::SetCreatePrintDialogFunction(
|
||||
- PrintDialogGtkInterface* (*create_dialog_func)(
|
||||
- PrintingContextLinux* context)) {
|
||||
+PrintingContextLinux::CreatePrintDialogFunctionPtr
|
||||
+PrintingContextLinux::SetCreatePrintDialogFunction(
|
||||
+ CreatePrintDialogFunctionPtr create_dialog_func) {
|
||||
DCHECK(create_dialog_func);
|
||||
- DCHECK(!create_dialog_func_);
|
||||
+ auto old_func = create_dialog_func_;
|
||||
create_dialog_func_ = create_dialog_func;
|
||||
+ return old_func;
|
||||
}
|
||||
|
||||
// static
|
||||
-void PrintingContextLinux::SetPdfPaperSizeFunction(
|
||||
- gfx::Size (*get_pdf_paper_size)(PrintingContextLinux* context)) {
|
||||
+PrintingContextLinux::PdfPaperSizeFunctionPtr
|
||||
+PrintingContextLinux::SetPdfPaperSizeFunction(
|
||||
+ PdfPaperSizeFunctionPtr get_pdf_paper_size) {
|
||||
DCHECK(get_pdf_paper_size);
|
||||
- DCHECK(!get_pdf_paper_size_);
|
||||
+ auto old_func = get_pdf_paper_size_;
|
||||
get_pdf_paper_size_ = get_pdf_paper_size;
|
||||
+ return old_func;
|
||||
}
|
||||
|
||||
void PrintingContextLinux::AskUserForSettings(int max_pages,
|
||||
diff --git printing/printing_context_linux.h printing/printing_context_linux.h
|
||||
index 653170ba60e83..677df89f93e8d 100644
|
||||
--- printing/printing_context_linux.h
|
||||
+++ printing/printing_context_linux.h
|
||||
@@ -25,12 +25,17 @@ class COMPONENT_EXPORT(PRINTING) PrintingContextLinux : public PrintingContext {
|
||||
~PrintingContextLinux() override;
|
||||
|
||||
// Sets the function that creates the print dialog.
|
||||
- static void SetCreatePrintDialogFunction(PrintDialogGtkInterface* (
|
||||
- *create_dialog_func)(PrintingContextLinux* context));
|
||||
+ // Returns the old function, if any.
|
||||
+ using CreatePrintDialogFunctionPtr =
|
||||
+ PrintDialogGtkInterface* (*)(PrintingContextLinux* context);
|
||||
+ static CreatePrintDialogFunctionPtr SetCreatePrintDialogFunction(
|
||||
+ CreatePrintDialogFunctionPtr);
|
||||
|
||||
// Sets the function that returns pdf paper size through the native API.
|
||||
- static void SetPdfPaperSizeFunction(
|
||||
- gfx::Size (*get_pdf_paper_size)(PrintingContextLinux* context));
|
||||
+ // Returns the old function, if any.
|
||||
+ using PdfPaperSizeFunctionPtr = gfx::Size (*)(PrintingContextLinux* context);
|
||||
+ static PdfPaperSizeFunctionPtr SetPdfPaperSizeFunction(
|
||||
+ PdfPaperSizeFunctionPtr);
|
||||
|
||||
// Initializes with predefined settings.
|
||||
void InitWithSettings(std::unique_ptr<PrintSettings> settings);
|
||||
diff --git ui/shell_dialogs/execute_select_file_win.cc ui/shell_dialogs/execute_select_file_win.cc
|
||||
index 063d4c7c96cba..24bd0533af65b 100644
|
||||
index 162dbc3aeb4ea..41b73a5a2f4e4 100644
|
||||
--- ui/shell_dialogs/execute_select_file_win.cc
|
||||
+++ ui/shell_dialogs/execute_select_file_win.cc
|
||||
@@ -289,9 +289,7 @@ bool ExecuteSelectSingleFile(HWND owner,
|
||||
@@ -290,9 +290,7 @@ bool ExecuteSelectSingleFile(HWND owner,
|
||||
const std::vector<FileFilterSpec>& filter,
|
||||
int* filter_index,
|
||||
std::vector<base::FilePath>* paths) {
|
||||
@ -248,7 +187,7 @@ index 063d4c7c96cba..24bd0533af65b 100644
|
||||
default_path, filter, 0, filter_index, paths);
|
||||
}
|
||||
|
||||
@@ -303,14 +301,13 @@ bool ExecuteSelectMultipleFile(HWND owner,
|
||||
@@ -304,14 +302,13 @@ bool ExecuteSelectMultipleFile(HWND owner,
|
||||
std::vector<base::FilePath>* paths) {
|
||||
DWORD dialog_options = FOS_ALLOWMULTISELECT;
|
||||
|
||||
@ -265,7 +204,7 @@ index 063d4c7c96cba..24bd0533af65b 100644
|
||||
const base::FilePath& default_path,
|
||||
const std::vector<FileFilterSpec>& filter,
|
||||
const std::wstring& def_ext,
|
||||
@@ -323,9 +320,7 @@ bool ExecuteSaveFile(HWND owner,
|
||||
@@ -324,9 +321,7 @@ bool ExecuteSaveFile(HWND owner,
|
||||
|
||||
DWORD dialog_options = FOS_OVERWRITEPROMPT;
|
||||
|
||||
@ -276,7 +215,7 @@ index 063d4c7c96cba..24bd0533af65b 100644
|
||||
dialog_options, def_ext, filter_index, path);
|
||||
}
|
||||
|
||||
@@ -390,7 +385,7 @@ void ExecuteSelectFile(
|
||||
@@ -418,7 +413,7 @@ void ExecuteSelectFile(
|
||||
break;
|
||||
case SelectFileDialog::SELECT_SAVEAS_FILE: {
|
||||
base::FilePath path;
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/extensions/api/chrome_extensions_api_client.cc chrome/browser/extensions/api/chrome_extensions_api_client.cc
|
||||
index 7775713ac6479..d5eef7031953d 100644
|
||||
index 2fa911da87bcd..45c5268b60d5c 100644
|
||||
--- chrome/browser/extensions/api/chrome_extensions_api_client.cc
|
||||
+++ chrome/browser/extensions/api/chrome_extensions_api_client.cc
|
||||
@@ -13,6 +13,7 @@
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/permissions/chrome_permissions_client.cc chrome/browser/permissions/chrome_permissions_client.cc
|
||||
index 894a7424580ac..fa78c8dabbdd2 100644
|
||||
index 37280287267b4..1ea055a4172c5 100644
|
||||
--- chrome/browser/permissions/chrome_permissions_client.cc
|
||||
+++ chrome/browser/permissions/chrome_permissions_client.cc
|
||||
@@ -12,6 +12,7 @@
|
||||
@ -10,7 +10,7 @@ index 894a7424580ac..fa78c8dabbdd2 100644
|
||||
#include "chrome/browser/bluetooth/bluetooth_chooser_context_factory.h"
|
||||
#include "chrome/browser/content_settings/cookie_settings_factory.h"
|
||||
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
|
||||
@@ -212,6 +213,9 @@ permissions::PermissionManager* ChromePermissionsClient::GetPermissionManager(
|
||||
@@ -217,6 +218,9 @@ permissions::PermissionManager* ChromePermissionsClient::GetPermissionManager(
|
||||
double ChromePermissionsClient::GetSiteEngagementScore(
|
||||
content::BrowserContext* browser_context,
|
||||
const GURL& origin) {
|
||||
@ -62,7 +62,7 @@ index c2836d15eba30..0c03c2b4666a6 100644
|
||||
std::unique_ptr<permissions::PermissionPrompt> CreatePermissionPrompt(
|
||||
content::WebContents* web_contents,
|
||||
diff --git chrome/browser/ui/views/permission_bubble/permission_prompt_impl.cc chrome/browser/ui/views/permission_bubble/permission_prompt_impl.cc
|
||||
index 70e37336a5001..a2df1bd28c994 100644
|
||||
index c92ad8917ec7f..96643e5904dc5 100644
|
||||
--- chrome/browser/ui/views/permission_bubble/permission_prompt_impl.cc
|
||||
+++ chrome/browser/ui/views/permission_bubble/permission_prompt_impl.cc
|
||||
@@ -100,11 +100,28 @@ bool ShouldBubbleStartOpen(permissions::PermissionPrompt::Delegate* delegate) {
|
||||
|
@ -39,7 +39,7 @@ index 34949452d4891..43aa445b5ac3f 100644
|
||||
|
||||
base::RecordAction(base::UserMetricsAction("IncognitoMenu_Show"));
|
||||
diff --git chrome/browser/ui/views/profiles/profile_menu_view_base.cc chrome/browser/ui/views/profiles/profile_menu_view_base.cc
|
||||
index 001e5831a0512..a0a6073c64ed8 100644
|
||||
index 1d4ea0995cbb3..64eba016377da 100644
|
||||
--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc
|
||||
+++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc
|
||||
@@ -508,7 +508,9 @@ void ProfileMenuViewBase::ShowBubble(views::Button* anchor_button,
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/profiles/off_the_record_profile_impl.cc chrome/browser/profiles/off_the_record_profile_impl.cc
|
||||
index a9c0c34999035..5fbf5eb462e42 100644
|
||||
index 342e29775ddc4..4c4630a2e74d5 100644
|
||||
--- chrome/browser/profiles/off_the_record_profile_impl.cc
|
||||
+++ chrome/browser/profiles/off_the_record_profile_impl.cc
|
||||
@@ -634,7 +634,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
|
||||
@@ -646,7 +646,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
|
||||
#endif
|
||||
if (!profile)
|
||||
profile = std::make_unique<OffTheRecordProfileImpl>(parent, otr_profile_id);
|
||||
@ -85,10 +85,10 @@ index ca2561e412621..febd52df6c971 100644
|
||||
virtual bool IsSignedIn() = 0;
|
||||
|
||||
diff --git chrome/browser/profiles/profile_impl.cc chrome/browser/profiles/profile_impl.cc
|
||||
index 8b4be2abc03ec..8f53f25103358 100644
|
||||
index e4af92bd90459..435fabe79453b 100644
|
||||
--- chrome/browser/profiles/profile_impl.cc
|
||||
+++ chrome/browser/profiles/profile_impl.cc
|
||||
@@ -996,7 +996,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
|
||||
@@ -1002,7 +1002,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
|
||||
|
||||
otr_profiles_[otr_profile_id] = std::move(otr_profile);
|
||||
|
||||
@ -100,10 +100,10 @@ index 8b4be2abc03ec..8f53f25103358 100644
|
||||
return raw_otr_profile;
|
||||
}
|
||||
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
|
||||
index 7d959397bcb72..188d552d065c8 100644
|
||||
index 3952344f9cb23..6868beece799d 100644
|
||||
--- chrome/browser/profiles/profile_manager.cc
|
||||
+++ chrome/browser/profiles/profile_manager.cc
|
||||
@@ -517,7 +517,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
|
||||
@@ -529,7 +529,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
|
||||
base::Unretained(this)));
|
||||
#endif
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn
|
||||
index ed8d055e3aaeb..ae289580cb8ff 100644
|
||||
index 9d43a724104d8..7d8d05cb15c19 100644
|
||||
--- chrome/browser/safe_browsing/BUILD.gn
|
||||
+++ chrome/browser/safe_browsing/BUILD.gn
|
||||
@@ -27,6 +27,7 @@ static_library("safe_browsing") {
|
||||
"//chrome/common:constants",
|
||||
@@ -28,6 +28,7 @@ static_library("safe_browsing") {
|
||||
"//components/browser_sync",
|
||||
"//components/enterprise:enterprise",
|
||||
"//components/enterprise/common:strings",
|
||||
+ "//components/gcm_driver:gcm_buildflags",
|
||||
"//components/keyed_service/content",
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/themes/theme_service.cc chrome/browser/themes/theme_service.cc
|
||||
index 5d2c348a99b76..bfa0c77ff1aa1 100644
|
||||
index 66acda8e42829..28970c4c98863 100644
|
||||
--- chrome/browser/themes/theme_service.cc
|
||||
+++ chrome/browser/themes/theme_service.cc
|
||||
@@ -31,6 +31,7 @@
|
||||
@ -21,7 +21,7 @@ index 5d2c348a99b76..bfa0c77ff1aa1 100644
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
#include "base/scoped_observation.h"
|
||||
#include "extensions/browser/extension_registry_observer.h"
|
||||
@@ -550,11 +555,19 @@ void ThemeService::Init() {
|
||||
@@ -274,11 +279,19 @@ void ThemeService::Init() {
|
||||
// OnExtensionServiceReady. Otherwise, the ThemeObserver won't be
|
||||
// constructed in time to observe the corresponding events.
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
|
@ -125,10 +125,10 @@ index 8b72897491669..546919dd70afc 100644
|
||||
// that the X-Frame-Options protection mechanism is set to either DENY or
|
||||
// SAMEORIGIN.
|
||||
diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc
|
||||
index d2110910a9a31..0b7f12ca2af62 100644
|
||||
index 8449f4bf57c16..dc68ffc03e817 100644
|
||||
--- chrome/renderer/chrome_content_renderer_client.cc
|
||||
+++ chrome/renderer/chrome_content_renderer_client.cc
|
||||
@@ -941,6 +941,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -949,6 +949,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
|
||||
if ((status == chrome::mojom::PluginStatus::kUnauthorized ||
|
||||
status == chrome::mojom::PluginStatus::kBlocked) &&
|
||||
@ -136,7 +136,7 @@ index d2110910a9a31..0b7f12ca2af62 100644
|
||||
content_settings_agent_delegate->IsPluginTemporarilyAllowed(
|
||||
identifier)) {
|
||||
status = chrome::mojom::PluginStatus::kAllowed;
|
||||
@@ -1142,7 +1143,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -1150,7 +1151,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
|
||||
plugin_auth_host.BindNewEndpointAndPassReceiver());
|
||||
plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier);
|
||||
@ -146,7 +146,7 @@ index d2110910a9a31..0b7f12ca2af62 100644
|
||||
break;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kBlocked: {
|
||||
@@ -1151,7 +1153,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -1159,7 +1161,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name));
|
||||
placeholder->AllowLoading();
|
||||
RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked"));
|
||||
@ -156,7 +156,7 @@ index d2110910a9a31..0b7f12ca2af62 100644
|
||||
break;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kBlockedByPolicy: {
|
||||
@@ -1161,7 +1164,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -1169,7 +1172,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
group_name));
|
||||
RenderThread::Get()->RecordAction(
|
||||
UserMetricsAction("Plugin_BlockedByPolicy"));
|
||||
@ -166,7 +166,7 @@ index d2110910a9a31..0b7f12ca2af62 100644
|
||||
break;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kBlockedNoLoading: {
|
||||
@@ -1169,7 +1173,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -1177,7 +1181,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
IDR_BLOCKED_PLUGIN_HTML,
|
||||
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED_NO_LOADING,
|
||||
group_name));
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
|
||||
index 80183431d6cdb..19b76bf53cbf2 100644
|
||||
index 0ad8a99a23d47..d069db0ac130e 100644
|
||||
--- chrome/renderer/BUILD.gn
|
||||
+++ chrome/renderer/BUILD.gn
|
||||
@@ -5,6 +5,7 @@
|
||||
@ -10,7 +10,7 @@ index 80183431d6cdb..19b76bf53cbf2 100644
|
||||
import("//chrome/common/features.gni")
|
||||
import("//components/nacl/features.gni")
|
||||
import("//components/offline_pages/buildflags/features.gni")
|
||||
@@ -120,6 +121,7 @@ static_library("renderer") {
|
||||
@@ -122,6 +123,7 @@ static_library("renderer") {
|
||||
deps = [
|
||||
"//base/allocator:buildflags",
|
||||
"//build:chromeos_buildflags",
|
||||
@ -18,7 +18,7 @@ index 80183431d6cdb..19b76bf53cbf2 100644
|
||||
"//chrome:resources",
|
||||
"//chrome:strings",
|
||||
"//chrome/common",
|
||||
@@ -210,6 +212,10 @@ static_library("renderer") {
|
||||
@@ -218,6 +220,10 @@ static_library("renderer") {
|
||||
|
||||
configs += [ "//build/config/compiler:wexit_time_destructors" ]
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc
|
||||
index 94641fd257de9..0aa8e14458efd 100644
|
||||
index 46ba13e861155..ddc0829036146 100644
|
||||
--- chrome/app/chrome_main_delegate.cc
|
||||
+++ chrome/app/chrome_main_delegate.cc
|
||||
@@ -39,6 +39,7 @@
|
||||
@ -10,7 +10,7 @@ index 94641fd257de9..0aa8e14458efd 100644
|
||||
#include "chrome/browser/chrome_content_browser_client.h"
|
||||
#include "chrome/browser/chrome_resource_bundle_helper.h"
|
||||
#include "chrome/browser/defaults.h"
|
||||
@@ -446,6 +447,8 @@ struct MainFunction {
|
||||
@@ -447,6 +448,8 @@ struct MainFunction {
|
||||
|
||||
// Initializes the user data dir. Must be called before InitializeLocalState().
|
||||
void InitializeUserDataDir(base::CommandLine* command_line) {
|
||||
@ -19,7 +19,7 @@ index 94641fd257de9..0aa8e14458efd 100644
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
// Reach out to chrome_elf for the truth on the user data directory.
|
||||
// Note that in tests, this links to chrome_elf_test_stubs.
|
||||
@@ -766,7 +769,9 @@ void ChromeMainDelegate::CommonEarlyInitialization() {
|
||||
@@ -765,7 +768,9 @@ void ChromeMainDelegate::CommonEarlyInitialization() {
|
||||
}
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
@ -29,7 +29,7 @@ index 94641fd257de9..0aa8e14458efd 100644
|
||||
base::sequence_manager::internal::ThreadControllerPowerMonitor::
|
||||
InitializeOnMainThread();
|
||||
base::InitializePlatformThreadFeatures();
|
||||
@@ -1114,6 +1119,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
@@ -1097,6 +1102,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
std::string process_type =
|
||||
command_line.GetSwitchValueASCII(switches::kProcessType);
|
||||
|
||||
@ -37,7 +37,7 @@ index 94641fd257de9..0aa8e14458efd 100644
|
||||
crash_reporter::InitializeCrashKeys();
|
||||
|
||||
#if BUILDFLAG(IS_POSIX)
|
||||
@@ -1124,6 +1130,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
@@ -1107,6 +1113,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
InitMacCrashReporter(command_line, process_type);
|
||||
SetUpInstallerPreferences(command_line);
|
||||
#endif
|
||||
@ -45,7 +45,7 @@ index 94641fd257de9..0aa8e14458efd 100644
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
child_process_logging::Init();
|
||||
@@ -1316,6 +1323,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
@@ -1299,6 +1306,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
locale;
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ index 94641fd257de9..0aa8e14458efd 100644
|
||||
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
||||
// Zygote needs to call InitCrashReporter() in RunZygote().
|
||||
if (process_type != switches::kZygoteProcess) {
|
||||
@@ -1355,6 +1363,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
@@ -1338,6 +1346,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
// After all the platform Breakpads have been initialized, store the command
|
||||
// line for crash reporting.
|
||||
crash_keys::SetCrashKeysFromCommandLine(command_line);
|
||||
@ -61,7 +61,7 @@ index 94641fd257de9..0aa8e14458efd 100644
|
||||
|
||||
#if BUILDFLAG(ENABLE_PDF)
|
||||
MaybePatchGdiGetFontData();
|
||||
@@ -1440,6 +1449,7 @@ void ChromeMainDelegate::ZygoteForked() {
|
||||
@@ -1423,6 +1432,7 @@ void ChromeMainDelegate::ZygoteForked() {
|
||||
SetUpProfilingShutdownHandler();
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ index 94641fd257de9..0aa8e14458efd 100644
|
||||
// Needs to be called after we have chrome::DIR_USER_DATA. BrowserMain sets
|
||||
// this up for the browser process in a different manner.
|
||||
const base::CommandLine* command_line =
|
||||
@@ -1456,6 +1466,7 @@ void ChromeMainDelegate::ZygoteForked() {
|
||||
@@ -1439,6 +1449,7 @@ void ChromeMainDelegate::ZygoteForked() {
|
||||
|
||||
// Reset the command line for the newly spawned process.
|
||||
crash_keys::SetCrashKeysFromCommandLine(*command_line);
|
||||
@ -78,7 +78,7 @@ index 94641fd257de9..0aa8e14458efd 100644
|
||||
|
||||
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||
diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc
|
||||
index 18b522abec2a0..aeba2b49bb3e5 100644
|
||||
index e1eb07ce9243e..e65781274781b 100644
|
||||
--- chrome/browser/chrome_browser_main.cc
|
||||
+++ chrome/browser/chrome_browser_main.cc
|
||||
@@ -52,6 +52,7 @@
|
||||
@ -89,7 +89,7 @@ index 18b522abec2a0..aeba2b49bb3e5 100644
|
||||
#include "chrome/browser/about_flags.h"
|
||||
#include "chrome/browser/active_use_util.h"
|
||||
#include "chrome/browser/after_startup_task_utils.h"
|
||||
@@ -1600,12 +1601,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
@@ -1611,12 +1612,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
browser_process_->local_state());
|
||||
}
|
||||
|
||||
@ -104,7 +104,7 @@ index 18b522abec2a0..aeba2b49bb3e5 100644
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
page_info::SetPageInfoClient(new ChromePageInfoClient());
|
||||
@@ -1753,12 +1756,15 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
@@ -1764,14 +1767,17 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
// This step is costly and is already measured in
|
||||
// Startup.StartupBrowserCreator_Start.
|
||||
// See the comment above for an explanation of |process_command_line|.
|
||||
@ -112,7 +112,9 @@ index 18b522abec2a0..aeba2b49bb3e5 100644
|
||||
+ // nullptr.
|
||||
const bool started =
|
||||
+ !GetMainRunLoopInstance() ||
|
||||
#if BUILDFLAG(ENABLE_PROCESS_SINGLETON)
|
||||
!process_command_line ||
|
||||
#endif // BUILDFLAG(ENABLE_PROCESS_SINGLETON)
|
||||
browser_creator_->Start(*base::CommandLine::ForCurrentProcess(),
|
||||
base::FilePath(), profile_info,
|
||||
last_opened_profiles);
|
||||
@ -121,7 +123,7 @@ index 18b522abec2a0..aeba2b49bb3e5 100644
|
||||
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
|
||||
// of lacros-chrome is complete.
|
||||
#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
|
||||
@@ -1786,8 +1792,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
@@ -1799,8 +1805,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
|
||||
// Create the RunLoop for MainMessageLoopRun() to use and transfer
|
||||
// ownership of the browser's lifetime to the BrowserProcess.
|
||||
@ -134,7 +136,7 @@ index 18b522abec2a0..aeba2b49bb3e5 100644
|
||||
GetMainRunLoopInstance()->QuitWhenIdleClosure());
|
||||
}
|
||||
diff --git chrome/browser/chrome_browser_main_mac.mm chrome/browser/chrome_browser_main_mac.mm
|
||||
index 341458a637857..441708d4a301f 100644
|
||||
index 7ef669d52b306..8edc1aaeaff6a 100644
|
||||
--- chrome/browser/chrome_browser_main_mac.mm
|
||||
+++ chrome/browser/chrome_browser_main_mac.mm
|
||||
@@ -16,6 +16,7 @@
|
||||
@ -145,7 +147,7 @@ index 341458a637857..441708d4a301f 100644
|
||||
#import "chrome/browser/app_controller_mac.h"
|
||||
#include "chrome/browser/apps/app_shim/app_shim_listener.h"
|
||||
#include "chrome/browser/browser_process.h"
|
||||
@@ -109,6 +110,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
|
||||
@@ -108,6 +109,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
|
||||
}
|
||||
}
|
||||
|
||||
@ -153,7 +155,7 @@ index 341458a637857..441708d4a301f 100644
|
||||
// Create the app delegate. This object is intentionally leaked as a global
|
||||
// singleton. It is accessed through -[NSApp delegate].
|
||||
AppController* app_controller = [[AppController alloc] init];
|
||||
@@ -117,6 +119,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
|
||||
@@ -116,6 +118,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
|
||||
chrome::BuildMainMenu(NSApp, app_controller,
|
||||
l10n_util::GetStringUTF16(IDS_PRODUCT_NAME), false);
|
||||
[app_controller mainMenuCreated];
|
||||
@ -161,7 +163,7 @@ index 341458a637857..441708d4a301f 100644
|
||||
|
||||
ui::WarmScreenCapture();
|
||||
|
||||
@@ -178,7 +181,9 @@ void ChromeBrowserMainPartsMac::PostProfileInit(Profile* profile,
|
||||
@@ -174,7 +177,9 @@ void ChromeBrowserMainPartsMac::PostProfileInit(Profile* profile,
|
||||
}
|
||||
|
||||
void ChromeBrowserMainPartsMac::DidEndMainMessageLoop() {
|
||||
@ -172,7 +174,7 @@ index 341458a637857..441708d4a301f 100644
|
||||
+#endif
|
||||
}
|
||||
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
|
||||
index 16341698899d7..37abd9d118002 100644
|
||||
index 7082a0c230557..d8e383af3195e 100644
|
||||
--- chrome/browser/chrome_content_browser_client.cc
|
||||
+++ chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -30,6 +30,7 @@
|
||||
@ -183,7 +185,7 @@ index 16341698899d7..37abd9d118002 100644
|
||||
#include "chrome/browser/accessibility/accessibility_labels_service.h"
|
||||
#include "chrome/browser/accessibility/accessibility_labels_service_factory.h"
|
||||
#include "chrome/browser/after_startup_task_utils.h"
|
||||
@@ -1288,6 +1289,8 @@ bool IsTopChromeWebUIURL(const GURL& url) {
|
||||
@@ -1296,6 +1297,8 @@ bool IsTopChromeWebUIURL(const GURL& url) {
|
||||
} // namespace
|
||||
|
||||
ChromeContentBrowserClient::ChromeContentBrowserClient() {
|
||||
@ -192,7 +194,7 @@ index 16341698899d7..37abd9d118002 100644
|
||||
#if BUILDFLAG(ENABLE_PLUGINS)
|
||||
extra_parts_.push_back(new ChromeContentBrowserClientPluginsPart);
|
||||
#endif
|
||||
@@ -1313,6 +1316,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
|
||||
@@ -1321,6 +1324,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
|
||||
extra_parts_.clear();
|
||||
}
|
||||
|
||||
@ -204,7 +206,7 @@ index 16341698899d7..37abd9d118002 100644
|
||||
// static
|
||||
void ChromeContentBrowserClient::RegisterLocalStatePrefs(
|
||||
PrefRegistrySimple* registry) {
|
||||
@@ -3800,9 +3808,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
|
||||
@@ -3842,9 +3850,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
|
||||
&search::HandleNewTabURLReverseRewrite);
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@ -216,7 +218,7 @@ index 16341698899d7..37abd9d118002 100644
|
||||
}
|
||||
|
||||
base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() {
|
||||
@@ -5460,7 +5470,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
|
||||
@@ -5511,7 +5521,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
|
||||
network_service);
|
||||
}
|
||||
|
||||
@ -225,7 +227,7 @@ index 16341698899d7..37abd9d118002 100644
|
||||
content::BrowserContext* context,
|
||||
bool in_memory,
|
||||
const base::FilePath& relative_partition_path,
|
||||
@@ -5478,6 +5488,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
|
||||
@@ -5529,6 +5539,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
|
||||
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
|
||||
network_context_params->accept_language = GetApplicationLocale();
|
||||
}
|
||||
@ -234,7 +236,7 @@ index 16341698899d7..37abd9d118002 100644
|
||||
}
|
||||
|
||||
std::vector<base::FilePath>
|
||||
@@ -6353,10 +6365,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
|
||||
@@ -6395,10 +6407,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
|
||||
const auto now = base::TimeTicks::Now();
|
||||
const auto timeout = GetKeepaliveTimerTimeout(context);
|
||||
keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout);
|
||||
@ -247,7 +249,7 @@ index 16341698899d7..37abd9d118002 100644
|
||||
FROM_HERE, keepalive_deadline_ - now,
|
||||
base::BindOnce(
|
||||
&ChromeContentBrowserClient::OnKeepaliveTimerFired,
|
||||
@@ -6375,7 +6387,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
|
||||
@@ -6417,7 +6429,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
|
||||
--num_keepalive_requests_;
|
||||
if (num_keepalive_requests_ == 0) {
|
||||
DVLOG(1) << "Stopping the keepalive timer";
|
||||
@ -257,7 +259,7 @@ index 16341698899d7..37abd9d118002 100644
|
||||
// This deletes the keep alive handle attached to the timer function and
|
||||
// unblock the shutdown sequence.
|
||||
}
|
||||
@@ -6494,7 +6507,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
|
||||
@@ -6542,7 +6555,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
|
||||
const auto now = base::TimeTicks::Now();
|
||||
const auto then = keepalive_deadline_;
|
||||
if (now < then) {
|
||||
@ -267,10 +269,10 @@ index 16341698899d7..37abd9d118002 100644
|
||||
base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired,
|
||||
weak_factory_.GetWeakPtr(),
|
||||
diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h
|
||||
index b619ac0c32215..d8b5452113b9e 100644
|
||||
index 0e7fd68eb1775..b2d1f9a5d9671 100644
|
||||
--- chrome/browser/chrome_content_browser_client.h
|
||||
+++ chrome/browser/chrome_content_browser_client.h
|
||||
@@ -118,6 +118,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
|
||||
@@ -119,6 +119,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
|
||||
|
||||
~ChromeContentBrowserClient() override;
|
||||
|
||||
@ -279,7 +281,7 @@ index b619ac0c32215..d8b5452113b9e 100644
|
||||
// TODO(https://crbug.com/787567): This file is about calls from content/ out
|
||||
// to chrome/ to get values or notify about events, but both of these
|
||||
// functions are from chrome/ to chrome/ and don't involve content/ at all.
|
||||
@@ -567,7 +569,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
|
||||
@@ -579,7 +581,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
|
||||
override;
|
||||
void OnNetworkServiceCreated(
|
||||
network::mojom::NetworkService* network_service) override;
|
||||
@ -288,7 +290,7 @@ index b619ac0c32215..d8b5452113b9e 100644
|
||||
content::BrowserContext* context,
|
||||
bool in_memory,
|
||||
const base::FilePath& relative_partition_path,
|
||||
@@ -909,7 +911,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
|
||||
@@ -928,7 +930,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
uint64_t num_keepalive_requests_ = 0;
|
||||
@ -298,7 +300,7 @@ index b619ac0c32215..d8b5452113b9e 100644
|
||||
#endif
|
||||
|
||||
diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc
|
||||
index a748644cef16f..7ec056730fb70 100644
|
||||
index 346d0636aad58..969f6e42371fa 100644
|
||||
--- chrome/browser/prefs/browser_prefs.cc
|
||||
+++ chrome/browser/prefs/browser_prefs.cc
|
||||
@@ -11,6 +11,7 @@
|
||||
@ -309,7 +311,7 @@ index a748644cef16f..7ec056730fb70 100644
|
||||
#include "chrome/browser/about_flags.h"
|
||||
#include "chrome/browser/accessibility/accessibility_labels_service.h"
|
||||
#include "chrome/browser/accessibility/accessibility_ui.h"
|
||||
@@ -164,6 +165,10 @@
|
||||
@@ -166,6 +167,10 @@
|
||||
#include "chrome/browser/background/background_mode_manager.h"
|
||||
#endif
|
||||
|
||||
@ -320,7 +322,7 @@ index a748644cef16f..7ec056730fb70 100644
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
#include "chrome/browser/accessibility/animation_policy_prefs.h"
|
||||
#include "chrome/browser/apps/platform_apps/shortcut_manager.h"
|
||||
@@ -1333,6 +1338,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
@@ -1351,6 +1356,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
|
||||
SessionDataService::RegisterProfilePrefs(registry);
|
||||
#endif
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc
|
||||
index c582ceb80e929..f121e3084389c 100644
|
||||
index 4013ab3ce380b..3ea8492f4c977 100644
|
||||
--- chrome/browser/ui/browser_command_controller.cc
|
||||
+++ chrome/browser/ui/browser_command_controller.cc
|
||||
@@ -414,8 +414,10 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
|
||||
@@ -415,8 +415,10 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
|
||||
// CommandUpdaterDelegate and CommandUpdater declare this function so we
|
||||
// choose to not implement CommandUpdaterDelegate inside this class and
|
||||
// therefore command_updater_ doesn't have the delegate set).
|
||||
@ -14,7 +14,7 @@ index c582ceb80e929..f121e3084389c 100644
|
||||
|
||||
// No commands are enabled if there is not yet any selected tab.
|
||||
// TODO(pkasting): It seems like we should not need this, because either
|
||||
@@ -430,6 +432,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
|
||||
@@ -431,6 +433,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
|
||||
DCHECK(command_updater_.IsCommandEnabled(id))
|
||||
<< "Invalid/disabled command " << id;
|
||||
|
||||
@ -28,7 +28,7 @@ index c582ceb80e929..f121e3084389c 100644
|
||||
// The order of commands in this switch statement must match the function
|
||||
// declaration order in browser.h!
|
||||
switch (id) {
|
||||
@@ -1067,11 +1076,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
|
||||
@@ -1076,11 +1085,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
|
||||
// BrowserCommandController, private:
|
||||
|
||||
bool BrowserCommandController::IsShowingMainUI() {
|
||||
@ -45,7 +45,7 @@ index c582ceb80e929..f121e3084389c 100644
|
||||
|
||||
bool BrowserCommandController::IsWebAppOrCustomTab() const {
|
||||
diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc
|
||||
index 0d4c12f0f72de..dc09323bdf482 100644
|
||||
index 95d3053a5af11..b726ea28700de 100644
|
||||
--- chrome/browser/ui/views/frame/browser_frame.cc
|
||||
+++ chrome/browser/ui/views/frame/browser_frame.cc
|
||||
@@ -74,15 +74,23 @@ bool IsUsingGtkTheme(Profile* profile) {
|
||||
@ -74,7 +74,7 @@ index 0d4c12f0f72de..dc09323bdf482 100644
|
||||
}
|
||||
|
||||
BrowserFrame::~BrowserFrame() {}
|
||||
@@ -152,6 +160,12 @@ gfx::Rect BrowserFrame::GetBoundsForTabStripRegion(
|
||||
@@ -154,6 +162,12 @@ gfx::Rect BrowserFrame::GetBoundsForTabStripRegion(
|
||||
}
|
||||
|
||||
int BrowserFrame::GetTopInset() const {
|
||||
@ -87,7 +87,7 @@ index 0d4c12f0f72de..dc09323bdf482 100644
|
||||
return browser_frame_view_->GetTopInset(false);
|
||||
}
|
||||
|
||||
@@ -181,20 +195,30 @@ bool BrowserFrame::ShouldDrawFrameHeader() const {
|
||||
@@ -183,20 +197,30 @@ bool BrowserFrame::ShouldDrawFrameHeader() const {
|
||||
|
||||
void BrowserFrame::GetWindowPlacement(gfx::Rect* bounds,
|
||||
ui::WindowShowState* show_state) const {
|
||||
@ -118,7 +118,7 @@ index 0d4c12f0f72de..dc09323bdf482 100644
|
||||
browser_frame_view_->OnBrowserViewInitViewsComplete();
|
||||
}
|
||||
|
||||
@@ -255,6 +279,8 @@ const ui::ThemeProvider* BrowserFrame::GetThemeProvider() const {
|
||||
@@ -257,6 +281,8 @@ const ui::ThemeProvider* BrowserFrame::GetThemeProvider() const {
|
||||
|
||||
ui::ColorProviderManager::ThemeInitializerSupplier*
|
||||
BrowserFrame::GetCustomTheme() const {
|
||||
@ -127,7 +127,7 @@ index 0d4c12f0f72de..dc09323bdf482 100644
|
||||
Browser* browser = browser_view_->browser();
|
||||
// If this is an incognito profile, there should never be a custom theme.
|
||||
if (browser->profile()->IsIncognitoProfile())
|
||||
@@ -272,6 +298,8 @@ BrowserFrame::GetCustomTheme() const {
|
||||
@@ -274,6 +300,8 @@ BrowserFrame::GetCustomTheme() const {
|
||||
}
|
||||
|
||||
void BrowserFrame::OnNativeWidgetWorkspaceChanged() {
|
||||
@ -136,16 +136,16 @@ index 0d4c12f0f72de..dc09323bdf482 100644
|
||||
chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace());
|
||||
chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(),
|
||||
IsVisibleOnAllWorkspaces());
|
||||
@@ -361,6 +389,8 @@ void BrowserFrame::SetTabDragKind(TabDragKind tab_drag_kind) {
|
||||
@@ -363,6 +391,8 @@ void BrowserFrame::SetTabDragKind(TabDragKind tab_drag_kind) {
|
||||
|
||||
ui::ColorProviderManager::Key BrowserFrame::GetColorProviderKey() const {
|
||||
auto key = Widget::GetColorProviderKey();
|
||||
+ if (!browser_view_)
|
||||
+ return key;
|
||||
auto* app_controller = browser_view_->browser()->app_controller();
|
||||
key.app_controller =
|
||||
app_controller ? app_controller->get_weak_ref() : nullptr;
|
||||
@@ -391,7 +421,8 @@ void BrowserFrame::SelectNativeTheme() {
|
||||
key.frame_type = UseCustomFrame()
|
||||
? ui::ColorProviderManager::FrameType::kChromium
|
||||
: ui::ColorProviderManager::FrameType::kNative;
|
||||
@@ -395,7 +425,8 @@ void BrowserFrame::SelectNativeTheme() {
|
||||
// Select between regular, dark and GTK theme.
|
||||
ui::NativeTheme* native_theme = ui::NativeTheme::GetInstanceForNativeUi();
|
||||
|
||||
@ -155,7 +155,7 @@ index 0d4c12f0f72de..dc09323bdf482 100644
|
||||
// No matter if we are using the default theme or not we always use the dark
|
||||
// ui instance.
|
||||
SetNativeTheme(ui::NativeTheme::GetInstanceForDarkUI());
|
||||
@@ -404,7 +435,8 @@ void BrowserFrame::SelectNativeTheme() {
|
||||
@@ -408,7 +439,8 @@ void BrowserFrame::SelectNativeTheme() {
|
||||
// display_override so the web contents can blend with the overlay by using
|
||||
// the developer-provided theme color for a better experience. Context:
|
||||
// https://crbug.com/1219073.
|
||||
@ -180,10 +180,10 @@ index 9bd586697dece..80ef1f08cb463 100644
|
||||
BrowserFrame(const BrowserFrame&) = delete;
|
||||
BrowserFrame& operator=(const BrowserFrame&) = delete;
|
||||
diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc
|
||||
index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
index a6f5515c7259d..51da31a2afe91 100644
|
||||
--- chrome/browser/ui/views/frame/browser_view.cc
|
||||
+++ chrome/browser/ui/views/frame/browser_view.cc
|
||||
@@ -301,11 +301,10 @@ using content::NativeWebKeyboardEvent;
|
||||
@@ -302,11 +302,10 @@ using content::NativeWebKeyboardEvent;
|
||||
using content::WebContents;
|
||||
using web_modal::WebContentsModalDialogHost;
|
||||
|
||||
@ -198,7 +198,7 @@ index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
// UMA histograms that record animation smoothness for tab loading animation.
|
||||
@@ -797,11 +796,22 @@ class BrowserView::SidePanelVisibilityController : public views::ViewObserver {
|
||||
@@ -793,11 +792,22 @@ class BrowserView::SidePanelVisibilityController : public views::ViewObserver {
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// BrowserView, public:
|
||||
|
||||
@ -222,7 +222,7 @@ index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
SetShowIcon(
|
||||
::ShouldShowWindowIcon(browser_.get(), AppUsesWindowControlsOverlay()));
|
||||
|
||||
@@ -843,7 +853,6 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
|
||||
@@ -839,7 +849,6 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
|
||||
}
|
||||
|
||||
browser_->tab_strip_model()->AddObserver(this);
|
||||
@ -230,7 +230,7 @@ index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
|
||||
// Top container holds tab strip region and toolbar and lives at the front of
|
||||
// the view hierarchy.
|
||||
@@ -886,8 +895,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
|
||||
@@ -882,8 +891,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
|
||||
contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>(
|
||||
devtools_web_view_, contents_web_view_));
|
||||
|
||||
@ -248,7 +248,7 @@ index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
|
||||
contents_separator_ =
|
||||
top_container_->AddChildView(std::make_unique<ContentsSeparator>());
|
||||
@@ -1780,6 +1796,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const {
|
||||
@@ -1785,6 +1801,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const {
|
||||
if (immersive_mode_controller_->IsEnabled())
|
||||
return false;
|
||||
|
||||
@ -257,7 +257,7 @@ index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
return frame_->GetFrameView()->ShouldHideTopUIForFullscreen();
|
||||
}
|
||||
|
||||
@@ -2993,7 +3011,8 @@ BrowserView::GetNativeViewHostsForTopControlsSlide() const {
|
||||
@@ -3037,7 +3055,8 @@ BrowserView::GetNativeViewHostsForTopControlsSlide() const {
|
||||
}
|
||||
|
||||
void BrowserView::ReparentTopContainerForEndOfImmersive() {
|
||||
@ -267,7 +267,7 @@ index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
top_container()->DestroyLayer();
|
||||
AddChildViewAt(top_container(), 0);
|
||||
EnsureFocusOrder();
|
||||
@@ -3530,8 +3549,10 @@ void BrowserView::Layout() {
|
||||
@@ -3549,8 +3568,10 @@ void BrowserView::Layout() {
|
||||
|
||||
// TODO(jamescook): Why was this in the middle of layout code?
|
||||
toolbar_->location_bar()->omnibox_view()->SetFocusBehavior(
|
||||
@ -280,7 +280,7 @@ index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
|
||||
// Some of the situations when the BrowserView is laid out are:
|
||||
// - Enter/exit immersive fullscreen mode.
|
||||
@@ -3597,6 +3618,11 @@ void BrowserView::AddedToWidget() {
|
||||
@@ -3616,6 +3637,11 @@ void BrowserView::AddedToWidget() {
|
||||
SetThemeProfileForWindow(GetNativeWindow(), browser_->profile());
|
||||
#endif
|
||||
|
||||
@ -292,7 +292,7 @@ index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
toolbar_->Init();
|
||||
|
||||
// TODO(pbos): Manage this either inside SidePanel or the corresponding button
|
||||
@@ -3658,13 +3684,9 @@ void BrowserView::AddedToWidget() {
|
||||
@@ -3677,13 +3703,9 @@ void BrowserView::AddedToWidget() {
|
||||
|
||||
EnsureFocusOrder();
|
||||
|
||||
@ -308,7 +308,7 @@ index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
using_native_frame_ = frame_->ShouldUseNativeFrame();
|
||||
|
||||
MaybeInitializeWebUITabStrip();
|
||||
@@ -4072,7 +4094,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
|
||||
@@ -4091,7 +4113,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
|
||||
// Undo our anti-jankiness hacks and force a re-layout.
|
||||
in_process_fullscreen_ = false;
|
||||
ToolbarSizeChanged(false);
|
||||
@ -318,7 +318,7 @@ index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
}
|
||||
|
||||
bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const {
|
||||
@@ -4387,6 +4410,8 @@ Profile* BrowserView::GetProfile() {
|
||||
@@ -4406,6 +4429,8 @@ Profile* BrowserView::GetProfile() {
|
||||
}
|
||||
|
||||
void BrowserView::UpdateUIForTabFullscreen() {
|
||||
@ -327,7 +327,7 @@ index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
frame()->GetFrameView()->UpdateFullscreenTopUI();
|
||||
}
|
||||
|
||||
@@ -4409,6 +4434,8 @@ void BrowserView::HideDownloadShelf() {
|
||||
@@ -4428,6 +4453,8 @@ void BrowserView::HideDownloadShelf() {
|
||||
}
|
||||
|
||||
bool BrowserView::CanUserExitFullscreen() const {
|
||||
@ -337,10 +337,10 @@ index 9c9b99da5b015..2b76e15ea42da 100644
|
||||
}
|
||||
|
||||
diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h
|
||||
index f4b503d7be34d..7e1926881fae7 100644
|
||||
index 0fad4aa723c84..077df40dc4762 100644
|
||||
--- chrome/browser/ui/views/frame/browser_view.h
|
||||
+++ chrome/browser/ui/views/frame/browser_view.h
|
||||
@@ -124,11 +124,16 @@ class BrowserView : public BrowserWindow,
|
||||
@@ -125,11 +125,16 @@ class BrowserView : public BrowserWindow,
|
||||
public webapps::AppBannerManager::Observer {
|
||||
public:
|
||||
METADATA_HEADER(BrowserView);
|
||||
@ -357,9 +357,9 @@ index f4b503d7be34d..7e1926881fae7 100644
|
||||
void set_frame(BrowserFrame* frame) { frame_ = frame; }
|
||||
BrowserFrame* frame() const { return frame_; }
|
||||
|
||||
@@ -731,6 +736,12 @@ class BrowserView : public BrowserWindow,
|
||||
void MaybeRestoreSideSearchStatePerWindow(
|
||||
const std::map<std::string, std::string>& extra_data) override;
|
||||
@@ -742,6 +747,12 @@ class BrowserView : public BrowserWindow,
|
||||
// aligned side panels.
|
||||
void RightAlignedSidePanelWasClosed();
|
||||
|
||||
+ protected:
|
||||
+ virtual ToolbarView* OverrideCreateToolbar(Browser* browser,
|
||||
@ -414,10 +414,10 @@ index bc047256f110a..b6bc9dfc0eee5 100644
|
||||
|
||||
ContentsWebView::~ContentsWebView() {
|
||||
diff --git chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
|
||||
index ef5cedd707e9b..cb9ba4119f318 100644
|
||||
index 5a7767fc35042..681171bc557ba 100644
|
||||
--- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
|
||||
+++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
|
||||
@@ -551,33 +551,47 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
|
||||
@@ -552,33 +552,47 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
|
||||
}
|
||||
|
||||
bool BrowserTabStripController::IsFrameCondensed() const {
|
||||
@ -466,10 +466,10 @@ index ef5cedd707e9b..cb9ba4119f318 100644
|
||||
}
|
||||
|
||||
diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc
|
||||
index 8499344e764b1..61bb8becc9e82 100644
|
||||
index 55fc13d5d929d..236eaebed8d1b 100644
|
||||
--- chrome/browser/ui/views/toolbar/toolbar_view.cc
|
||||
+++ chrome/browser/ui/views/toolbar/toolbar_view.cc
|
||||
@@ -168,12 +168,13 @@ auto& GetViewCommandMap() {
|
||||
@@ -169,12 +169,13 @@ auto& GetViewCommandMap() {
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// ToolbarView, public:
|
||||
|
||||
@ -485,7 +485,7 @@ index 8499344e764b1..61bb8becc9e82 100644
|
||||
SetID(VIEW_ID_TOOLBAR);
|
||||
|
||||
UpgradeDetector::GetInstance()->AddObserver(this);
|
||||
@@ -208,7 +209,7 @@ void ToolbarView::Init() {
|
||||
@@ -209,7 +210,7 @@ void ToolbarView::Init() {
|
||||
#endif
|
||||
auto location_bar = std::make_unique<LocationBarView>(
|
||||
browser_, browser_->profile(), browser_->command_controller(), this,
|
||||
|
22
patch/patches/chrome_utility_client.patch
Normal file
22
patch/patches/chrome_utility_client.patch
Normal file
@ -0,0 +1,22 @@
|
||||
diff --git chrome/utility/chrome_content_utility_client.cc chrome/utility/chrome_content_utility_client.cc
|
||||
index 0d7e6405b1a23..123ae4af7ec69 100644
|
||||
--- chrome/utility/chrome_content_utility_client.cc
|
||||
+++ chrome/utility/chrome_content_utility_client.cc
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "base/lazy_instance.h"
|
||||
#include "base/path_service.h"
|
||||
#include "build/build_config.h"
|
||||
+#include "cef/libcef/features/runtime.h"
|
||||
#include "chrome/common/chrome_paths.h"
|
||||
#include "chrome/common/profiler/thread_profiler.h"
|
||||
#include "chrome/common/profiler/thread_profiler_configuration.h"
|
||||
@@ -70,7 +71,8 @@ void ChromeContentUtilityClient::UtilityThreadStarted() {
|
||||
command_line->GetSwitchValueASCII(switches::kProcessType);
|
||||
// An in-process utility thread may run in other processes, only set up
|
||||
// collector in a utility process.
|
||||
- if (process_type == switches::kUtilityProcess) {
|
||||
+ if (process_type == switches::kUtilityProcess &&
|
||||
+ !cef::IsAlloyRuntimeEnabled()) {
|
||||
// The HeapProfilerController should have been created in
|
||||
// ChromeMainDelegate::PostEarlyInitialization.
|
||||
DCHECK_NE(HeapProfilerController::GetProfilingEnabled(),
|
@ -1,5 +1,5 @@
|
||||
diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h
|
||||
index 1407ec64d33ea..c3ceb22baed12 100644
|
||||
index efea37465c849..340bd6b9b03ba 100644
|
||||
--- content/browser/devtools/devtools_instrumentation.h
|
||||
+++ content/browser/devtools/devtools_instrumentation.h
|
||||
@@ -97,7 +97,7 @@ bool ApplyUserAgentMetadataOverrides(
|
||||
@ -68,7 +68,7 @@ index 57072bf1263ae..0a93446e4d21c 100644
|
||||
blink::mojom::V8CacheOptions GetV8CacheOptions();
|
||||
|
||||
diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn
|
||||
index 3c8c64d8d4dc9..1f4d7fb698782 100644
|
||||
index 7a0d95725d295..99fac79e105aa 100644
|
||||
--- third_party/blink/renderer/controller/BUILD.gn
|
||||
+++ third_party/blink/renderer/controller/BUILD.gn
|
||||
@@ -32,6 +32,7 @@ component("controller") {
|
||||
|
@ -12,10 +12,10 @@ index b75e19e7946b0..a92a7da426081 100644
|
||||
GetContentClient()->browser()->GetUserAgent());
|
||||
version.SetString("V8-Version", V8_VERSION_STRING);
|
||||
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
|
||||
index 2bf604ee300d9..ded4a09961381 100644
|
||||
index 7e8b016df5234..97196faf4c41e 100644
|
||||
--- content/browser/loader/navigation_url_loader_impl.cc
|
||||
+++ content/browser/loader/navigation_url_loader_impl.cc
|
||||
@@ -691,6 +691,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest(
|
||||
@@ -718,6 +718,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest(
|
||||
resource_request_->has_user_gesture, initiating_origin,
|
||||
initiator_document_.AsRenderFrameHostIfValid(), &loader_factory);
|
||||
|
||||
@ -34,19 +34,19 @@ index 2bf604ee300d9..ded4a09961381 100644
|
||||
factory = base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>(
|
||||
std::move(loader_factory));
|
||||
diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc
|
||||
index 69bcd725d0f86..a8456b3e8a941 100644
|
||||
index b4e2e5d8a5e96..8f90190b7c5e6 100644
|
||||
--- content/public/browser/content_browser_client.cc
|
||||
+++ content/public/browser/content_browser_client.cc
|
||||
@@ -9,7 +9,7 @@
|
||||
// declarations instead of including more headers. If that is infeasible, adjust
|
||||
// the limit. For more info, see
|
||||
// https://chromium.googlesource.com/chromium/src/+/HEAD/docs/wmax_tokens.md
|
||||
-#pragma clang max_tokens_here 880000
|
||||
+// #pragma clang max_tokens_here 880000
|
||||
-#pragma clang max_tokens_here 1050000
|
||||
+// #pragma clang max_tokens_here 1050000
|
||||
|
||||
#include <utility>
|
||||
|
||||
@@ -916,7 +916,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
|
||||
@@ -937,7 +937,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
|
||||
void ContentBrowserClient::OnNetworkServiceCreated(
|
||||
network::mojom::NetworkService* network_service) {}
|
||||
|
||||
@ -55,7 +55,7 @@ index 69bcd725d0f86..a8456b3e8a941 100644
|
||||
BrowserContext* context,
|
||||
bool in_memory,
|
||||
const base::FilePath& relative_partition_path,
|
||||
@@ -925,6 +925,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams(
|
||||
@@ -946,6 +946,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams(
|
||||
cert_verifier_creation_params) {
|
||||
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
|
||||
network_context_params->accept_language = "en-us,en";
|
||||
@ -64,10 +64,10 @@ index 69bcd725d0f86..a8456b3e8a941 100644
|
||||
|
||||
std::vector<base::FilePath>
|
||||
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
|
||||
index d0b7aed3162b8..c494e9618d9dc 100644
|
||||
index b374d6b28aea8..6587b5edf60fa 100644
|
||||
--- content/public/browser/content_browser_client.h
|
||||
+++ content/public/browser/content_browser_client.h
|
||||
@@ -33,6 +33,7 @@
|
||||
@@ -34,6 +34,7 @@
|
||||
#include "content/public/browser/login_delegate.h"
|
||||
#include "content/public/browser/mojo_binder_policy_map.h"
|
||||
#include "content/public/browser/storage_partition_config.h"
|
||||
@ -75,7 +75,7 @@ index d0b7aed3162b8..c494e9618d9dc 100644
|
||||
#include "content/public/common/alternative_error_page_override_info.mojom-forward.h"
|
||||
#include "content/public/common/page_visibility_state.h"
|
||||
#include "content/public/common/window_container_type.mojom-forward.h"
|
||||
@@ -1690,7 +1691,7 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1715,7 +1716,7 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
//
|
||||
// If |relative_partition_path| is the empty string, it means this needs to
|
||||
// create the default NetworkContext for the BrowserContext.
|
||||
@ -84,7 +84,7 @@ index d0b7aed3162b8..c494e9618d9dc 100644
|
||||
BrowserContext* context,
|
||||
bool in_memory,
|
||||
const base::FilePath& relative_partition_path,
|
||||
@@ -1897,6 +1898,19 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1922,6 +1923,19 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
RenderFrameHost* initiator_document,
|
||||
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory);
|
||||
|
||||
@ -104,7 +104,7 @@ index d0b7aed3162b8..c494e9618d9dc 100644
|
||||
// Creates an OverlayWindow to be used for video or document
|
||||
// Picture-in-Picture respectively. This window will house the content shown
|
||||
// when in Picture-in-Picture mode. This will return a new OverlayWindow.
|
||||
@@ -1958,6 +1972,10 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1977,6 +1991,10 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
// Used as part of the user agent string.
|
||||
virtual std::string GetProduct();
|
||||
|
||||
@ -141,10 +141,10 @@ index 1dfe162dc69f4..93ece5d24f60f 100644
|
||||
// started.
|
||||
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
|
||||
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
|
||||
index ab74207b348f2..5cdda5796723f 100644
|
||||
index 2f86fff71f363..2ac7ab2a9a096 100644
|
||||
--- content/renderer/render_thread_impl.cc
|
||||
+++ content/renderer/render_thread_impl.cc
|
||||
@@ -609,6 +609,8 @@ void RenderThreadImpl::Init() {
|
||||
@@ -608,6 +608,8 @@ void RenderThreadImpl::Init() {
|
||||
GetContentClient()->renderer()->CreateURLLoaderThrottleProvider(
|
||||
blink::URLLoaderThrottleProviderType::kFrame);
|
||||
|
||||
@ -154,10 +154,10 @@ index ab74207b348f2..5cdda5796723f 100644
|
||||
&RenderThreadImpl::OnRendererInterfaceReceiver, base::Unretained(this)));
|
||||
|
||||
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
|
||||
index 51ab896732604..8902f5d486ab9 100644
|
||||
index a5f2807bfa3bd..0f03da05909ff 100644
|
||||
--- content/renderer/renderer_blink_platform_impl.cc
|
||||
+++ content/renderer/renderer_blink_platform_impl.cc
|
||||
@@ -1059,6 +1059,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
|
||||
@@ -1053,6 +1053,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@ -174,10 +174,10 @@ index 51ab896732604..8902f5d486ab9 100644
|
||||
RendererBlinkPlatformImpl::CreateWebV8ValueConverter() {
|
||||
return std::make_unique<V8ValueConverterImpl>();
|
||||
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
|
||||
index 156fb6cda9c41..17ca9be1f7e91 100644
|
||||
index 40146f89d1d94..4aaecc4e319bf 100644
|
||||
--- content/renderer/renderer_blink_platform_impl.h
|
||||
+++ content/renderer/renderer_blink_platform_impl.h
|
||||
@@ -243,6 +243,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
@@ -238,6 +238,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
blink::WebVector<blink::WebContentSecurityPolicyHeader>* csp) override;
|
||||
base::PlatformThreadId GetIOThreadId() const override;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git content/app/content_main.cc content/app/content_main.cc
|
||||
index bb2d3e9911958..7af313040906e 100644
|
||||
index b54d534b4d408..3c3bd4a62a799 100644
|
||||
--- content/app/content_main.cc
|
||||
+++ content/app/content_main.cc
|
||||
@@ -227,11 +227,8 @@ ContentMainParams::~ContentMainParams() = default;
|
||||
@ -26,7 +26,7 @@ index bb2d3e9911958..7af313040906e 100644
|
||||
|
||||
// A flag to indicate whether Main() has been called before. On Android, we
|
||||
// may re-run Main() without restarting the browser process. This flag
|
||||
@@ -326,12 +320,6 @@ RunContentProcess(ContentMainParams params,
|
||||
@@ -325,12 +319,6 @@ RunContentProcess(ContentMainParams params,
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
@ -39,7 +39,7 @@ index bb2d3e9911958..7af313040906e 100644
|
||||
InitializeMac();
|
||||
#endif
|
||||
|
||||
@@ -404,8 +392,18 @@ RunContentProcess(ContentMainParams params,
|
||||
@@ -403,8 +391,18 @@ RunContentProcess(ContentMainParams params,
|
||||
|
||||
if (IsSubprocess())
|
||||
CommonSubprocessInit();
|
||||
@ -59,7 +59,7 @@ index bb2d3e9911958..7af313040906e 100644
|
||||
if (tracker) {
|
||||
if (exit_code == 0) {
|
||||
tracker->SetProcessPhaseIfEnabled(
|
||||
@@ -417,14 +415,41 @@ RunContentProcess(ContentMainParams params,
|
||||
@@ -416,14 +414,41 @@ RunContentProcess(ContentMainParams params,
|
||||
}
|
||||
}
|
||||
|
||||
@ -105,7 +105,7 @@ index bb2d3e9911958..7af313040906e 100644
|
||||
}
|
||||
|
||||
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
|
||||
index 892ed9c633465..018b941845a58 100644
|
||||
index 88e46d8d05c0b..c026c09415512 100644
|
||||
--- content/app/content_main_runner_impl.cc
|
||||
+++ content/app/content_main_runner_impl.cc
|
||||
@@ -42,6 +42,7 @@
|
||||
@ -116,7 +116,7 @@ index 892ed9c633465..018b941845a58 100644
|
||||
#include "base/time/time.h"
|
||||
#include "base/trace_event/trace_event.h"
|
||||
#include "build/build_config.h"
|
||||
@@ -1218,6 +1219,12 @@ void ContentMainRunnerImpl::Shutdown() {
|
||||
@@ -1219,6 +1220,12 @@ void ContentMainRunnerImpl::Shutdown() {
|
||||
is_shutdown_ = true;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/chrome_elf/BUILD.gn chrome/chrome_elf/BUILD.gn
|
||||
index 3fe0b9b74ae0a..38987ce169308 100644
|
||||
index da34cf911b74d..d5c8ca11be3fc 100644
|
||||
--- chrome/chrome_elf/BUILD.gn
|
||||
+++ chrome/chrome_elf/BUILD.gn
|
||||
@@ -7,6 +7,7 @@
|
||||
@ -10,7 +10,7 @@ index 3fe0b9b74ae0a..38987ce169308 100644
|
||||
import("//chrome/process_version_rc_template.gni")
|
||||
import("//testing/test.gni")
|
||||
|
||||
@@ -104,9 +105,6 @@ source_set("constants") {
|
||||
@@ -106,9 +107,6 @@ source_set("constants") {
|
||||
|
||||
static_library("crash") {
|
||||
sources = [
|
||||
@ -20,7 +20,7 @@ index 3fe0b9b74ae0a..38987ce169308 100644
|
||||
"crash/crash_helper.cc",
|
||||
"crash/crash_helper.h",
|
||||
]
|
||||
@@ -114,6 +112,7 @@ static_library("crash") {
|
||||
@@ -116,6 +114,7 @@ static_library("crash") {
|
||||
":hook_util",
|
||||
"//base", # This needs to go. DEP of app, crash_keys, client.
|
||||
"//base:base_static", # pe_image
|
||||
@ -28,7 +28,7 @@ index 3fe0b9b74ae0a..38987ce169308 100644
|
||||
"//chrome/install_static:install_static_util",
|
||||
"//components/crash/core/app",
|
||||
"//components/crash/core/common", # crash_keys
|
||||
@@ -121,6 +120,17 @@ static_library("crash") {
|
||||
@@ -123,6 +122,17 @@ static_library("crash") {
|
||||
"//content/public/common:result_codes",
|
||||
"//third_party/crashpad/crashpad/client", # DumpWithoutCrash
|
||||
]
|
||||
@ -278,7 +278,7 @@ index 9058d56e8bda7..6a62596c03a52 100644
|
||||
->set_system_crash_reporter_forwarding(crashpad::TriState::kDisabled);
|
||||
}
|
||||
diff --git components/crash/core/app/crashpad_linux.cc components/crash/core/app/crashpad_linux.cc
|
||||
index 39fb479eba509..809859ee5e597 100644
|
||||
index 7159bea91a257..090dfcfa0d45a 100644
|
||||
--- components/crash/core/app/crashpad_linux.cc
|
||||
+++ components/crash/core/app/crashpad_linux.cc
|
||||
@@ -23,6 +23,7 @@
|
||||
@ -347,9 +347,9 @@ index 39fb479eba509..809859ee5e597 100644
|
||||
+
|
||||
+ crash_reporter_client->GetCrashOptionalArguments(&arguments);
|
||||
+
|
||||
bool result =
|
||||
client.StartHandler(handler_path, *database_path, metrics_path, url,
|
||||
annotations, arguments, false, false);
|
||||
CHECK(client.StartHandler(handler_path, *database_path, metrics_path, url,
|
||||
annotations, arguments, false, false));
|
||||
} else {
|
||||
diff --git components/crash/core/app/crashpad_mac.mm components/crash/core/app/crashpad_mac.mm
|
||||
index dc041c43371fd..1d060ae55c586 100644
|
||||
--- components/crash/core/app/crashpad_mac.mm
|
||||
|
@ -146,7 +146,7 @@ index 8ad8a2b16f648..adaede06e8b86 100644
|
||||
struct Data;
|
||||
|
||||
diff --git third_party/crashpad/crashpad/handler/BUILD.gn third_party/crashpad/crashpad/handler/BUILD.gn
|
||||
index 0fe4760db7fe2..042af7247712c 100644
|
||||
index e79f4719b3dd0..22a20aede8100 100644
|
||||
--- third_party/crashpad/crashpad/handler/BUILD.gn
|
||||
+++ third_party/crashpad/crashpad/handler/BUILD.gn
|
||||
@@ -12,6 +12,7 @@
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git components/embedder_support/user_agent_utils.cc components/embedder_support/user_agent_utils.cc
|
||||
index acd60381a6294..f9be70d2da75f 100644
|
||||
index fd99a0b94d9ef..2be6208db60ba 100644
|
||||
--- components/embedder_support/user_agent_utils.cc
|
||||
+++ components/embedder_support/user_agent_utils.cc
|
||||
@@ -15,6 +15,7 @@
|
||||
|
@ -60,11 +60,11 @@ index 2f5f7a7645103..9ab6fc1d4a654 100644
|
||||
std::unique_ptr<StreamContainer> stream_container(
|
||||
new StreamContainer(tab_id, embedded, handler_url, extension_id,
|
||||
diff --git extensions/browser/extension_host.cc extensions/browser/extension_host.cc
|
||||
index 70279e6b632ad..7d6b662e51957 100644
|
||||
index 04b9beb8c3fc2..7e4d3e31522c0 100644
|
||||
--- extensions/browser/extension_host.cc
|
||||
+++ extensions/browser/extension_host.cc
|
||||
@@ -58,11 +58,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
|
||||
DCHECK(host_type == mojom::ViewType::kExtensionBackgroundPage ||
|
||||
@@ -59,11 +59,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
|
||||
host_type == mojom::ViewType::kOffscreenDocument ||
|
||||
host_type == mojom::ViewType::kExtensionDialog ||
|
||||
host_type == mojom::ViewType::kExtensionPopup);
|
||||
- host_contents_ = WebContents::Create(
|
||||
@ -79,7 +79,7 @@ index 70279e6b632ad..7d6b662e51957 100644
|
||||
main_frame_host_ = host_contents_->GetPrimaryMainFrame();
|
||||
|
||||
// Listen for when an extension is unloaded from the same profile, as it may
|
||||
@@ -77,6 +78,44 @@ ExtensionHost::ExtensionHost(const Extension* extension,
|
||||
@@ -78,6 +79,44 @@ ExtensionHost::ExtensionHost(const Extension* extension,
|
||||
ExtensionHostRegistry::Get(browser_context_)->ExtensionHostCreated(this);
|
||||
}
|
||||
|
||||
@ -108,7 +108,7 @@ index 70279e6b632ad..7d6b662e51957 100644
|
||||
+ content::WebContentsObserver::Observe(host_contents_);
|
||||
+ SetViewType(host_contents_, host_type);
|
||||
+
|
||||
+ main_frame_host_ = host_contents_->GetMainFrame();
|
||||
+ main_frame_host_ = host_contents_->GetPrimaryMainFrame();
|
||||
+
|
||||
+ // Listen for when an extension is unloaded from the same profile, as it may
|
||||
+ // be the same extension that this points to.
|
||||
@ -125,10 +125,10 @@ index 70279e6b632ad..7d6b662e51957 100644
|
||||
ExtensionRegistry::Get(browser_context_)->RemoveObserver(this);
|
||||
|
||||
diff --git extensions/browser/extension_host.h extensions/browser/extension_host.h
|
||||
index dd22bbc07fb52..c695ece6b1a47 100644
|
||||
index 35f6735afb66a..40401322681cf 100644
|
||||
--- extensions/browser/extension_host.h
|
||||
+++ extensions/browser/extension_host.h
|
||||
@@ -53,6 +53,12 @@ class ExtensionHost : public DeferredStartRenderHost,
|
||||
@@ -56,6 +56,12 @@ class ExtensionHost : public DeferredStartRenderHost,
|
||||
content::SiteInstance* site_instance,
|
||||
const GURL& url,
|
||||
mojom::ViewType host_type);
|
||||
@ -141,7 +141,7 @@ index dd22bbc07fb52..c695ece6b1a47 100644
|
||||
|
||||
ExtensionHost(const ExtensionHost&) = delete;
|
||||
ExtensionHost& operator=(const ExtensionHost&) = delete;
|
||||
@@ -63,7 +69,7 @@ class ExtensionHost : public DeferredStartRenderHost,
|
||||
@@ -66,7 +72,7 @@ class ExtensionHost : public DeferredStartRenderHost,
|
||||
const Extension* extension() const { return extension_; }
|
||||
|
||||
const std::string& extension_id() const { return extension_id_; }
|
||||
@ -150,7 +150,7 @@ index dd22bbc07fb52..c695ece6b1a47 100644
|
||||
content::RenderFrameHost* main_frame_host() const { return main_frame_host_; }
|
||||
content::RenderProcessHost* render_process_host() const;
|
||||
bool has_loaded_once() const { return has_loaded_once_; }
|
||||
@@ -188,7 +194,8 @@ class ExtensionHost : public DeferredStartRenderHost,
|
||||
@@ -202,7 +208,8 @@ class ExtensionHost : public DeferredStartRenderHost,
|
||||
raw_ptr<content::BrowserContext> browser_context_;
|
||||
|
||||
// The host for our HTML content.
|
||||
@ -161,7 +161,7 @@ index dd22bbc07fb52..c695ece6b1a47 100644
|
||||
// A pointer to the current or speculative main frame in `host_contents_`. We
|
||||
// can't access this frame through the `host_contents_` directly as it does
|
||||
diff --git extensions/browser/extensions_browser_client.h extensions/browser/extensions_browser_client.h
|
||||
index f87cf6d3bb4b6..bd2f3b576b004 100644
|
||||
index b060c134279ed..070258e8fbc08 100644
|
||||
--- extensions/browser/extensions_browser_client.h
|
||||
+++ extensions/browser/extensions_browser_client.h
|
||||
@@ -31,6 +31,7 @@
|
||||
@ -180,7 +180,7 @@ index f87cf6d3bb4b6..bd2f3b576b004 100644
|
||||
class ExtensionHostDelegate;
|
||||
class ExtensionSet;
|
||||
class ExtensionSystem;
|
||||
@@ -219,6 +221,14 @@ class ExtensionsBrowserClient {
|
||||
@@ -220,6 +222,14 @@ class ExtensionsBrowserClient {
|
||||
virtual std::unique_ptr<ExtensionHostDelegate>
|
||||
CreateExtensionHostDelegate() = 0;
|
||||
|
||||
@ -196,10 +196,10 @@ index f87cf6d3bb4b6..bd2f3b576b004 100644
|
||||
// once each time the extensions system is loaded per browser_context. The
|
||||
// implementation may wish to use the BrowserContext to record the current
|
||||
diff --git extensions/browser/process_manager.cc extensions/browser/process_manager.cc
|
||||
index 4d09fbd93cd97..e6bc21a1adf49 100644
|
||||
index edf33b204d669..694bff911b4b9 100644
|
||||
--- extensions/browser/process_manager.cc
|
||||
+++ extensions/browser/process_manager.cc
|
||||
@@ -393,9 +393,17 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
|
||||
@@ -379,9 +379,17 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
|
||||
return true; // TODO(kalman): return false here? It might break things...
|
||||
|
||||
DVLOG(1) << "CreateBackgroundHost " << extension->id();
|
||||
@ -215,6 +215,6 @@ index 4d09fbd93cd97..e6bc21a1adf49 100644
|
||||
new ExtensionHost(extension, GetSiteInstanceForURL(url).get(), url,
|
||||
mojom::ViewType::kExtensionBackgroundPage);
|
||||
+ }
|
||||
host->CreateRendererSoon();
|
||||
OnBackgroundHostCreated(host);
|
||||
return true;
|
||||
host->SetCloseHandler(
|
||||
base::BindOnce(&ProcessManager::HandleCloseExtensionHost,
|
||||
weak_ptr_factory_.GetWeakPtr()));
|
||||
|
@ -12,7 +12,7 @@ index 7d538f812d72e..9eec79395aeec 100644
|
||||
# https://crbug.com/474506.
|
||||
"//clank/java/BUILD.gn",
|
||||
diff --git BUILD.gn BUILD.gn
|
||||
index b9b09ede17b56..b687818eb9287 100644
|
||||
index d62cd5190001b..b99513183df7a 100644
|
||||
--- BUILD.gn
|
||||
+++ BUILD.gn
|
||||
@@ -17,6 +17,7 @@ import("//build/config/sanitizers/sanitizers.gni")
|
||||
@ -21,10 +21,10 @@ index b9b09ede17b56..b687818eb9287 100644
|
||||
import("//build/util/generate_wrapper.gni")
|
||||
+import("//cef/libcef/features/features.gni")
|
||||
import("//chrome/browser/buildflags.gni")
|
||||
import("//chrome/browser/media/router/features.gni")
|
||||
import("//components/nacl/features.gni")
|
||||
@@ -117,6 +118,10 @@ group("gn_all") {
|
||||
]
|
||||
import("//device/vr/buildflags/buildflags.gni")
|
||||
@@ -110,6 +111,10 @@ group("gn_all") {
|
||||
deps += [ "//third_party/abseil-cpp:absl_tests" ]
|
||||
}
|
||||
|
||||
+ if (enable_cef) {
|
||||
@ -80,17 +80,17 @@ index 839144aa1e9bd..29c8ab32398a7 100644
|
||||
+_OBJC_METACLASS_$_UnderlayOpenGLHostingWindow
|
||||
+
|
||||
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
|
||||
index 040475bee62f4..47d7ca4ea32da 100644
|
||||
index ba559fa404ca3..4aafa07ba5ba7 100644
|
||||
--- chrome/chrome_paks.gni
|
||||
+++ chrome/chrome_paks.gni
|
||||
@@ -5,6 +5,7 @@
|
||||
import("//ash/ambient/resources/resources.gni")
|
||||
@@ -6,6 +6,7 @@ import("//ash/ambient/resources/resources.gni")
|
||||
import("//build/config/chromebox_for_meetings/buildflags.gni")
|
||||
import("//build/config/chromeos/ui_mode.gni")
|
||||
import("//build/config/locales.gni")
|
||||
+import("//cef/libcef/features/features.gni")
|
||||
import("//chrome/browser/buildflags.gni")
|
||||
import("//chrome/common/features.gni")
|
||||
import("//chromeos/components/chromebox_for_meetings/buildflags/buildflags.gni")
|
||||
import("//extensions/buildflags/buildflags.gni")
|
||||
@@ -74,6 +75,10 @@ template("chrome_repack_percent") {
|
||||
"//ui/chromeos/resources",
|
||||
]
|
||||
@ -126,7 +126,7 @@ index 936a5422f92fa..5743f4a03aa4f 100644
|
||||
source_patterns +=
|
||||
[ "${root_gen_dir}/extensions/strings/extensions_strings_" ]
|
||||
diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn
|
||||
index 51fa0d7f4cf77..2ede68e9377eb 100644
|
||||
index d7ac881770b38..e25708701148a 100644
|
||||
--- chrome/installer/mini_installer/BUILD.gn
|
||||
+++ chrome/installer/mini_installer/BUILD.gn
|
||||
@@ -6,6 +6,7 @@ import("//build/config/compiler/compiler.gni")
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec
|
||||
index 70a1901dc65dc..06656ee356527 100644
|
||||
index 1c50dbb9503e7..a181ad353e81a 100644
|
||||
--- tools/gritsettings/resource_ids.spec
|
||||
+++ tools/gritsettings/resource_ids.spec
|
||||
@@ -958,6 +958,15 @@
|
||||
@@ -970,6 +970,15 @@
|
||||
# END "everything else" section.
|
||||
# Everything but chrome/, components/, content/, and ios/
|
||||
|
||||
|
31
patch/patches/linux_printing_context.patch
Normal file
31
patch/patches/linux_printing_context.patch
Normal file
@ -0,0 +1,31 @@
|
||||
diff --git printing/printing_context_linux.cc printing/printing_context_linux.cc
|
||||
index 805156b4d7b70..2fbf7fecef01f 100644
|
||||
--- printing/printing_context_linux.cc
|
||||
+++ printing/printing_context_linux.cc
|
||||
@@ -48,9 +48,11 @@ PrintingContextLinux::~PrintingContextLinux() {
|
||||
}
|
||||
|
||||
// static
|
||||
-void PrintingContextLinuxDelegate::SetInstance(
|
||||
+PrintingContextLinuxDelegate* PrintingContextLinuxDelegate::SetInstance(
|
||||
PrintingContextLinuxDelegate* delegate) {
|
||||
+ auto old_delegate = g_delegate;
|
||||
g_delegate = delegate;
|
||||
+ return old_delegate;
|
||||
}
|
||||
|
||||
void PrintingContextLinux::AskUserForSettings(int max_pages,
|
||||
diff --git printing/printing_context_linux.h printing/printing_context_linux.h
|
||||
index dfe49bc00adea..3faa2a3dff79d 100644
|
||||
--- printing/printing_context_linux.h
|
||||
+++ printing/printing_context_linux.h
|
||||
@@ -27,7 +27,8 @@ class COMPONENT_EXPORT(PRINTING) PrintingContextLinuxDelegate {
|
||||
|
||||
virtual gfx::Size GetPdfPaperSize(PrintingContextLinux* context) = 0;
|
||||
|
||||
- static void SetInstance(PrintingContextLinuxDelegate* delegate);
|
||||
+ static PrintingContextLinuxDelegate* SetInstance(
|
||||
+ PrintingContextLinuxDelegate* delegate);
|
||||
};
|
||||
|
||||
// PrintingContext with optional native UI for print dialog and pdf_paper_size.
|
@ -1,8 +1,8 @@
|
||||
diff --git ui/ozone/BUILD.gn ui/ozone/BUILD.gn
|
||||
index b123f6093eb5d..64e4fc0fba4b5 100644
|
||||
index fa2c17f4e209f..91bed0fb1ad66 100644
|
||||
--- ui/ozone/BUILD.gn
|
||||
+++ ui/ozone/BUILD.gn
|
||||
@@ -396,6 +396,8 @@ action("generate_test_support_constructor_list") {
|
||||
@@ -398,6 +398,8 @@ action("generate_test_support_constructor_list") {
|
||||
]
|
||||
|
||||
deps = [ ":generate_ozone_platform_list" ]
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git ui/gl/init/gl_initializer_mac.cc ui/gl/init/gl_initializer_mac.cc
|
||||
index fa97713916bf8..1b644227abe74 100644
|
||||
index bc29406755e34..e4c077621ff6b 100644
|
||||
--- ui/gl/init/gl_initializer_mac.cc
|
||||
+++ ui/gl/init/gl_initializer_mac.cc
|
||||
@@ -47,11 +47,8 @@ bool InitializeOneOffForSandbox() {
|
||||
@@ -46,11 +46,8 @@ bool InitializeOneOffForSandbox() {
|
||||
// GPU-related stuff is very slow without this, probably because
|
||||
// the sandbox prevents loading graphics drivers or some such.
|
||||
std::vector<CGLPixelFormatAttribute> attribs;
|
||||
@ -13,6 +13,6 @@ index fa97713916bf8..1b644227abe74 100644
|
||||
- }
|
||||
+ // Avoid switching to the discrete GPU just for this pixel format selection.
|
||||
+ attribs.push_back(kCGLPFAAllowOfflineRenderers);
|
||||
if (GetGLImplementation() == kGLImplementationAppleGL) {
|
||||
attribs.push_back(kCGLPFARendererID);
|
||||
attribs.push_back(
|
||||
attribs.push_back(static_cast<CGLPixelFormatAttribute>(0));
|
||||
|
||||
CGLPixelFormatObj format;
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
|
||||
index d746e7aebfa9f..538b398b049cb 100644
|
||||
index 1ed9e277cd967..6b7eed9fa8fd6 100644
|
||||
--- base/message_loop/message_pump_win.cc
|
||||
+++ base/message_loop/message_pump_win.cc
|
||||
@@ -2,6 +2,7 @@
|
||||
@ -30,7 +30,7 @@ index d746e7aebfa9f..538b398b049cb 100644
|
||||
}
|
||||
if (has_msg)
|
||||
diff --git base/task/current_thread.cc base/task/current_thread.cc
|
||||
index b7e9d215c2039..57816ea1c8b81 100644
|
||||
index d3a89a8496171..2db4706f22ec8 100644
|
||||
--- base/task/current_thread.cc
|
||||
+++ base/task/current_thread.cc
|
||||
@@ -49,6 +49,8 @@ void CurrentThread::AddDestructionObserver(
|
||||
@ -43,11 +43,11 @@ index b7e9d215c2039..57816ea1c8b81 100644
|
||||
current_->RemoveDestructionObserver(destruction_observer);
|
||||
}
|
||||
diff --git base/task/current_thread.h base/task/current_thread.h
|
||||
index 13dc0cdede8f7..4c4a85848a93a 100644
|
||||
index 485601662485a..9e1464c33d8d4 100644
|
||||
--- base/task/current_thread.h
|
||||
+++ base/task/current_thread.h
|
||||
@@ -131,6 +131,12 @@ class BASE_EXPORT CurrentThread {
|
||||
// to run. There can only be one OnNextIdleCallback at a time.
|
||||
@@ -132,6 +132,12 @@ class BASE_EXPORT CurrentThread {
|
||||
// with a null callback to clear any potentially pending callbacks.
|
||||
void RegisterOnNextIdleCallback(OnceClosure on_next_idle_callback);
|
||||
|
||||
+#if BUILDFLAG(IS_WIN)
|
||||
@ -59,7 +59,7 @@ index 13dc0cdede8f7..4c4a85848a93a 100644
|
||||
// Enables nested task processing in scope of an upcoming native message loop.
|
||||
// Some unwanted message loops may occur when using common controls or printer
|
||||
// functions. Hence, nested task processing is disabled by default to avoid
|
||||
@@ -196,6 +202,13 @@ class BASE_EXPORT CurrentThread {
|
||||
@@ -202,6 +208,13 @@ class BASE_EXPORT CurrentThread {
|
||||
friend class web::WebTaskEnvironment;
|
||||
|
||||
raw_ptr<sequence_manager::internal::SequenceManagerImpl> current_;
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git base/message_loop/message_pump_mac.mm base/message_loop/message_pump_mac.mm
|
||||
index 8ce36eaa64a86..b90c66c1c826c 100644
|
||||
index f927e86d6735f..14d418a70422d 100644
|
||||
--- base/message_loop/message_pump_mac.mm
|
||||
+++ base/message_loop/message_pump_mac.mm
|
||||
@@ -748,7 +748,8 @@ void MessagePumpUIApplication::Detach() {
|
||||
@@ -807,7 +807,8 @@ void MessagePumpUIApplication::Detach() {
|
||||
#else
|
||||
|
||||
ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
|
||||
@ -12,7 +12,7 @@ index 8ce36eaa64a86..b90c66c1c826c 100644
|
||||
DCHECK_EQ(kNSApplicationModalSafeModeMask, g_app_pump->GetModeMask());
|
||||
// Pumping events in private runloop modes is known to interact badly with
|
||||
// app modal windows like NSAlert.
|
||||
@@ -758,7 +759,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
|
||||
@@ -817,7 +818,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
|
||||
}
|
||||
|
||||
ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() {
|
||||
|
@ -12,10 +12,10 @@ index 17f203b11ce39..0a5277b686d61 100644
|
||||
virtual ~WebContentsView() = default;
|
||||
|
||||
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||
index aef9d1a79fcea..015206dd88756 100644
|
||||
index 9fa230c1cd95f..fb49251a52d11 100644
|
||||
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||
@@ -224,6 +224,8 @@ void MimeHandlerViewGuest::CreateWebContents(
|
||||
@@ -225,6 +225,8 @@ void MimeHandlerViewGuest::CreateWebContents(
|
||||
WebContents::CreateParams params(browser_context(),
|
||||
guest_site_instance.get());
|
||||
params.guest_delegate = this;
|
||||
@ -24,7 +24,7 @@ index aef9d1a79fcea..015206dd88756 100644
|
||||
// TODO(erikchen): Fix ownership semantics for guest views.
|
||||
// https://crbug.com/832879.
|
||||
std::move(callback).Run(
|
||||
@@ -234,6 +236,10 @@ void MimeHandlerViewGuest::CreateWebContents(
|
||||
@@ -235,6 +237,10 @@ void MimeHandlerViewGuest::CreateWebContents(
|
||||
}
|
||||
|
||||
void MimeHandlerViewGuest::DidAttachToEmbedder() {
|
||||
@ -35,7 +35,7 @@ index aef9d1a79fcea..015206dd88756 100644
|
||||
DCHECK(stream_->handler_url().SchemeIs(extensions::kExtensionScheme));
|
||||
web_contents()->GetController().LoadURL(
|
||||
stream_->handler_url(), content::Referrer(),
|
||||
@@ -264,6 +270,11 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
|
||||
@@ -265,6 +271,11 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -68,7 +68,7 @@ index ef6faf317dd41..8675c305d489c 100644
|
||||
bool is_embedder_fullscreen_ = false;
|
||||
bool plugin_can_save_ = false;
|
||||
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h
|
||||
index d97b054a8d6c7..9fd96a8f7826d 100644
|
||||
index 3aaeab0baf51e..4f818abde1c1a 100644
|
||||
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h
|
||||
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h
|
||||
@@ -7,6 +7,8 @@
|
||||
|
@ -1,15 +1,14 @@
|
||||
diff --git net/base/load_flags_list.h net/base/load_flags_list.h
|
||||
index 6466deac2671e..053ca5c7e55ae 100644
|
||||
index 96d1a51ec1078..e8120a818b1f2 100644
|
||||
--- net/base/load_flags_list.h
|
||||
+++ net/base/load_flags_list.h
|
||||
@@ -110,3 +110,6 @@ LOAD_FLAG(CAN_USE_RESTRICTED_PREFETCH, 1 << 16)
|
||||
//
|
||||
// Cannot be used together with BYPASS_CACHE, ONLY_FROM_CACHE, or DISABLE_CACHE.
|
||||
LOAD_FLAG(USE_SINGLE_KEYED_CACHE, 1 << 17)
|
||||
@@ -101,3 +101,6 @@ LOAD_FLAG(RESTRICTED_PREFETCH, 1 << 15)
|
||||
// is considered privileged, and therefore this flag must only be set from a
|
||||
// trusted process.
|
||||
LOAD_FLAG(CAN_USE_RESTRICTED_PREFETCH, 1 << 16)
|
||||
+
|
||||
+// This load will not send any cookies. For CEF usage.
|
||||
+LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 18)
|
||||
\ No newline at end of file
|
||||
+LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 17)
|
||||
diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc
|
||||
index 1975492c29ae0..0ec7ddefe932b 100644
|
||||
--- net/url_request/url_request_http_job.cc
|
||||
@ -25,10 +24,10 @@ index 1975492c29ae0..0ec7ddefe932b 100644
|
||||
|
||||
bool URLRequestHttpJob::IsPartitionedCookiesEnabled() const {
|
||||
diff --git services/network/public/cpp/resource_request.cc services/network/public/cpp/resource_request.cc
|
||||
index a15e3c4bed344..c665e98a1befc 100644
|
||||
index c8e468f41930d..8ac0d37be3c93 100644
|
||||
--- services/network/public/cpp/resource_request.cc
|
||||
+++ services/network/public/cpp/resource_request.cc
|
||||
@@ -264,7 +264,8 @@ bool ResourceRequest::EqualsForTesting(const ResourceRequest& request) const {
|
||||
@@ -263,7 +263,8 @@ bool ResourceRequest::EqualsForTesting(const ResourceRequest& request) const {
|
||||
}
|
||||
|
||||
bool ResourceRequest::SendsCookies() const {
|
||||
|
@ -41,10 +41,10 @@ index cc4b13a7b9c67..84f3b9ed7cf49 100644
|
||||
|
||||
} // namespace content
|
||||
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index 18133ca758533..b7b26d5e457e3 100644
|
||||
index 4b4a91a3fb615..4be300f14cae4 100644
|
||||
--- content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -3114,6 +3114,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() {
|
||||
@@ -3123,6 +3123,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() {
|
||||
GetProcess(), bad_message::INPUT_ROUTER_INVALID_EVENT_SOURCE);
|
||||
}
|
||||
|
||||
@ -57,10 +57,10 @@ index 18133ca758533..b7b26d5e457e3 100644
|
||||
const WebInputEvent& event) {
|
||||
if ((base::FeatureList::IsEnabled(
|
||||
diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h
|
||||
index 65297e78ee11f..589fbdae61bb5 100644
|
||||
index f63c1aa3007fa..5257801bf8aee 100644
|
||||
--- content/browser/renderer_host/render_widget_host_impl.h
|
||||
+++ content/browser/renderer_host/render_widget_host_impl.h
|
||||
@@ -779,6 +779,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
@@ -781,6 +781,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
|
||||
void ProgressFlingIfNeeded(base::TimeTicks current_time);
|
||||
void StopFling();
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/download/download_prefs.cc chrome/browser/download/download_prefs.cc
|
||||
index 65a54420ca60e..27adcf4e827a4 100644
|
||||
index 38132463c9216..42f67b33eed7a 100644
|
||||
--- chrome/browser/download/download_prefs.cc
|
||||
+++ chrome/browser/download/download_prefs.cc
|
||||
@@ -24,6 +24,7 @@
|
||||
@ -10,7 +10,7 @@ index 65a54420ca60e..27adcf4e827a4 100644
|
||||
#include "chrome/browser/download/chrome_download_manager_delegate.h"
|
||||
#include "chrome/browser/download/download_core_service_factory.h"
|
||||
#include "chrome/browser/download/download_core_service_impl.h"
|
||||
@@ -60,6 +61,10 @@
|
||||
@@ -61,6 +62,10 @@
|
||||
#include "chrome/browser/ui/pdf/adobe_reader_info_win.h"
|
||||
#endif
|
||||
|
||||
@ -21,7 +21,7 @@ index 65a54420ca60e..27adcf4e827a4 100644
|
||||
using content::BrowserContext;
|
||||
using content::BrowserThread;
|
||||
using content::DownloadManager;
|
||||
@@ -344,6 +349,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager(
|
||||
@@ -348,6 +353,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager(
|
||||
// static
|
||||
DownloadPrefs* DownloadPrefs::FromBrowserContext(
|
||||
content::BrowserContext* context) {
|
||||
@ -46,7 +46,7 @@ index 01df55a728098..0c11458c9a5bb 100644
|
||||
#include "chrome/browser/printing/print_view_manager.h"
|
||||
#include "chrome/browser/task_manager/web_contents_tags.h"
|
||||
diff --git chrome/browser/printing/print_view_manager_base.cc chrome/browser/printing/print_view_manager_base.cc
|
||||
index e665eb42fad5f..6aefc4f3f4ca6 100644
|
||||
index 4bd871e5cadc6..835656ea87729 100644
|
||||
--- chrome/browser/printing/print_view_manager_base.cc
|
||||
+++ chrome/browser/printing/print_view_manager_base.cc
|
||||
@@ -610,13 +610,14 @@ void PrintViewManagerBase::UpdatePrintSettings(
|
||||
@ -96,7 +96,7 @@ index 5d1658999d5bb..d1b7b7288c946 100644
|
||||
$i18n{cancel}
|
||||
</cr-button>
|
||||
diff --git chrome/browser/ui/webui/constrained_web_dialog_ui.cc chrome/browser/ui/webui/constrained_web_dialog_ui.cc
|
||||
index f6098966f5b34..da78289b66155 100644
|
||||
index 7a3fbc44629e6..578422e85320a 100644
|
||||
--- chrome/browser/ui/webui/constrained_web_dialog_ui.cc
|
||||
+++ chrome/browser/ui/webui/constrained_web_dialog_ui.cc
|
||||
@@ -13,6 +13,7 @@
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
index 870cdf73fd5ee..5714d4912b84e 100644
|
||||
index f709beca890c4..80ae5fee83cac 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
@@ -5,6 +5,7 @@
|
||||
@ -27,7 +27,7 @@ index 870cdf73fd5ee..5714d4912b84e 100644
|
||||
}
|
||||
|
||||
absl::optional<DisplayFeature> RenderWidgetHostViewAura::GetDisplayFeature() {
|
||||
@@ -2221,6 +2224,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
|
||||
@@ -2217,6 +2220,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
|
||||
// This needs to happen only after |window_| has been initialized using
|
||||
// Init(), because it needs to have the layer.
|
||||
window_->SetEmbedFrameSinkId(frame_sink_id_);
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc
|
||||
index 122c7aac0fe18..f8017f174292d 100644
|
||||
index ab9be2c237cad..5bf06645fcc6a 100644
|
||||
--- chrome/browser/net/profile_network_context_service.cc
|
||||
+++ chrome/browser/net/profile_network_context_service.cc
|
||||
@@ -22,6 +22,7 @@
|
||||
@ -10,7 +10,7 @@ index 122c7aac0fe18..f8017f174292d 100644
|
||||
#include "chrome/browser/browser_features.h"
|
||||
#include "chrome/browser/browser_process.h"
|
||||
#include "chrome/browser/content_settings/cookie_settings_factory.h"
|
||||
@@ -745,7 +746,19 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
|
||||
@@ -752,7 +753,19 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
|
||||
|
||||
// Configure on-disk storage for non-OTR profiles. OTR profiles just use
|
||||
// default behavior (in memory storage, default sizes).
|
||||
@ -31,7 +31,7 @@ index 122c7aac0fe18..f8017f174292d 100644
|
||||
PrefService* local_state = g_browser_process->local_state();
|
||||
// Configure the HTTP cache path and size.
|
||||
base::FilePath base_cache_path;
|
||||
@@ -758,7 +771,9 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
|
||||
@@ -765,7 +778,9 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
|
||||
base_cache_path.Append(chrome::kCacheDirname);
|
||||
network_context_params->http_cache_max_size =
|
||||
local_state->GetInteger(prefs::kDiskCacheSize);
|
||||
@ -123,10 +123,10 @@ index 77c0984d364c6..df7ff7d7355b5 100644
|
||||
|
||||
void CookieManager::SetForceKeepSessionState() {
|
||||
diff --git services/network/network_context.cc services/network/network_context.cc
|
||||
index 89bbba4956965..1b12c7a0c0e25 100644
|
||||
index 1bd4dda6aaa55..af2385b2e4fbf 100644
|
||||
--- services/network/network_context.cc
|
||||
+++ services/network/network_context.cc
|
||||
@@ -2367,17 +2367,21 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
||||
@@ -2364,17 +2364,21 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
||||
network_service_->network_quality_estimator());
|
||||
}
|
||||
|
||||
@ -157,7 +157,7 @@ index 89bbba4956965..1b12c7a0c0e25 100644
|
||||
trust_token_store_ = std::make_unique<PendingTrustTokenStore>();
|
||||
|
||||
diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom
|
||||
index cd28ac0510e13..06a9dd17e776d 100644
|
||||
index 0a376689aeb81..18da84986021d 100644
|
||||
--- services/network/public/mojom/network_context.mojom
|
||||
+++ services/network/public/mojom/network_context.mojom
|
||||
@@ -336,6 +336,9 @@ struct NetworkContextParams {
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
|
||||
index 3d3a6a0fb49ab..9a652564b85ee 100644
|
||||
index e165c450e96d1..33699e033a989 100644
|
||||
--- content/browser/storage_partition_impl.cc
|
||||
+++ content/browser/storage_partition_impl.cc
|
||||
@@ -495,10 +495,6 @@ class LoginHandlerDelegate {
|
||||
@@ -488,10 +488,6 @@ class LoginHandlerDelegate {
|
||||
}
|
||||
|
||||
WebContents* web_contents = web_contents_getter_.Run();
|
||||
@ -13,7 +13,7 @@ index 3d3a6a0fb49ab..9a652564b85ee 100644
|
||||
|
||||
// WeakPtr is not strictly necessary here due to OnRequestCancelled.
|
||||
creating_login_delegate_ = true;
|
||||
@@ -550,12 +546,6 @@ void OnAuthRequiredContinuation(
|
||||
@@ -543,12 +539,6 @@ void OnAuthRequiredContinuation(
|
||||
mojo::PendingRemote<network::mojom::AuthChallengeResponder>
|
||||
auth_challenge_responder,
|
||||
base::RepeatingCallback<WebContents*(void)> web_contents_getter) {
|
||||
@ -26,7 +26,7 @@ index 3d3a6a0fb49ab..9a652564b85ee 100644
|
||||
new LoginHandlerDelegate(
|
||||
std::move(auth_challenge_responder), std::move(web_contents_getter),
|
||||
auth_info, is_request_for_primary_main_frame, process_id, request_id, url,
|
||||
@@ -2807,8 +2797,12 @@ void StoragePartitionImpl::GetQuotaSettings(
|
||||
@@ -2832,8 +2822,12 @@ void StoragePartitionImpl::GetQuotaSettings(
|
||||
return;
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ index 3d3a6a0fb49ab..9a652564b85ee 100644
|
||||
storage::GetDefaultDeviceInfoHelper(), std::move(callback));
|
||||
}
|
||||
|
||||
@@ -2818,9 +2812,12 @@ void StoragePartitionImpl::InitNetworkContext() {
|
||||
@@ -2843,9 +2837,12 @@ void StoragePartitionImpl::InitNetworkContext() {
|
||||
cert_verifier::mojom::CertVerifierCreationParamsPtr
|
||||
cert_verifier_creation_params =
|
||||
cert_verifier::mojom::CertVerifierCreationParams::New();
|
||||
|
@ -13,7 +13,7 @@ index 1beba57fbb164..448fbcb006e32 100644
|
||||
{base::MayBlock(), base::TaskPriority::USER_VISIBLE,
|
||||
base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN});
|
||||
diff --git content/browser/browser_context.cc content/browser/browser_context.cc
|
||||
index 06b34e105411d..59b704c0d88a8 100644
|
||||
index 22af8b58056d9..88486bcf6e74b 100644
|
||||
--- content/browser/browser_context.cc
|
||||
+++ content/browser/browser_context.cc
|
||||
@@ -130,7 +130,7 @@ StoragePartition* BrowserContext::GetStoragePartition(
|
||||
@ -25,7 +25,7 @@ index 06b34e105411d..59b704c0d88a8 100644
|
||||
// An off the record profile MUST only use in memory storage partitions.
|
||||
CHECK(storage_partition_config.in_memory());
|
||||
}
|
||||
@@ -365,7 +365,8 @@ BrowserContext::CreateVideoDecodePerfHistory() {
|
||||
@@ -374,7 +374,8 @@ BrowserContext::CreateVideoDecodePerfHistory() {
|
||||
const bool kUseInMemoryDBDefault = false;
|
||||
bool use_in_memory_db = base::GetFieldTrialParamByFeatureAsBool(
|
||||
media::kMediaCapabilitiesWithParameters, kUseInMemoryDBParamName,
|
||||
|
@ -43,10 +43,10 @@ index 11f1421cc79c1..c5dbc643ae7c8 100644
|
||||
virtual void MenuWillShow() {}
|
||||
|
||||
diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc
|
||||
index 7fb46dbdee749..e25a85d919e5e 100644
|
||||
index 9db4aaff7094b..a4baf119986a7 100644
|
||||
--- ui/gfx/render_text.cc
|
||||
+++ ui/gfx/render_text.cc
|
||||
@@ -659,6 +659,14 @@ void RenderText::SetWhitespaceElision(absl::optional<bool> whitespace_elision) {
|
||||
@@ -665,6 +665,14 @@ void RenderText::SetWhitespaceElision(absl::optional<bool> whitespace_elision) {
|
||||
}
|
||||
}
|
||||
|
||||
@ -61,7 +61,7 @@ index 7fb46dbdee749..e25a85d919e5e 100644
|
||||
void RenderText::SetDisplayRect(const Rect& r) {
|
||||
if (r != display_rect_) {
|
||||
display_rect_ = r;
|
||||
@@ -2015,6 +2023,19 @@ void RenderText::OnTextAttributeChanged() {
|
||||
@@ -1995,6 +2003,19 @@ void RenderText::OnTextAttributeChanged() {
|
||||
|
||||
layout_text_up_to_date_ = false;
|
||||
|
||||
@ -82,7 +82,7 @@ index 7fb46dbdee749..e25a85d919e5e 100644
|
||||
}
|
||||
|
||||
diff --git ui/gfx/render_text.h ui/gfx/render_text.h
|
||||
index 983cba19002c4..03b7d77a2e8e6 100644
|
||||
index 81ac620c7e53a..37e09eaf4b910 100644
|
||||
--- ui/gfx/render_text.h
|
||||
+++ ui/gfx/render_text.h
|
||||
@@ -347,6 +347,10 @@ class GFX_EXPORT RenderText {
|
||||
@ -96,7 +96,7 @@ index 983cba19002c4..03b7d77a2e8e6 100644
|
||||
const Rect& display_rect() const { return display_rect_; }
|
||||
void SetDisplayRect(const Rect& r);
|
||||
|
||||
@@ -1056,6 +1060,8 @@ class GFX_EXPORT RenderText {
|
||||
@@ -1050,6 +1054,8 @@ class GFX_EXPORT RenderText {
|
||||
|
||||
// Tell whether or not the |layout_text_| needs an update or is up to date.
|
||||
mutable bool layout_text_up_to_date_ = false;
|
||||
@ -394,10 +394,10 @@ index 9c8c5de34d064..b054688cca148 100644
|
||||
|
||||
explicit MenuHost(SubmenuView* submenu);
|
||||
diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc
|
||||
index 6da48e9716bcd..98f0d4d217f9e 100644
|
||||
index 538829ec598b6..042728512ea26 100644
|
||||
--- ui/views/controls/menu/menu_item_view.cc
|
||||
+++ ui/views/controls/menu/menu_item_view.cc
|
||||
@@ -1091,6 +1091,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
|
||||
@@ -1084,6 +1084,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
|
||||
spilling_rect.set_y(spilling_rect.y() - corner_radius_);
|
||||
spilling_rect.set_height(spilling_rect.height() + corner_radius_);
|
||||
canvas->DrawRoundRect(spilling_rect, corner_radius_, flags);
|
||||
@ -413,7 +413,7 @@ index 6da48e9716bcd..98f0d4d217f9e 100644
|
||||
} else if (paint_as_selected) {
|
||||
gfx::Rect item_bounds = GetLocalBounds();
|
||||
if (type_ == Type::kActionableSubMenu) {
|
||||
@@ -1157,6 +1166,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
|
||||
@@ -1150,6 +1159,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
|
||||
}
|
||||
|
||||
SkColor MenuItemView::GetTextColor(bool minor, bool paint_as_selected) const {
|
||||
@ -700,7 +700,7 @@ index 1ffec7052a314..3a2be376fb000 100644
|
||||
content_view_->GetMenuItem()->GetMenuController()->GetAnchorPosition());
|
||||
|
||||
diff --git ui/views/test/ui_controls_factory_desktop_aura_ozone.cc ui/views/test/ui_controls_factory_desktop_aura_ozone.cc
|
||||
index bec549b841bd7..0934f19177358 100644
|
||||
index a364780eb8203..4671969f5597c 100644
|
||||
--- ui/views/test/ui_controls_factory_desktop_aura_ozone.cc
|
||||
+++ ui/views/test/ui_controls_factory_desktop_aura_ozone.cc
|
||||
@@ -16,6 +16,7 @@
|
||||
@ -724,7 +724,7 @@ index bec549b841bd7..0934f19177358 100644
|
||||
if (root_location != root_current_location &&
|
||||
ozone_ui_controls_test_helper_->ButtonDownMask() == 0 &&
|
||||
diff --git ui/views/view.h ui/views/view.h
|
||||
index ef40c571d57c0..0fd51538fbefd 100644
|
||||
index 29b0bed42c74d..c6dd795c13094 100644
|
||||
--- ui/views/view.h
|
||||
+++ ui/views/view.h
|
||||
@@ -22,6 +22,7 @@
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
index edcca00291646..2bb104005561b 100644
|
||||
index eefdd87f1f85a..4f4c68e53676d 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
@@ -652,6 +652,14 @@ float RenderWidgetHostViewBase::GetScaleOverrideForCapture() const {
|
||||
@@ -660,6 +660,14 @@ float RenderWidgetHostViewBase::GetScaleOverrideForCapture() const {
|
||||
return scale_override_for_capture_;
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@ index edcca00291646..2bb104005561b 100644
|
||||
if (!GetMouseWheelPhaseHandler())
|
||||
return;
|
||||
diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h
|
||||
index 912e238c2cc03..3a7e7b2f25d00 100644
|
||||
index 912a21280fdd5..fa535d68368fe 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_base.h
|
||||
+++ content/browser/renderer_host/render_widget_host_view_base.h
|
||||
@@ -67,6 +67,7 @@ class CursorManager;
|
||||
@ -29,7 +29,7 @@ index 912e238c2cc03..3a7e7b2f25d00 100644
|
||||
class SyntheticGestureTarget;
|
||||
class TextInputManager;
|
||||
class TouchSelectionControllerClientManager;
|
||||
@@ -138,6 +139,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
@@ -139,6 +140,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
const gfx::Size& max_size) override;
|
||||
void DisableAutoResize(const gfx::Size& new_size) override;
|
||||
float GetDeviceScaleFactor() const final;
|
||||
@ -38,7 +38,7 @@ index 912e238c2cc03..3a7e7b2f25d00 100644
|
||||
TouchSelectionControllerClientManager*
|
||||
GetTouchSelectionControllerClientManager() override;
|
||||
bool ShouldVirtualKeyboardOverlayContent() override;
|
||||
@@ -174,6 +177,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
@@ -175,6 +178,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
// Called when screen information or native widget bounds change.
|
||||
virtual void UpdateScreenInfo();
|
||||
|
||||
@ -49,7 +49,7 @@ index 912e238c2cc03..3a7e7b2f25d00 100644
|
||||
// Called by the TextInputManager to notify the view about being removed from
|
||||
// the list of registered views, i.e., TextInputManager is no longer tracking
|
||||
// TextInputState from this view. The RWHV should reset |text_input_manager_|
|
||||
@@ -413,6 +420,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
@@ -417,6 +424,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
const gfx::Rect& bounds,
|
||||
const gfx::Rect& anchor_rect) = 0;
|
||||
|
||||
@ -62,7 +62,7 @@ index 912e238c2cc03..3a7e7b2f25d00 100644
|
||||
// Sets the cursor for this view to the one associated with the specified
|
||||
// cursor_type.
|
||||
virtual void UpdateCursor(const WebCursor& cursor) = 0;
|
||||
@@ -655,6 +668,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
@@ -659,6 +672,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
// to all displays.
|
||||
gfx::Size system_cursor_size_;
|
||||
|
||||
@ -73,7 +73,7 @@ index 912e238c2cc03..3a7e7b2f25d00 100644
|
||||
private:
|
||||
FRIEND_TEST_ALL_PREFIXES(
|
||||
BrowserSideFlingBrowserTest,
|
||||
@@ -676,10 +693,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
@@ -680,10 +697,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
|
||||
|
||||
void SynchronizeVisualProperties();
|
||||
|
||||
@ -133,10 +133,10 @@ index 855e5ff668236..2bf32cabf159b 100644
|
||||
if (host_ && set_focus_on_mouse_down_or_key_event_) {
|
||||
set_focus_on_mouse_down_or_key_event_ = false;
|
||||
diff --git content/public/browser/render_widget_host_view.h content/public/browser/render_widget_host_view.h
|
||||
index d213587450f06..3fde9a9ce47d5 100644
|
||||
index c7842775225c7..1ecb68d349bd1 100644
|
||||
--- content/public/browser/render_widget_host_view.h
|
||||
+++ content/public/browser/render_widget_host_view.h
|
||||
@@ -253,6 +253,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
|
||||
@@ -256,6 +256,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
|
||||
// This must always return the same device scale factor as GetScreenInfo.
|
||||
virtual float GetDeviceScaleFactor() const = 0;
|
||||
|
||||
@ -152,10 +152,10 @@ index d213587450f06..3fde9a9ce47d5 100644
|
||||
// Set the view's active state (i.e., tint state of controls).
|
||||
virtual void SetActive(bool active) = 0;
|
||||
diff --git ui/ozone/platform/x11/x11_window.cc ui/ozone/platform/x11/x11_window.cc
|
||||
index 7371f85c84f9d..52081b786b91f 100644
|
||||
index 6c7817dc42fb0..a048960ea1916 100644
|
||||
--- ui/ozone/platform/x11/x11_window.cc
|
||||
+++ ui/ozone/platform/x11/x11_window.cc
|
||||
@@ -1753,7 +1753,8 @@ void X11Window::CreateXWindow(const PlatformWindowInitProperties& properties) {
|
||||
@@ -1772,7 +1772,8 @@ void X11Window::CreateXWindow(const PlatformWindowInitProperties& properties) {
|
||||
req.border_pixel = 0;
|
||||
|
||||
bounds_in_pixels_ = SanitizeBounds(bounds);
|
||||
@ -179,10 +179,10 @@ index 87a4458f9fbfc..bc3edd88fac7f 100644
|
||||
return host ? host->GetAcceleratedWidget() : nullptr;
|
||||
}
|
||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
|
||||
index e861828b228bc..17ba3850ab447 100644
|
||||
index d8d30be7adeb2..6728c41c9cc2e 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
|
||||
@@ -163,6 +163,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop(
|
||||
@@ -164,6 +164,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop(
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -201,7 +201,7 @@ index e861828b228bc..17ba3850ab447 100644
|
||||
void DesktopWindowTreeHostLinux::DispatchEvent(ui::Event* event) {
|
||||
// In Windows, the native events sent to chrome are separated into client
|
||||
// and non-client versions of events, which we record on our LocatedEvent
|
||||
@@ -288,6 +300,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
|
||||
@@ -289,6 +301,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
|
||||
|
||||
properties->wayland_app_id = params.wayland_app_id;
|
||||
|
||||
@ -243,10 +243,10 @@ index e6842b0848c74..d214247587d41 100644
|
||||
base::WeakPtrFactory<DesktopWindowTreeHostLinux> weak_factory_{this};
|
||||
};
|
||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
|
||||
index 0ff9b8f6becc8..73e62450a9e03 100644
|
||||
index f6d94f2376d28..d0a8b16ae9a33 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
|
||||
@@ -260,8 +260,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) {
|
||||
@@ -261,8 +261,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) {
|
||||
if (properties.parent_widget) {
|
||||
window_parent_ = DesktopWindowTreeHostPlatform::GetHostForWidget(
|
||||
properties.parent_widget);
|
||||
@ -363,7 +363,7 @@ index 046d3cf77f70e..f730142c7d554 100644
|
||||
}
|
||||
|
||||
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
|
||||
index d44b04c2587ca..97a9c1a22b608 100644
|
||||
index 1091647c5096a..4829519b2a029 100644
|
||||
--- ui/views/widget/widget.h
|
||||
+++ ui/views/widget/widget.h
|
||||
@@ -337,6 +337,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||
@ -376,10 +376,10 @@ index d44b04c2587ca..97a9c1a22b608 100644
|
||||
// the NativeWidget may specify a default size. If the parent is specified,
|
||||
// |bounds| is in the parent's coordinate system. If the parent is not
|
||||
diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h
|
||||
index 8176aa0ac84b8..a9bbe9b6f1563 100644
|
||||
index 431d19f2543a9..4e2e69a650118 100644
|
||||
--- ui/views/widget/widget_delegate.h
|
||||
+++ ui/views/widget/widget_delegate.h
|
||||
@@ -384,6 +384,10 @@ class VIEWS_EXPORT WidgetDelegate {
|
||||
@@ -375,6 +375,10 @@ class VIEWS_EXPORT WidgetDelegate {
|
||||
// Returns true if the title text should be centered.
|
||||
bool ShouldCenterWindowTitleText() const;
|
||||
|
||||
@ -404,7 +404,7 @@ index b3a3efd0e526f..8590a98eaf0b2 100644
|
||||
if (native_widget_delegate->IsDialogBox()) {
|
||||
*style |= DS_MODALFRAME;
|
||||
diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc
|
||||
index 2d21f2e408004..15eca7b0db72f 100644
|
||||
index 1e6326a2f36f5..8df413cd539ee 100644
|
||||
--- ui/views/win/hwnd_message_handler.cc
|
||||
+++ ui/views/win/hwnd_message_handler.cc
|
||||
@@ -824,7 +824,11 @@ bool HWNDMessageHandler::IsVisible() const {
|
||||
|
@ -80,10 +80,10 @@ index 309422bcf8581..759549f3046f4 100644
|
||||
private:
|
||||
const HWND hwnd_;
|
||||
diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn
|
||||
index 10d10f49e7a0e..9e5a6409465ab 100644
|
||||
index 267af5f85d403..e7df56733515d 100644
|
||||
--- components/viz/service/BUILD.gn
|
||||
+++ components/viz/service/BUILD.gn
|
||||
@@ -214,6 +214,8 @@ viz_component("service") {
|
||||
@@ -217,6 +217,8 @@ viz_component("service") {
|
||||
"transitions/transferable_resource_tracker.cc",
|
||||
"transitions/transferable_resource_tracker.h",
|
||||
"viz_service_export.h",
|
||||
@ -93,7 +93,7 @@ index 10d10f49e7a0e..9e5a6409465ab 100644
|
||||
|
||||
defines = [ "VIZ_SERVICE_IMPLEMENTATION" ]
|
||||
diff --git components/viz/service/display_embedder/output_surface_provider_impl.cc components/viz/service/display_embedder/output_surface_provider_impl.cc
|
||||
index 8585790795707..995143f8b0faf 100644
|
||||
index c019d729f2944..57670529f3d7e 100644
|
||||
--- components/viz/service/display_embedder/output_surface_provider_impl.cc
|
||||
+++ components/viz/service/display_embedder/output_surface_provider_impl.cc
|
||||
@@ -17,6 +17,7 @@
|
||||
@ -112,7 +112,7 @@ index 8585790795707..995143f8b0faf 100644
|
||||
#include "ui/base/ui_base_switches.h"
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
@@ -142,6 +144,20 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
|
||||
@@ -141,6 +143,20 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
|
||||
if (headless_)
|
||||
return std::make_unique<SoftwareOutputDevice>();
|
||||
|
||||
@ -222,7 +222,7 @@ index 6b7fbb6cf13dc..e2af75168cb91 100644
|
||||
+ Draw(gfx.mojom.Rect damage_rect) => ();
|
||||
};
|
||||
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
|
||||
index 2f6d2ee4160f2..11a32e1481c4b 100644
|
||||
index e0345f5903a48..31a118fc3b375 100644
|
||||
--- ui/compositor/compositor.h
|
||||
+++ ui/compositor/compositor.h
|
||||
@@ -31,7 +31,9 @@
|
||||
@ -260,7 +260,7 @@ index 2f6d2ee4160f2..11a32e1481c4b 100644
|
||||
// Sets the root of the layer tree drawn by this Compositor. The root layer
|
||||
// must have no parent. The compositor's root layer is reset if the root layer
|
||||
// is destroyed. NULL can be passed to reset the root layer, in which case the
|
||||
@@ -478,6 +491,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
@@ -482,6 +495,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||
|
||||
std::unique_ptr<PendingBeginFrameArgs> pending_begin_frame_args_;
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
|
||||
index 33f6efe4df4ee..e07f9e28c0760 100644
|
||||
index 8a0b6e41eb3f1..9e6ba43dc912d 100644
|
||||
--- content/browser/web_contents/web_contents_impl.cc
|
||||
+++ content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -3036,6 +3036,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
@@ -3059,6 +3059,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
site_instance.get(), params.renderer_initiated_creation,
|
||||
params.main_frame_name, GetOpener(), primary_main_frame_policy);
|
||||
|
||||
@ -15,7 +15,7 @@ index 33f6efe4df4ee..e07f9e28c0760 100644
|
||||
std::unique_ptr<WebContentsViewDelegate> delegate =
|
||||
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
||||
|
||||
@@ -3046,6 +3052,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
@@ -3069,6 +3075,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
view_ = CreateWebContentsView(this, std::move(delegate),
|
||||
&render_view_host_delegate_view_);
|
||||
}
|
||||
@ -23,7 +23,7 @@ index 33f6efe4df4ee..e07f9e28c0760 100644
|
||||
CHECK(render_view_host_delegate_view_);
|
||||
CHECK(view_.get());
|
||||
|
||||
@@ -3224,6 +3231,9 @@ void WebContentsImpl::RenderWidgetCreated(
|
||||
@@ -3247,6 +3254,9 @@ void WebContentsImpl::RenderWidgetCreated(
|
||||
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RenderWidgetCreated",
|
||||
"render_widget_host", render_widget_host);
|
||||
created_widgets_.insert(render_widget_host);
|
||||
@ -33,9 +33,9 @@ index 33f6efe4df4ee..e07f9e28c0760 100644
|
||||
}
|
||||
|
||||
void WebContentsImpl::RenderWidgetDeleted(
|
||||
@@ -3937,6 +3947,15 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
// objects.
|
||||
create_params.renderer_initiated_creation = !is_new_browsing_instance;
|
||||
@@ -3973,6 +3983,15 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
params.pip_options->lock_aspect_ratio;
|
||||
}
|
||||
|
||||
+ if (delegate_) {
|
||||
+ delegate_->GetCustomWebContentsView(this,
|
||||
@ -49,7 +49,7 @@ index 33f6efe4df4ee..e07f9e28c0760 100644
|
||||
std::unique_ptr<WebContentsImpl> new_contents;
|
||||
if (!is_guest) {
|
||||
create_params.context = view_->GetNativeView();
|
||||
@@ -7798,6 +7817,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
|
||||
@@ -7857,6 +7876,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
|
||||
// frames).
|
||||
SetFocusedFrameTree(node->frame_tree());
|
||||
}
|
||||
@ -60,7 +60,7 @@ index 33f6efe4df4ee..e07f9e28c0760 100644
|
||||
|
||||
void WebContentsImpl::DidCallFocus() {
|
||||
diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h
|
||||
index c98dd2d9a23a0..e62f0c0803366 100644
|
||||
index f1b8dee6699c0..6e13569cfdeac 100644
|
||||
--- content/public/browser/web_contents.h
|
||||
+++ content/public/browser/web_contents.h
|
||||
@@ -93,10 +93,12 @@ class BrowserContext;
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h
|
||||
index e56d75ffd68c4..0965644fd6f9e 100644
|
||||
index a9ba1b0ec765e..5d5d80fe8e999 100644
|
||||
--- third_party/blink/public/platform/platform.h
|
||||
+++ third_party/blink/public/platform/platform.h
|
||||
@@ -833,6 +833,11 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
@@ -812,6 +812,11 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
const WebURL& url,
|
||||
blink::WebVector<blink::WebContentSecurityPolicyHeader>* csp) {}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h
|
||||
index 5e4032ccf916f..1ccf72b56fb22 100644
|
||||
index 99f0ceb45972d..8b5f6726efcf1 100644
|
||||
--- third_party/blink/public/web/web_view.h
|
||||
+++ third_party/blink/public/web/web_view.h
|
||||
@@ -336,6 +336,7 @@ class WebView {
|
||||
@@ -333,6 +333,7 @@ class WebView {
|
||||
|
||||
// Sets whether select popup menus should be rendered by the browser.
|
||||
BLINK_EXPORT static void SetUseExternalPopupMenus(bool);
|
||||
@ -11,7 +11,7 @@ index 5e4032ccf916f..1ccf72b56fb22 100644
|
||||
// Cancels and hides the current popup (datetime, select...) if any.
|
||||
virtual void CancelPagePopup() = 0;
|
||||
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
index 3f6460ceee1e3..faebfcc06bbae 100644
|
||||
index 071481b1b47da..8f033a73481f7 100644
|
||||
--- third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -246,8 +246,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
|
||||
@ -39,7 +39,7 @@ index 3f6460ceee1e3..faebfcc06bbae 100644
|
||||
fullscreen_controller_(std::make_unique<FullscreenController>(this)),
|
||||
page_base_background_color_(
|
||||
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
index 2f8e971ab224b..130ddf0ba213d 100644
|
||||
index 6a36275fdd7ac..8837177386f91 100644
|
||||
--- third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
+++ third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
@@ -133,7 +133,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@ -52,7 +52,7 @@ index 2f8e971ab224b..130ddf0ba213d 100644
|
||||
|
||||
// Returns whether frames under this WebView are backed by a compositor.
|
||||
bool does_composite() const { return does_composite_; }
|
||||
@@ -809,6 +810,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@@ -808,6 +809,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
float fake_page_scale_animation_page_scale_factor_ = 0.f;
|
||||
bool fake_page_scale_animation_use_anchor_ = false;
|
||||
|
||||
@ -62,10 +62,10 @@ index 2f8e971ab224b..130ddf0ba213d 100644
|
||||
TransformationMatrix device_emulation_transform_;
|
||||
|
||||
diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc
|
||||
index b05a0d8ca1db7..396343a895e82 100644
|
||||
index 70fab6032767a..e0f3fd02da1cc 100644
|
||||
--- third_party/blink/renderer/core/page/chrome_client_impl.cc
|
||||
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc
|
||||
@@ -917,7 +917,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
|
||||
@@ -919,7 +919,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
|
||||
PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame,
|
||||
HTMLSelectElement& select) {
|
||||
NotifyPopupOpeningObservers();
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
|
||||
index 4a978a473f39b..d10c133250860 100644
|
||||
index 54cf745342617..87471b42d4941 100644
|
||||
--- chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
|
||||
+++ chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
|
||||
@@ -10,6 +10,7 @@
|
||||
@ -29,7 +29,7 @@ index 4a978a473f39b..d10c133250860 100644
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "components/sync/driver/sync_internals_util.h"
|
||||
#include "components/sync/driver/sync_service.h"
|
||||
@@ -332,7 +336,11 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
|
||||
@@ -333,7 +337,11 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
|
||||
response->emplace(kOsVersionTag, os_version);
|
||||
#endif
|
||||
|
||||
@ -42,7 +42,7 @@ index 4a978a473f39b..d10c133250860 100644
|
||||
PopulateExtensionInfoLogs(response.get());
|
||||
PopulatePowerApiLogs(response.get());
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
@@ -414,6 +422,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
|
||||
@@ -415,6 +423,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
|
||||
if (!profile)
|
||||
return;
|
||||
|
||||
@ -55,7 +55,7 @@ index 4a978a473f39b..d10c133250860 100644
|
||||
extensions::ExtensionRegistry* extension_registry =
|
||||
extensions::ExtensionRegistry::Get(profile);
|
||||
std::string extensions_list;
|
||||
@@ -508,6 +522,8 @@ void ChromeInternalLogSource::PopulateOnboardingTime(
|
||||
@@ -514,6 +528,8 @@ void ChromeInternalLogSource::PopulateOnboardingTime(
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
void ChromeInternalLogSource::PopulateUsbKeyboardDetected(
|
||||
SystemLogsResponse* response) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git sandbox/policy/win/sandbox_win.cc sandbox/policy/win/sandbox_win.cc
|
||||
index b1ec529d260a9..d84c44e6e0412 100644
|
||||
index f7b0de8ca8cab..6788ef40416a1 100644
|
||||
--- sandbox/policy/win/sandbox_win.cc
|
||||
+++ sandbox/policy/win/sandbox_win.cc
|
||||
@@ -1131,6 +1131,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
@@ -1132,6 +1132,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
const base::HandlesToInheritVector& handles_to_inherit,
|
||||
SandboxDelegate* delegate,
|
||||
base::Process* process) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user