Update to Chromium version 80.0.3987.0 (#722274)

This commit is contained in:
Alexander Guettler
2020-02-10 12:10:17 -05:00
committed by Marshall Greenblatt
parent ed39922f85
commit 71768ea6c3
131 changed files with 1620 additions and 1394 deletions

View File

@@ -1,5 +1,5 @@
diff --git base/BUILD.gn base/BUILD.gn
index 200b8daecfbe..2e9d3b35325a 100644
index 0e54cd8264cf..44405b8a410b 100644
--- base/BUILD.gn
+++ base/BUILD.gn
@@ -32,6 +32,7 @@ import("//build/config/sysroot.gni")
@@ -10,7 +10,7 @@ index 200b8daecfbe..2e9d3b35325a 100644
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
import("//third_party/icu/config.gni")
@@ -1612,7 +1613,11 @@ jumbo_component("base") {
@@ -1635,7 +1636,11 @@ jumbo_component("base") {
"hash/md5_constexpr_internal.h",
"hash/sha1.h",
]

View File

@@ -1,8 +1,8 @@
diff --git base/values.cc base/values.cc
index 6886b846e8d5..2bc969fb173a 100644
index 66e8d39abf0b..2a3d7ebfd10e 100644
--- base/values.cc
+++ base/values.cc
@@ -23,20 +23,6 @@
@@ -24,20 +24,6 @@
namespace base {

View File

@@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_widget_host_view_child_frame.cc content/browser/renderer_host/render_widget_host_view_child_frame.cc
index 2531e9d6b344..87cadc541057 100644
index fc45d9e34fad..57d5d26613a5 100644
--- content/browser/renderer_host/render_widget_host_view_child_frame.cc
+++ content/browser/renderer_host/render_widget_host_view_child_frame.cc
@@ -598,6 +598,7 @@ void RenderWidgetHostViewChildFrame::SubmitCompositorFrame(
@@ -596,6 +596,7 @@ void RenderWidgetHostViewChildFrame::SubmitCompositorFrame(
"RenderWidgetHostViewChildFrame::OnSwapCompositorFrame");
support_->SubmitCompositorFrame(local_surface_id, std::move(frame),
std::move(hit_test_region_list));
@@ -10,7 +10,7 @@ index 2531e9d6b344..87cadc541057 100644
}
void RenderWidgetHostViewChildFrame::OnDidNotProduceFrame(
@@ -606,6 +607,15 @@ void RenderWidgetHostViewChildFrame::OnDidNotProduceFrame(
@@ -604,6 +605,15 @@ void RenderWidgetHostViewChildFrame::OnDidNotProduceFrame(
support_->DidNotProduceFrame(ack);
}
@@ -26,7 +26,7 @@ index 2531e9d6b344..87cadc541057 100644
void RenderWidgetHostViewChildFrame::TransformPointToRootSurface(
gfx::PointF* point) {
// This function is called by RenderWidgetHostInputEventRouter only for
@@ -802,6 +812,11 @@ void RenderWidgetHostViewChildFrame::ShowDefinitionForSelection() {
@@ -798,6 +808,11 @@ void RenderWidgetHostViewChildFrame::ShowDefinitionForSelection() {
void RenderWidgetHostViewChildFrame::SpeakSelection() {}
#endif // defined(OS_MACOSX)

View File

@@ -1,8 +1,8 @@
diff --git content/browser/scheduler/browser_task_executor.cc content/browser/scheduler/browser_task_executor.cc
index 4f786a1c21c7..2bbd7b0caf19 100644
index b8b4a1b8c70c..e036e15eafc7 100644
--- content/browser/scheduler/browser_task_executor.cc
+++ content/browser/scheduler/browser_task_executor.cc
@@ -249,7 +249,7 @@ void BrowserTaskExecutor::PostFeatureListSetup() {
@@ -255,7 +255,7 @@ void BrowserTaskExecutor::PostFeatureListSetup() {
// static
void BrowserTaskExecutor::Shutdown() {

View File

@@ -1,8 +1,8 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index 93ad68a613b3..19b82a3a6389 100644
index fbf8335f11ba..7a80641139a4 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -167,7 +167,7 @@ declare_args() {
@@ -172,7 +172,7 @@ declare_args() {
!use_clang_coverage && !(is_android && use_order_profiling) &&
(use_lld ||
(use_gold &&
@@ -11,7 +11,7 @@ index 93ad68a613b3..19b82a3a6389 100644
!(current_cpu == "x86" || current_cpu == "x64"))))
}
@@ -1740,8 +1740,6 @@ config("thin_archive") {
@@ -1763,8 +1763,6 @@ config("thin_archive") {
# archive names to 16 characters, which is not what we want).
if ((is_posix && !is_nacl && !is_mac && !is_ios) || is_fuchsia) {
arflags = [ "-T" ]

View File

@@ -0,0 +1,475 @@
diff --git base/win/com_init_util.cc base/win/com_init_util.cc
index d81f42019bd1..fab3998df55d 100644
--- base/win/com_init_util.cc
+++ base/win/com_init_util.cc
@@ -34,7 +34,7 @@ struct OleTlsData {
};
OleTlsData* GetOleTlsData() {
- TEB* teb = NtCurrentTeb();
+ auto teb = NtCurrentTeb();
return reinterpret_cast<OleTlsData*>(teb->ReservedForOle);
}
diff --git build/config/jumbo.gni build/config/jumbo.gni
index 0c84b283bf8f..e6f033a59151 100644
--- build/config/jumbo.gni
+++ build/config/jumbo.gni
@@ -11,13 +11,6 @@ declare_args() {
jumbo_file_merge_limit = -1
}
-# TODO(crbug.com/994387): Remove all uses of the jumbo_* templates from the
-# BUILD.gn files, and then remove this whole file.
-assert(!use_jumbo_build,
- "The jumbo build is no longer supported. Please remove any uses of " +
- "'use_jumbo_build', 'jumbo_build_excluded', or " +
- "'jumbo_file_merge_limit' from your args.gn file and re-run GN.")
-
# Normal builds benefit from lots of jumbification
jumbo_file_merge_default = 50
diff --git chrome/browser/extensions/api/input_ime/input_ime_api.cc chrome/browser/extensions/api/input_ime/input_ime_api.cc
index 3f790e96da74..7deec3e4b0ce 100644
--- chrome/browser/extensions/api/input_ime/input_ime_api.cc
+++ chrome/browser/extensions/api/input_ime/input_ime_api.cc
@@ -19,7 +19,9 @@ namespace SendKeyEvents = extensions::api::input_ime::SendKeyEvents;
using input_method::InputMethodEngineBase;
namespace {
+namespace i {
const char kErrorRouterNotAvailable[] = "The router is not available.";
+}
const char kErrorSetKeyEventsFail[] = "Could not send key events.";
InputMethodEngineBase* GetEngineIfActive(Profile* profile,
@@ -27,7 +29,7 @@ InputMethodEngineBase* GetEngineIfActive(Profile* profile,
std::string* error) {
extensions::InputImeEventRouter* event_router =
extensions::GetInputImeEventRouter(profile);
- CHECK(event_router) << kErrorRouterNotAvailable;
+ CHECK(event_router) << i::kErrorRouterNotAvailable;
InputMethodEngineBase* engine =
event_router->GetEngineIfActive(extension_id, error);
return engine;
diff --git chrome/browser/optimization_guide/optimization_guide_navigation_data.cc chrome/browser/optimization_guide/optimization_guide_navigation_data.cc
index acbec3d510c4..3f640008ddc0 100644
--- chrome/browser/optimization_guide/optimization_guide_navigation_data.cc
+++ chrome/browser/optimization_guide/optimization_guide_navigation_data.cc
@@ -8,6 +8,7 @@
#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/stringprintf.h"
+#include "chrome/browser/optimization_guide/optimization_guide_util.h"
#include "chrome/browser/optimization_guide/optimization_guide_web_contents_observer.h"
#include "components/optimization_guide/hints_processing_util.h"
#include "content/public/browser/navigation_handle.h"
@@ -16,25 +17,6 @@
#include "services/metrics/public/cpp/ukm_source.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
-namespace {
-
-// The returned string is used to record histograms for the optimization target.
-// Also add the string to OptimizationGuide.OptimizationTargets histogram
-// suffixes in histograms.xml.
-std::string GetStringNameForOptimizationTarget(
- optimization_guide::proto::OptimizationTarget optimization_target) {
- switch (optimization_target) {
- case optimization_guide::proto::OPTIMIZATION_TARGET_UNKNOWN:
- return "Unknown";
- case optimization_guide::proto::OPTIMIZATION_TARGET_PAINFUL_PAGE_LOAD:
- return "PainfulPageLoad";
- }
- NOTREACHED();
- return std::string();
-}
-
-} // namespace
-
OptimizationGuideNavigationData::OptimizationGuideNavigationData(
int64_t navigation_id)
: navigation_id_(navigation_id) {}
diff --git chrome/browser/optimization_guide/prediction/prediction_manager.cc chrome/browser/optimization_guide/prediction/prediction_manager.cc
index f8eb245f6b48..6b24f4d43d5f 100644
--- chrome/browser/optimization_guide/prediction/prediction_manager.cc
+++ chrome/browser/optimization_guide/prediction/prediction_manager.cc
@@ -61,7 +61,9 @@ bool ShouldUseCurrentOptimizationTargetDecision(
// Delay between retries on failed fetch and store of prediction models and
// host model features from the remote Optimization Guide Service.
+namespace i {
constexpr base::TimeDelta kFetchRetryDelay = base::TimeDelta::FromMinutes(16);
+}
// The amount of time to wait after a successful fetch of models and host model
// features before requesting an update from the remote Optimization Guide
@@ -71,11 +73,13 @@ constexpr base::TimeDelta kUpdateModelsAndFeaturesDelay =
// Provide a random time delta in seconds before fetching models and host model
// features.
+namespace i {
base::TimeDelta RandomFetchDelay() {
return base::TimeDelta::FromSeconds(base::RandInt(
optimization_guide::features::PredictionModelFetchRandomMinDelaySecs(),
optimization_guide::features::PredictionModelFetchRandomMaxDelaySecs()));
}
+}
} // namespace
@@ -694,12 +698,12 @@ void PredictionManager::ScheduleModelsAndHostModelFeaturesFetch() {
model_and_features_store_->GetHostModelFeaturesUpdateTime() -
clock_->Now();
const base::TimeDelta time_until_retry =
- GetLastFetchAttemptTime() + kFetchRetryDelay - clock_->Now();
+ GetLastFetchAttemptTime() + i::kFetchRetryDelay - clock_->Now();
base::TimeDelta fetcher_delay =
std::max(time_until_update_time, time_until_retry);
if (fetcher_delay <= base::TimeDelta()) {
SetLastModelAndFeaturesFetchAttemptTime(clock_->Now());
- fetch_timer_.Start(FROM_HERE, RandomFetchDelay(), this,
+ fetch_timer_.Start(FROM_HERE, i::RandomFetchDelay(), this,
&PredictionManager::FetchModelsAndHostModelFeatures);
return;
}
diff --git chrome/browser/performance_manager/decorators/process_priority_aggregator.cc chrome/browser/performance_manager/decorators/process_priority_aggregator.cc
index 43ad1e7a3a42..e158b1dff474 100644
--- chrome/browser/performance_manager/decorators/process_priority_aggregator.cc
+++ chrome/browser/performance_manager/decorators/process_priority_aggregator.cc
@@ -22,6 +22,7 @@ class ProcessPriorityAggregatorAccess {
namespace {
+namespace i {
class DataImpl : public ProcessPriorityAggregator::Data,
public NodeAttachedDataImpl<DataImpl> {
public:
@@ -37,6 +38,7 @@ class DataImpl : public ProcessPriorityAggregator::Data,
return ProcessPriorityAggregatorAccess::GetUniquePtrStorage(process_node);
}
};
+} // namespace i
} // namespace
@@ -106,7 +108,7 @@ base::TaskPriority ProcessPriorityAggregator::Data::GetPriority() const {
// static
ProcessPriorityAggregator::Data* ProcessPriorityAggregator::Data::GetForTesting(
ProcessNodeImpl* process_node) {
- return DataImpl::Get(process_node);
+ return i::DataImpl::Get(process_node);
}
ProcessPriorityAggregator::ProcessPriorityAggregator() = default;
@@ -114,7 +116,7 @@ ProcessPriorityAggregator::~ProcessPriorityAggregator() = default;
void ProcessPriorityAggregator::OnFrameNodeAdded(const FrameNode* frame_node) {
auto* process_node = ProcessNodeImpl::FromNode(frame_node->GetProcessNode());
- DataImpl* data = DataImpl::Get(process_node);
+ i::DataImpl* data = i::DataImpl::Get(process_node);
data->Increment(frame_node->GetPriorityAndReason().priority());
// This is a nop if the priority didn't actually change.
process_node->set_priority(data->GetPriority());
@@ -123,7 +125,7 @@ void ProcessPriorityAggregator::OnFrameNodeAdded(const FrameNode* frame_node) {
void ProcessPriorityAggregator::OnBeforeFrameNodeRemoved(
const FrameNode* frame_node) {
auto* process_node = ProcessNodeImpl::FromNode(frame_node->GetProcessNode());
- DataImpl* data = DataImpl::Get(process_node);
+ i::DataImpl* data = i::DataImpl::Get(process_node);
data->Decrement(frame_node->GetPriorityAndReason().priority());
// This is a nop if the priority didn't actually change.
process_node->set_priority(data->GetPriority());
@@ -140,7 +142,7 @@ void ProcessPriorityAggregator::OnPriorityAndReasonChanged(
// Update the distinct frame priority counts, and set the process priority
// accordingly.
auto* process_node = ProcessNodeImpl::FromNode(frame_node->GetProcessNode());
- DataImpl* data = DataImpl::Get(process_node);
+ i::DataImpl* data = i::DataImpl::Get(process_node);
data->Decrement(previous_value.priority());
data->Increment(new_value.priority());
// This is a nop if the priority didn't actually change.
@@ -160,8 +162,8 @@ void ProcessPriorityAggregator::OnTakenFromGraph(Graph* graph) {
void ProcessPriorityAggregator::OnProcessNodeAdded(
const ProcessNode* process_node) {
auto* process_node_impl = ProcessNodeImpl::FromNode(process_node);
- DCHECK(!DataImpl::Get(process_node_impl));
- DataImpl* data = DataImpl::GetOrCreate(process_node_impl);
+ DCHECK(!i::DataImpl::Get(process_node_impl));
+ i::DataImpl* data = i::DataImpl::GetOrCreate(process_node_impl);
DCHECK(data->IsEmpty());
DCHECK_EQ(base::TaskPriority::LOWEST, process_node_impl->priority());
DCHECK_EQ(base::TaskPriority::LOWEST, data->GetPriority());
@@ -171,7 +173,7 @@ void ProcessPriorityAggregator::OnBeforeProcessNodeRemoved(
const ProcessNode* process_node) {
#if DCHECK_IS_ON()
auto* process_node_impl = ProcessNodeImpl::FromNode(process_node);
- DataImpl* data = DataImpl::Get(process_node_impl);
+ i::DataImpl* data = i::DataImpl::Get(process_node_impl);
DCHECK(data->IsEmpty());
#endif
}
diff --git chrome/browser/ui/views/confirm_bubble_views.cc chrome/browser/ui/views/confirm_bubble_views.cc
index 5f25a23aff9d..a2f160c2f1a5 100644
--- chrome/browser/ui/views/confirm_bubble_views.cc
+++ chrome/browser/ui/views/confirm_bubble_views.cc
@@ -27,6 +27,7 @@
namespace {
+namespace i {
std::unique_ptr<views::View> CreateExtraView(views::ButtonListener* listener) {
auto help_button = CreateVectorImageButton(listener);
help_button->SetFocusForPlatform();
@@ -34,6 +35,7 @@ std::unique_ptr<views::View> CreateExtraView(views::ButtonListener* listener) {
SetImageFromVectorIcon(help_button.get(), vector_icons::kHelpOutlineIcon);
return help_button;
}
+} // namespace i
} // namespace
@@ -46,7 +48,7 @@ ConfirmBubbleViews::ConfirmBubbleViews(
DialogDelegate::set_button_label(
ui::DIALOG_BUTTON_CANCEL,
model_->GetButtonLabel(ConfirmBubbleModel::BUTTON_CANCEL));
- help_button_ = DialogDelegate::SetExtraView(::CreateExtraView(this));
+ help_button_ = DialogDelegate::SetExtraView(::i::CreateExtraView(this));
set_margins(ChromeLayoutProvider::Get()->GetDialogInsetsForContentType(
views::TEXT, views::TEXT));
diff --git content/browser/accessibility/accessibility_event_recorder_win.cc content/browser/accessibility/accessibility_event_recorder_win.cc
index f4fcad03c04c..99b769763511 100644
--- content/browser/accessibility/accessibility_event_recorder_win.cc
+++ content/browser/accessibility/accessibility_event_recorder_win.cc
@@ -29,6 +29,7 @@ namespace content {
namespace {
+namespace i {
std::string RoleVariantToString(const base::win::ScopedVariant& role) {
if (role.type() == VT_I4) {
return base::UTF16ToUTF8(IAccessibleRoleToString(V_I4(role.ptr())));
@@ -55,6 +56,7 @@ HRESULT QueryIAccessibleText(IAccessible* accessible,
accessible_text)
: hr;
}
+} // namespace i
std::string BstrToPrettyUTF8(BSTR bstr) {
base::string16 str16(bstr, SysStringLen(bstr));
@@ -291,7 +293,7 @@ void AccessibilityEventRecorderWin::OnWinEventHook(HWINEVENTHOOK handle,
AccessibleStates ia2_state = 0;
Microsoft::WRL::ComPtr<IAccessible2> iaccessible2;
- hr = QueryIAccessible2(iaccessible.Get(), iaccessible2.GetAddressOf());
+ hr = i::QueryIAccessible2(iaccessible.Get(), iaccessible2.GetAddressOf());
bool has_ia2 = SUCCEEDED(hr) && iaccessible2;
base::string16 html_tag;
@@ -332,7 +334,7 @@ void AccessibilityEventRecorderWin::OnWinEventHook(HWINEVENTHOOK handle,
base::StringPrintf(" class=%s", base::UTF16ToUTF8(obj_class).c_str());
}
- log += base::StringPrintf(" role=%s", RoleVariantToString(role).c_str());
+ log += base::StringPrintf(" role=%s", i::RoleVariantToString(role).c_str());
if (name_bstr.Length() > 0)
log +=
base::StringPrintf(" name=\"%s\"", BstrToPrettyUTF8(name_bstr).c_str());
@@ -367,7 +369,7 @@ void AccessibilityEventRecorderWin::OnWinEventHook(HWINEVENTHOOK handle,
// For TEXT_REMOVED and TEXT_INSERTED events, query the text that was
// inserted or removed and include that in the log.
Microsoft::WRL::ComPtr<IAccessibleText> accessible_text;
- hr = QueryIAccessibleText(iaccessible.Get(), accessible_text.GetAddressOf());
+ hr = i::QueryIAccessibleText(iaccessible.Get(), accessible_text.GetAddressOf());
if (SUCCEEDED(hr)) {
if (event == IA2_EVENT_TEXT_REMOVED) {
IA2TextSegment old_text;
diff --git content/browser/devtools/protocol/storage_handler.cc content/browser/devtools/protocol/storage_handler.cc
index 50cf4dd3edef..7ae6ed5d91f0 100644
--- content/browser/devtools/protocol/storage_handler.cc
+++ content/browser/devtools/protocol/storage_handler.cc
@@ -33,8 +33,10 @@ namespace content {
namespace protocol {
using ClearCookiesCallback = Storage::Backend::ClearCookiesCallback;
+namespace i {
using GetCookiesCallback = Storage::Backend::GetCookiesCallback;
using SetCookiesCallback = Storage::Backend::SetCookiesCallback;
+}
struct UsageListInitializer {
const char* type;
@@ -284,7 +286,7 @@ void StorageHandler::GetCookies(Maybe<std::string> browser_context_id,
storage_partition->GetCookieManagerForBrowserProcess()->GetAllCookies(
base::BindOnce(
- [](std::unique_ptr<GetCookiesCallback> callback,
+ [](std::unique_ptr<i::GetCookiesCallback> callback,
const std::vector<net::CanonicalCookie>& cookies) {
callback->sendSuccess(NetworkHandler::BuildCookieArray(cookies));
},
@@ -294,7 +296,7 @@ void StorageHandler::GetCookies(Maybe<std::string> browser_context_id,
void StorageHandler::SetCookies(
std::unique_ptr<protocol::Array<Network::CookieParam>> cookies,
Maybe<std::string> browser_context_id,
- std::unique_ptr<SetCookiesCallback> callback) {
+ std::unique_ptr<i::SetCookiesCallback> callback) {
StoragePartition* storage_partition = nullptr;
Response response = StorageHandler::FindStoragePartition(browser_context_id,
&storage_partition);
@@ -306,7 +308,7 @@ void StorageHandler::SetCookies(
NetworkHandler::SetCookies(
storage_partition, std::move(cookies),
base::BindOnce(
- [](std::unique_ptr<SetCookiesCallback> callback, bool success) {
+ [](std::unique_ptr<i::SetCookiesCallback> callback, bool success) {
if (success) {
callback->sendSuccess();
} else {
diff --git content/browser/web_package/web_bundle_blob_data_source.cc content/browser/web_package/web_bundle_blob_data_source.cc
index 6b3e423e9d12..f3b63178d70e 100644
--- content/browser/web_package/web_bundle_blob_data_source.cc
+++ content/browser/web_package/web_bundle_blob_data_source.cc
@@ -23,6 +23,7 @@
namespace content {
namespace {
+namespace i {
class MojoBlobReaderDelegate : public storage::MojoBlobReader::Delegate {
public:
using CompletionCallback = base::OnceCallback<void(net::Error net_error)>;
@@ -43,6 +44,7 @@ class MojoBlobReaderDelegate : public storage::MojoBlobReader::Delegate {
CompletionCallback completion_callback_;
DISALLOW_COPY_AND_ASSIGN(MojoBlobReaderDelegate);
};
+} // namespace i
void OnReadComplete(
data_decoder::mojom::BundleDataSource::ReadCallback callback,
@@ -372,7 +374,7 @@ void WebBundleBlobDataSource::BlobDataSourceCore::OnBlobReadyForReadToDataPipe(
}
storage::MojoBlobReader::Create(
blob_.get(), net::HttpByteRange::Bounded(offset, offset + length - 1),
- std::make_unique<MojoBlobReaderDelegate>(std::move(callback)),
+ std::make_unique<i::MojoBlobReaderDelegate>(std::move(callback)),
std::move(producer_handle));
}
diff --git storage/browser/quota/quota_settings.cc storage/browser/quota/quota_settings.cc
index b2210b55b40f..668246e5f363 100644
--- storage/browser/quota/quota_settings.cc
+++ storage/browser/quota/quota_settings.cc
@@ -21,7 +21,9 @@ namespace storage {
namespace {
+namespace i {
const int64_t kMBytes = 1024 * 1024;
+}
const int kRandomizedPercentage = 10;
// Skews |value| by +/- |percent|.
@@ -35,7 +37,7 @@ storage::QuotaSettings CalculateIncognitoDynamicSettings(
// The incognito pool size is a fraction of the amount of system memory,
// and the amount is capped to a hard limit.
double incognito_pool_size_ratio = 0.1; // 10%
- int64_t max_incognito_pool_size = 300 * kMBytes;
+ int64_t max_incognito_pool_size = 300 * i::kMBytes;
if (base::FeatureList::IsEnabled(features::kIncognitoDynamicQuota)) {
const double lower_bound = features::kIncognitoQuotaRatioLowerBound.Get();
const double upper_bound = features::kIncognitoQuotaRatioUpperBound.Get();
@@ -89,7 +91,7 @@ base::Optional<storage::QuotaSettings> CalculateNominalDynamicSettings(
// * 64GB storage -- min(6GB,2GB) = 2GB
// * 16GB storage -- min(1.6GB,2GB) = 1.6GB
// * 8GB storage -- min(800MB,2GB) = 800MB
- const int64_t kShouldRemainAvailableFixed = 2048 * kMBytes; // 2GB
+ const int64_t kShouldRemainAvailableFixed = 2048 * i::kMBytes; // 2GB
const double kShouldRemainAvailableRatio = 0.1; // 10%
// The amount of the device's storage the browser attempts to
@@ -104,7 +106,7 @@ base::Optional<storage::QuotaSettings> CalculateNominalDynamicSettings(
// * 64GB storage -- min(640MB,1GB) = 640MB
// * 16GB storage -- min(160MB,1GB) = 160MB
// * 8GB storage -- min(80MB,1GB) = 80MB
- const int64_t kMustRemainAvailableFixed = 1024 * kMBytes; // 1GB
+ const int64_t kMustRemainAvailableFixed = 1024 * i::kMBytes; // 1GB
const double kMustRemainAvailableRatio = 0.01; // 1%
// The fraction of the temporary pool that can be utilized by a single host.
@@ -116,7 +118,7 @@ base::Optional<storage::QuotaSettings> CalculateNominalDynamicSettings(
// SessionOnly (or ephemeral) origins are allotted a fraction of what
// normal origins are provided, and the amount is capped to a hard limit.
const double kSessionOnlyHostQuotaRatio = 0.1; // 10%
- const int64_t kMaxSessionOnlyHostQuota = 300 * kMBytes;
+ const int64_t kMaxSessionOnlyHostQuota = 300 * i::kMBytes;
storage::QuotaSettings settings;
diff --git third_party/blink/renderer/modules/xr/xr_hit_test_source.cc third_party/blink/renderer/modules/xr/xr_hit_test_source.cc
index 8a49f3591a73..0345548ec18f 100644
--- third_party/blink/renderer/modules/xr/xr_hit_test_source.cc
+++ third_party/blink/renderer/modules/xr/xr_hit_test_source.cc
@@ -10,10 +10,12 @@
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
namespace {
+namespace i {
const char kCannotCancelHitTestSource[] =
"Hit test source could not be canceled! Ensure that it was not already "
"canceled.";
}
+}
namespace blink {
@@ -27,7 +29,7 @@ uint64_t XRHitTestSource::id() const {
void XRHitTestSource::cancel(ExceptionState& exception_state) {
if (!xr_session_->RemoveHitTestSource(this)) {
exception_state.ThrowDOMException(DOMExceptionCode::kInvalidStateError,
- kCannotCancelHitTestSource);
+ i::kCannotCancelHitTestSource);
}
}
diff --git third_party/blink/renderer/platform/fonts/font_matching_metrics.cc third_party/blink/renderer/platform/fonts/font_matching_metrics.cc
index 5e1005a2e4d3..ef83cadc9957 100644
--- third_party/blink/renderer/platform/fonts/font_matching_metrics.cc
+++ third_party/blink/renderer/platform/fonts/font_matching_metrics.cc
@@ -14,6 +14,7 @@ constexpr double kUkmFontLoadCountBucketSpacing = 1.3;
enum FontLoadContext { kTopLevel = 0, kSubFrame };
+namespace i {
template <typename T>
HashSet<T> Intersection(const HashSet<T>& a, const HashSet<T>& b) {
HashSet<T> result;
@@ -23,6 +24,7 @@ HashSet<T> Intersection(const HashSet<T>& a, const HashSet<T>& b) {
}
return result;
}
+} // namespace i
} // namespace
@@ -52,16 +54,16 @@ void FontMatchingMetrics::PublishUkmMetrics() {
ukm::builders::FontMatchAttempts(source_id_)
.SetLoadContext(top_level_ ? kTopLevel : kSubFrame)
.SetSystemFontFamilySuccesses(ukm::GetExponentialBucketMin(
- Intersection(successful_font_families_, system_font_families_).size(),
+ i::Intersection(successful_font_families_, system_font_families_).size(),
kUkmFontLoadCountBucketSpacing))
.SetSystemFontFamilyFailures(ukm::GetExponentialBucketMin(
- Intersection(failed_font_families_, system_font_families_).size(),
+ i::Intersection(failed_font_families_, system_font_families_).size(),
kUkmFontLoadCountBucketSpacing))
.SetWebFontFamilySuccesses(ukm::GetExponentialBucketMin(
- Intersection(successful_font_families_, web_font_families_).size(),
+ i::Intersection(successful_font_families_, web_font_families_).size(),
kUkmFontLoadCountBucketSpacing))
.SetWebFontFamilyFailures(ukm::GetExponentialBucketMin(
- Intersection(failed_font_families_, web_font_families_).size(),
+ i::Intersection(failed_font_families_, web_font_families_).size(),
kUkmFontLoadCountBucketSpacing))
.Record(ukm_recorder_);
}

View File

@@ -1,16 +1,16 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index 5f4cb5b1c4fe..a082ec93ffe4 100644
index 6751a787272b..751b62c50a81 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -9,6 +9,7 @@ import("//build/config/features.gni")
@@ -10,6 +10,7 @@ import("//build/config/features.gni")
import("//build/config/jumbo.gni")
import("//build/config/linux/gtk/gtk.gni")
import("//build/config/ui.gni")
+import("//cef/libcef/features/features.gni")
import("//chrome/browser/buildflags.gni")
import("//chrome/common/features.gni")
import("//components/feature_engagement/features.gni")
import("//components/feed/features.gni")
@@ -1881,6 +1882,7 @@ jumbo_static_library("browser") {
@@ -1959,6 +1960,7 @@ jumbo_static_library("browser") {
"//base/util/values:values_util",
"//build:branding_buildflags",
"//cc",
@@ -18,7 +18,7 @@ index 5f4cb5b1c4fe..a082ec93ffe4 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2183,6 +2185,10 @@ jumbo_static_library("browser") {
@@ -2263,6 +2265,10 @@ jumbo_static_library("browser") {
]
}

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/content_settings/host_content_settings_map_factory.cc chrome/browser/content_settings/host_content_settings_map_factory.cc
index ac6b3488a4d8..82edf3f9eeec 100644
index 47b1443298ec..c1e07075fec4 100644
--- chrome/browser/content_settings/host_content_settings_map_factory.cc
+++ chrome/browser/content_settings/host_content_settings_map_factory.cc
@@ -7,6 +7,7 @@

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index 99b66171cd0f..46239384714e 100644
index faa1344bd0a9..4528f101adb8 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -9,6 +9,7 @@ import("//build/config/features.gni")
@@ -10,7 +10,7 @@ index 99b66171cd0f..46239384714e 100644
import("//chrome/common/features.gni")
import("//chromeos/assistant/assistant.gni")
import("//components/feature_engagement/features.gni")
@@ -358,6 +359,10 @@ jumbo_static_library("ui") {
@@ -355,6 +356,10 @@ jumbo_static_library("ui") {
"//build/config/compiler:wexit_time_destructors",
]
@@ -21,7 +21,7 @@ index 99b66171cd0f..46239384714e 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
@@ -378,6 +383,7 @@ jumbo_static_library("ui") {
@@ -376,6 +381,7 @@ jumbo_static_library("ui") {
"//base/allocator:buildflags",
"//build:branding_buildflags",
"//cc/paint",
@@ -29,7 +29,7 @@ index 99b66171cd0f..46239384714e 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -1372,6 +1378,7 @@ jumbo_static_library("ui") {
@@ -1403,6 +1409,7 @@ jumbo_static_library("ui") {
"//components/keep_alive_registry",
"//components/network_session_configurator/common",
"//components/page_load_metrics/browser",
@@ -38,7 +38,7 @@ index 99b66171cd0f..46239384714e 100644
"//components/ui_metrics",
"//components/url_formatter",
diff --git chrome/browser/ui/webui/net_export_ui.cc chrome/browser/ui/webui/net_export_ui.cc
index 7b7cf106ad3d..b9fdb831737d 100644
index 0924a6d73069..2fbdc6588a2c 100644
--- chrome/browser/ui/webui/net_export_ui.cc
+++ chrome/browser/ui/webui/net_export_ui.cc
@@ -20,13 +20,12 @@

View File

@@ -1,8 +1,8 @@
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
index 8171dbb425b9..908e745c7285 100644
index 5cdfec3a834b..99a06ed3332c 100644
--- chrome/browser/chrome_content_browser_client.cc
+++ chrome/browser/chrome_content_browser_client.cc
@@ -992,10 +992,6 @@ void LaunchURL(const GURL& url,
@@ -990,10 +990,6 @@ void LaunchURL(const GURL& url,
}
}
@@ -13,7 +13,7 @@ index 8171dbb425b9..908e745c7285 100644
void MaybeAppendSecureOriginsAllowlistSwitch(base::CommandLine* cmdline) {
// |allowlist| combines pref/policy + cmdline switch in the browser process.
// For renderer and utility (e.g. NetworkService) processes the switch is the
@@ -1045,6 +1041,14 @@ void MaybeAddThrottle(
@@ -1088,6 +1084,14 @@ void MaybeRecordSameSiteCookieEngagementHistogram(
} // namespace
@@ -29,10 +29,10 @@ index 8171dbb425b9..908e745c7285 100644
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
if (command_line->HasSwitch(switches::kUserAgent)) {
diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h
index b80edc76b14f..20ba68634bbc 100644
index d6b48bfa4314..bc4266755dc7 100644
--- chrome/browser/chrome_content_browser_client.h
+++ chrome/browser/chrome_content_browser_client.h
@@ -86,7 +86,8 @@ enum class Channel;
@@ -87,7 +87,8 @@ enum class Channel;
class ChromeHidDelegate;
class ChromeSerialDelegate;

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
index 4e44716a40f3..1eb4731da1cf 100644
index 1abea76ebc02..d9fc9c0450c2 100644
--- chrome/browser/profiles/profile_manager.cc
+++ chrome/browser/profiles/profile_manager.cc
@@ -359,7 +359,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)

View File

@@ -1,8 +1,8 @@
diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn
index 8d5bdf428063..0aff2229bfa8 100644
index 0f60694e2d9f..35eeee3233a1 100644
--- chrome/browser/safe_browsing/BUILD.gn
+++ chrome/browser/safe_browsing/BUILD.gn
@@ -233,6 +233,7 @@ jumbo_static_library("safe_browsing") {
@@ -237,6 +237,7 @@ jumbo_static_library("safe_browsing") {
"//chrome/common/safe_browsing:download_type_util",
"//chrome/services/file_util/public/cpp",
"//components/content_settings/core/browser",

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/plugins/plugin_info_host_impl.cc chrome/browser/plugins/plugin_info_host_impl.cc
index 865ca9288de7..8f736f081b86 100644
index d49a1df73622..9a389e4383f0 100644
--- chrome/browser/plugins/plugin_info_host_impl.cc
+++ chrome/browser/plugins/plugin_info_host_impl.cc
@@ -18,6 +18,7 @@
@@ -10,7 +10,7 @@ index 865ca9288de7..8f736f081b86 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
#include "chrome/browser/plugins/chrome_plugin_service_filter.h"
@@ -55,6 +56,11 @@
@@ -54,6 +55,11 @@
#include "url/gurl.h"
#include "url/origin.h"
@@ -22,7 +22,7 @@ index 865ca9288de7..8f736f081b86 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "components/guest_view/browser/guest_view_base.h"
#include "extensions/browser/extension_registry.h"
@@ -101,6 +107,9 @@ bool IsPluginLoadingAccessibleResourceInWebView(
@@ -100,6 +106,9 @@ bool IsPluginLoadingAccessibleResourceInWebView(
extensions::ExtensionRegistry* extension_registry,
int process_id,
const GURL& resource) {
@@ -32,7 +32,7 @@ index 865ca9288de7..8f736f081b86 100644
extensions::WebViewRendererState* renderer_state =
extensions::WebViewRendererState::GetInstance();
std::string partition_id;
@@ -129,9 +138,6 @@ bool IsPluginLoadingAccessibleResourceInWebView(
@@ -128,9 +137,6 @@ bool IsPluginLoadingAccessibleResourceInWebView(
PluginInfoHostImpl::Context::Context(int render_process_id, Profile* profile)
: render_process_id_(render_process_id),
@@ -42,7 +42,7 @@ index 865ca9288de7..8f736f081b86 100644
host_content_settings_map_(
HostContentSettingsMapFactory::GetForProfile(profile)),
plugin_prefs_(PluginPrefs::GetForProfile(profile)) {
@@ -139,6 +145,13 @@ PluginInfoHostImpl::Context::Context(int render_process_id, Profile* profile)
@@ -138,6 +144,13 @@ PluginInfoHostImpl::Context::Context(int render_process_id, Profile* profile)
profile->GetPrefs());
run_all_flash_in_allow_mode_.Init(prefs::kRunAllFlashInAllowMode,
profile->GetPrefs());
@@ -56,7 +56,7 @@ index 865ca9288de7..8f736f081b86 100644
}
PluginInfoHostImpl::Context::~Context() {}
@@ -209,6 +222,7 @@ void PluginInfoHostImpl::PluginsLoaded(
@@ -208,6 +221,7 @@ void PluginInfoHostImpl::PluginsLoaded(
plugin_metadata->identifier(), &output->status);
}
@@ -64,7 +64,7 @@ index 865ca9288de7..8f736f081b86 100644
if (output->status == chrome::mojom::PluginStatus::kNotFound) {
// Check to see if the component updater can fetch an implementation.
std::unique_ptr<component_updater::ComponentInfo> cus_plugin_info =
@@ -217,7 +231,9 @@ void PluginInfoHostImpl::PluginsLoaded(
@@ -216,7 +230,9 @@ void PluginInfoHostImpl::PluginsLoaded(
ComponentPluginLookupDone(params, std::move(output), std::move(callback),
std::move(plugin_metadata),
std::move(cus_plugin_info));
@@ -75,7 +75,7 @@ index 865ca9288de7..8f736f081b86 100644
GetPluginInfoFinish(params, std::move(output), std::move(callback),
std::move(plugin_metadata));
}
@@ -230,6 +246,14 @@ void PluginInfoHostImpl::Context::DecidePluginStatus(
@@ -229,6 +245,14 @@ void PluginInfoHostImpl::Context::DecidePluginStatus(
PluginMetadata::SecurityStatus security_status,
const std::string& plugin_identifier,
chrome::mojom::PluginStatus* status) const {
@@ -90,7 +90,7 @@ index 865ca9288de7..8f736f081b86 100644
if (security_status == PluginMetadata::SECURITY_STATUS_FULLY_TRUSTED) {
*status = chrome::mojom::PluginStatus::kAllowed;
return;
@@ -338,16 +362,35 @@ bool PluginInfoHostImpl::Context::FindEnabledPlugin(
@@ -337,16 +361,35 @@ bool PluginInfoHostImpl::Context::FindEnabledPlugin(
return false;
}
@@ -128,7 +128,7 @@ index 865ca9288de7..8f736f081b86 100644
// If we broke out of the loop, we have found an enabled plugin.
bool enabled = i < matching_plugins.size();
diff --git chrome/browser/plugins/plugin_utils.cc chrome/browser/plugins/plugin_utils.cc
index 56f147d2fc56..9f5687d9a5b9 100644
index 4e64db143b8a..71322b0261a1 100644
--- chrome/browser/plugins/plugin_utils.cc
+++ chrome/browser/plugins/plugin_utils.cc
@@ -5,6 +5,7 @@
@@ -165,7 +165,7 @@ index 56f147d2fc56..9f5687d9a5b9 100644
Profile* profile = Profile::FromBrowserContext(browser_context);
std::vector<std::string> whitelist = MimeTypesHandler::GetMIMETypeWhitelist();
diff --git chrome/common/google_url_loader_throttle.cc chrome/common/google_url_loader_throttle.cc
index 0a565575f36c..06dfa59d1a75 100644
index 69539de7b1ec..001cf1d1fe0d 100644
--- chrome/common/google_url_loader_throttle.cc
+++ chrome/common/google_url_loader_throttle.cc
@@ -4,11 +4,16 @@
@@ -185,9 +185,9 @@ index 0a565575f36c..06dfa59d1a75 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "extensions/common/extension_urls.h"
#endif
@@ -98,6 +103,11 @@ void GoogleURLLoaderThrottle::WillProcessResponse(
@@ -97,6 +102,11 @@ void GoogleURLLoaderThrottle::WillProcessResponse(
const GURL& response_url,
network::ResourceResponseHead* response_head,
network::mojom::URLResponseHead* response_head,
bool* defer) {
+#if BUILDFLAG(ENABLE_CEF)
+ if (!extensions::ExtensionsEnabled())
@@ -198,72 +198,72 @@ index 0a565575f36c..06dfa59d1a75 100644
GURL webstore_url(extension_urls::GetWebstoreLaunchURL());
if (response_url.SchemeIsHTTPOrHTTPS() &&
diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc
index 4d3cfef5b28a..bbcaceebfda2 100644
index ffde51cd276a..3ef2ad8d3945 100644
--- chrome/renderer/chrome_content_renderer_client.cc
+++ chrome/renderer/chrome_content_renderer_client.cc
@@ -794,6 +794,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -814,6 +814,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
if ((status == chrome::mojom::PluginStatus::kUnauthorized ||
status == chrome::mojom::PluginStatus::kBlocked) &&
+ observer &&
observer->IsPluginTemporarilyAllowed(identifier)) {
+ content_settings_agent &&
content_settings_agent->IsPluginTemporarilyAllowed(identifier)) {
status = chrome::mojom::PluginStatus::kAllowed;
}
@@ -994,7 +995,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1012,7 +1013,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
plugin_auth_host.BindNewEndpointAndPassReceiver());
plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier);
- observer->DidBlockContentType(content_type, group_name);
+ if (observer)
+ observer->DidBlockContentType(content_type, group_name);
- content_settings_agent->DidBlockContentType(content_type);
+ if (content_settings_agent)
+ content_settings_agent->DidBlockContentType(content_type);
break;
}
case chrome::mojom::PluginStatus::kBlocked: {
@@ -1003,7 +1005,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1021,7 +1023,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name));
placeholder->AllowLoading();
RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked"));
- observer->DidBlockContentType(content_type, group_name);
+ if (observer)
+ observer->DidBlockContentType(content_type, group_name);
- content_settings_agent->DidBlockContentType(content_type);
+ if (content_settings_agent)
+ content_settings_agent->DidBlockContentType(content_type);
break;
}
case chrome::mojom::PluginStatus::kBlockedByPolicy: {
@@ -1013,7 +1016,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1031,7 +1034,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
group_name));
RenderThread::Get()->RecordAction(
UserMetricsAction("Plugin_BlockedByPolicy"));
- observer->DidBlockContentType(content_type, group_name);
+ if (observer)
+ observer->DidBlockContentType(content_type, group_name);
- content_settings_agent->DidBlockContentType(content_type);
+ if (content_settings_agent)
+ content_settings_agent->DidBlockContentType(content_type);
break;
}
case chrome::mojom::PluginStatus::kBlockedNoLoading: {
@@ -1021,7 +1025,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1039,7 +1043,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
IDR_BLOCKED_PLUGIN_HTML,
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED_NO_LOADING,
group_name));
- observer->DidBlockContentType(content_type, group_name);
+ if (observer)
+ observer->DidBlockContentType(content_type, group_name);
- content_settings_agent->DidBlockContentType(content_type);
+ if (content_settings_agent)
+ content_settings_agent->DidBlockContentType(content_type);
break;
}
case chrome::mojom::PluginStatus::kComponentUpdateRequired: {
diff --git chrome/renderer/plugins/chrome_plugin_placeholder.cc chrome/renderer/plugins/chrome_plugin_placeholder.cc
index 205c7398f827..8fcb6e5ae7ad 100644
index b86b883882cf..442bfa6753d8 100644
--- chrome/renderer/plugins/chrome_plugin_placeholder.cc
+++ chrome/renderer/plugins/chrome_plugin_placeholder.cc
@@ -358,8 +358,11 @@ void ChromePluginPlaceholder::OnBlockedContent(
if (status ==
content::RenderFrame::PeripheralContentStatus::CONTENT_STATUS_TINY) {
- ContentSettingsObserver::Get(render_frame())
- ->DidBlockContentType(CONTENT_SETTINGS_TYPE_PLUGINS, title_);
+ ContentSettingsObserver* observer =
+ ContentSettingsObserver::Get(render_frame());
+ if (observer) {
+ observer->DidBlockContentType(CONTENT_SETTINGS_TYPE_PLUGINS, title_);
+ }
- ContentSettingsAgentImpl::Get(render_frame())
- ->DidBlockContentType(ContentSettingsType::PLUGINS);
+ ContentSettingsAgentImpl *content_settings_agent =
+ ContentSettingsAgentImpl::Get(render_frame());
+ if (content_settings_agent) {
+ content_settings_agent->DidBlockContentType(ContentSettingsType::PLUGINS);
+ }
}
std::string message = base::StringPrintf(

View File

@@ -1,5 +1,5 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index 5c4d8b63894d..996e15be52b9 100644
index 4e229c16628f..17741b4d83a1 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -4,6 +4,7 @@
@@ -10,7 +10,7 @@ index 5c4d8b63894d..996e15be52b9 100644
import("//chrome/common/features.gni")
import("//components/nacl/features.gni")
import("//components/offline_pages/buildflags/features.gni")
@@ -129,6 +130,7 @@ jumbo_static_library("renderer") {
@@ -128,6 +129,7 @@ jumbo_static_library("renderer") {
defines = []
deps = [

View File

@@ -1,5 +1,5 @@
diff --git third_party/widevine/cdm/BUILD.gn third_party/widevine/cdm/BUILD.gn
index ed0e2f5208b0..dca927a726b9 100644
index 60757fdc2eee..29012ea670cf 100644
--- third_party/widevine/cdm/BUILD.gn
+++ third_party/widevine/cdm/BUILD.gn
@@ -5,6 +5,7 @@

View File

@@ -1,5 +1,5 @@
diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h
index 0825bf79f7d5..5bbb5b3ea05f 100644
index 544ed223ac8e..490330c87453 100644
--- content/browser/devtools/devtools_instrumentation.h
+++ content/browser/devtools/devtools_instrumentation.h
@@ -12,6 +12,7 @@
@@ -9,8 +9,8 @@ index 0825bf79f7d5..5bbb5b3ea05f 100644
+#include "content/common/content_export.h"
#include "content/common/navigation_params.mojom.h"
#include "content/public/browser/certificate_request_result_type.h"
#include "services/network/public/mojom/network_service.mojom.h"
@@ -52,7 +53,7 @@ void ApplyNetworkRequestOverrides(FrameTreeNode* frame_tree_node,
#include "mojo/public/cpp/bindings/pending_receiver.h"
@@ -48,7 +49,7 @@ void ApplyNetworkRequestOverrides(FrameTreeNode* frame_tree_node,
mojom::BeginNavigationParams* begin_params,
bool* report_raw_headers);
@@ -55,10 +55,10 @@ index 886bdf0edf8f..1d714000cce5 100644
blink::mojom::V8CacheOptions GetV8CacheOptions();
diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn
index 45c823a5f5cd..e8f82939e163 100644
index afb225949027..d0647753af2b 100644
--- third_party/blink/renderer/controller/BUILD.gn
+++ third_party/blink/renderer/controller/BUILD.gn
@@ -26,6 +26,7 @@ jumbo_component("controller") {
@@ -25,6 +25,7 @@ jumbo_component("controller") {
configs += [
"//build/config/compiler:wexit_time_destructors",
@@ -66,7 +66,7 @@ index 45c823a5f5cd..e8f82939e163 100644
"//third_party/blink/renderer:config",
"//third_party/blink/renderer:inside_blink",
"//third_party/blink/renderer:non_test_config",
@@ -44,6 +45,8 @@ jumbo_component("controller") {
@@ -43,6 +44,8 @@ jumbo_component("controller") {
"dev_tools_frontend_impl.h",
"memory_usage_monitor.cc",
"memory_usage_monitor.h",

View File

@@ -12,7 +12,7 @@ index 2d5b195caecb..827fcc962640 100644
if (is_stale && stale_plugin_action == RETRY_IF_STALE_PLUGIN_LIST) {
// The GetPlugins call causes the plugin list to be refreshed. Once that's
diff --git chrome/browser/plugins/chrome_plugin_service_filter.cc chrome/browser/plugins/chrome_plugin_service_filter.cc
index 8916d9329a6c..bd1174231578 100644
index e46003ea5e4a..503876cf7725 100644
--- chrome/browser/plugins/chrome_plugin_service_filter.cc
+++ chrome/browser/plugins/chrome_plugin_service_filter.cc
@@ -163,6 +163,7 @@ bool ChromePluginServiceFilter::IsPluginAvailable(
@@ -49,7 +49,7 @@ index 8d7b5276955d..787f338e7ca6 100644
false /* allow_wildcard */, is_stale, &plugin_info,
nullptr /* actual_mime_type */);
diff --git chrome/browser/ui/views/frame/browser_root_view.cc chrome/browser/ui/views/frame/browser_root_view.cc
index e7f241e8db68..fe0b6e546b86 100644
index 000ce05d8712..5806aef4d696 100644
--- chrome/browser/ui/views/frame/browser_root_view.cc
+++ chrome/browser/ui/views/frame/browser_root_view.cc
@@ -69,8 +69,8 @@ void OnFindURLMimeType(const GURL& url,
@@ -64,7 +64,7 @@ index e7f241e8db68..fe0b6e546b86 100644
bool GetURLForDrop(const ui::DropTargetEvent& event, GURL* url) {
diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc
index 367855448a71..c9e0ecffe5f6 100644
index 23565fc63987..88caf430a0c9 100644
--- content/browser/devtools/devtools_http_handler.cc
+++ content/browser/devtools/devtools_http_handler.cc
@@ -570,7 +570,7 @@ void DevToolsHttpHandler::OnJsonRequest(
@@ -77,10 +77,10 @@ index 367855448a71..c9e0ecffe5f6 100644
GetContentClient()->browser()->GetUserAgent());
version.SetString("V8-Version", V8_VERSION_STRING);
diff --git content/browser/frame_host/render_frame_message_filter.cc content/browser/frame_host/render_frame_message_filter.cc
index e4972dba25a6..1f39e4d115c6 100644
index c194f7a03838..450b6cb2c3ca 100644
--- content/browser/frame_host/render_frame_message_filter.cc
+++ content/browser/frame_host/render_frame_message_filter.cc
@@ -328,6 +328,7 @@ void RenderFrameMessageFilter::OnAre3DAPIsBlocked(int render_frame_id,
@@ -308,6 +308,7 @@ void RenderFrameMessageFilter::OnAre3DAPIsBlocked(int render_frame_id,
void RenderFrameMessageFilter::OnGetPluginInfo(
int render_frame_id,
const GURL& url,
@@ -88,7 +88,7 @@ index e4972dba25a6..1f39e4d115c6 100644
const url::Origin& main_frame_origin,
const std::string& mime_type,
bool* found,
@@ -335,8 +336,9 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
@@ -315,8 +316,9 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
std::string* actual_mime_type) {
bool allow_wildcard = true;
*found = plugin_service_->GetPluginInfo(
@@ -113,10 +113,10 @@ index 307a119bb9d8..c522bfcf3298 100644
const std::string& mime_type,
bool* found,
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
index 874fb88cb970..bc6cfa7aab2e 100644
index a223fcaccd46..9ca82d7c1c8d 100644
--- content/browser/loader/navigation_url_loader_impl.cc
+++ content/browser/loader/navigation_url_loader_impl.cc
@@ -666,6 +666,13 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
@@ -697,6 +697,13 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
resource_request_->has_user_gesture,
resource_request_->request_initiator, &loader_factory);
@@ -130,18 +130,15 @@ index 874fb88cb970..bc6cfa7aab2e 100644
if (loader_factory) {
factory =
base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>(
@@ -880,8 +887,9 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
@@ -905,7 +912,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
frame_tree_node->current_frame_host()->GetProcess()->GetID();
int routing_id = frame_tree_node->current_frame_host()->GetRoutingID();
bool has_plugin = PluginService::GetInstance()->GetPluginInfo(
- render_process_id, routing_id, resource_request_->url, url::Origin(),
- head.mime_type, false /* allow_wildcard */, &stale, &plugin, nullptr);
+ render_process_id, routing_id, resource_request_->url, true,
+ url::Origin(), head.mime_type, false /* allow_wildcard */, &stale,
+ &plugin, nullptr);
+ render_process_id, routing_id, resource_request_->url, true, url::Origin(),
head->mime_type, false /* allow_wildcard */, &stale, &plugin, nullptr);
if (stale) {
// Refresh the plugins asynchronously.
diff --git content/browser/plugin_service_impl.cc content/browser/plugin_service_impl.cc
index 4461a489227e..fea615b44abe 100644
--- content/browser/plugin_service_impl.cc
@@ -229,10 +226,10 @@ index 632ae86c6fd6..55b749ec1242 100644
const std::vector<WebPluginInfo>& all_plugins);
diff --git content/common/frame_messages.h content/common/frame_messages.h
index 24decdbf52a6..6438c92db226 100644
index 06c8e08ba8d5..1e349e3c06b6 100644
--- content/common/frame_messages.h
+++ content/common/frame_messages.h
@@ -1134,9 +1134,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
@@ -1060,9 +1060,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
// type. If there is no matching plugin, |found| is false.
// |actual_mime_type| is the actual mime type supported by the
// found plugin.
@@ -245,20 +242,20 @@ index 24decdbf52a6..6438c92db226 100644
std::string /* mime_type */,
bool /* found */,
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index 7a02c260cc99..333f3e32824b 100644
index b70473936db0..0cb62733520b 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -25,6 +25,7 @@
@@ -24,6 +24,7 @@
#include "content/common/content_export.h"
#include "content/public/browser/certificate_request_result_type.h"
#include "content/public/browser/generated_code_cache_settings.h"
#include "content/public/browser/page_visibility_state.h"
+#include "content/public/browser/web_contents.h"
#include "content/public/common/page_visibility_state.h"
#include "content/public/common/previews_state.h"
#include "content/public/common/window_container_type.mojom-forward.h"
#include "media/base/video_codecs.h"
@@ -1570,6 +1571,14 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1611,6 +1612,14 @@ class CONTENT_EXPORT ContentBrowserClient {
const base::Optional<url::Origin>& initiating_origin,
network::mojom::URLLoaderFactoryPtr* out_factory);
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory);
+ // Same as above, but exposing the whole ResourceRequest object.
+ virtual bool HandleExternalProtocol(
@@ -266,12 +263,12 @@ index 7a02c260cc99..333f3e32824b 100644
+ int frame_tree_node_id,
+ NavigationUIData* navigation_data,
+ const network::ResourceRequest& request,
+ network::mojom::URLLoaderFactoryPtr* out_factory) { return false; }
+ mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory) { return false; }
+
// Creates an OverlayWindow to be used for Picture-in-Picture. This window
// will house the content shown when in Picture-in-Picture mode. This will
// return a new OverlayWindow.
@@ -1633,6 +1642,10 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1674,6 +1683,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Used as part of the user agent string.
virtual std::string GetProduct();
@@ -307,12 +304,12 @@ index 98c59005599e..69752184745d 100644
WebPluginInfo* plugin) = 0;
diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h
index c1ed9f008b49..d055159b66f9 100644
index 6002ce70bb17..4198134b1b73 100644
--- content/public/renderer/content_renderer_client.h
+++ content/public/renderer/content_renderer_client.h
@@ -72,6 +72,9 @@ class CONTENT_EXPORT ContentRendererClient {
// Notifies us that the RenderThread has been created.
virtual void RenderThreadStarted() {}
@@ -80,6 +80,9 @@ class CONTENT_EXPORT ContentRendererClient {
// binding requests from RenderProcessHost::BindReceiver().
virtual void ExposeInterfacesToBrowser(mojo::BinderMap* binders) {}
+ // Notifies that the RenderThread can now send sync IPC messages.
+ virtual void RenderThreadConnected() {}
@@ -320,7 +317,7 @@ index c1ed9f008b49..d055159b66f9 100644
// Notifies that a new RenderFrame has been created.
virtual void RenderFrameCreated(RenderFrame* render_frame) {}
@@ -308,6 +311,10 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -328,6 +331,10 @@ class CONTENT_EXPORT ContentRendererClient {
// This method may invalidate the frame.
virtual void RunScriptsAtDocumentIdle(RenderFrame* render_frame) {}
@@ -331,25 +328,11 @@ index c1ed9f008b49..d055159b66f9 100644
// Allows subclasses to enable some runtime features before Blink has
// started.
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
diff --git content/public/renderer/render_frame_observer.h content/public/renderer/render_frame_observer.h
index f764efa250cc..9b2e8c053367 100644
--- content/public/renderer/render_frame_observer.h
+++ content/public/renderer/render_frame_observer.h
@@ -215,6 +215,9 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener,
virtual void DidReceiveTransferSizeUpdate(int resource_id,
int received_data_length) {}
+ // Called when this frame gains focus.
+ virtual void FrameFocused() {}
+
// Called when the focused element has changed to |element|.
virtual void FocusedElementChanged(const blink::WebElement& element) {}
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
index 8163ba87762e..54978cfe503a 100644
index 32a6927eaa93..540a6cbf450b 100644
--- content/renderer/render_frame_impl.cc
+++ content/renderer/render_frame_impl.cc
@@ -4149,7 +4149,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
@@ -3892,7 +3892,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
std::string mime_type;
bool found = false;
Send(new FrameHostMsg_GetPluginInfo(
@@ -359,22 +342,13 @@ index 8163ba87762e..54978cfe503a 100644
params.mime_type.Utf8(), &found, &info, &mime_type));
if (!found)
return nullptr;
@@ -4562,6 +4563,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
void RenderFrameImpl::FrameFocused() {
GetFrameHost()->FrameFocused();
+ for (auto& observer : observers_)
+ observer.FrameFocused();
}
void RenderFrameImpl::DidChangeName(const blink::WebString& name) {
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index e2cb076d3a69..939cc09915c2 100644
index 078c895fe5cd..f763acde4d66 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -810,6 +810,8 @@ void RenderThreadImpl::Init() {
StartServiceManagerConnection();
@@ -624,6 +624,8 @@ void RenderThreadImpl::Init() {
GetContentClient()->renderer()->CreateURLLoaderThrottleProvider(
URLLoaderThrottleProviderType::kFrame);
+ GetContentClient()->renderer()->RenderThreadConnected();
+
@@ -382,10 +356,10 @@ index e2cb076d3a69..939cc09915c2 100644
&RenderThreadImpl::OnRendererInterfaceReceiver, base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index 541268de0cc0..4572feb2e954 100644
index 17e84479f922..6bf6c2ab93ac 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -981,6 +981,15 @@ RendererBlinkPlatformImpl::GetGpuFactories() {
@@ -918,6 +918,15 @@ RendererBlinkPlatformImpl::GetGpuFactories() {
//------------------------------------------------------------------------------
@@ -402,10 +376,10 @@ index 541268de0cc0..4572feb2e954 100644
if (!code_cache_host_) {
code_cache_host_ = mojo::SharedRemote<blink::mojom::CodeCacheHost>(
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
index 68be1b765491..8468b1b42b79 100644
index edbf232175e4..27e4c87dd4c1 100644
--- content/renderer/renderer_blink_platform_impl.h
+++ content/renderer/renderer_blink_platform_impl.h
@@ -209,6 +209,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
@@ -197,6 +197,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
media::GpuVideoAcceleratorFactories* GetGpuFactories() override;

View File

@@ -1,5 +1,5 @@
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
index 998ef8659928..b3594db3de1f 100644
index 8b3b16ff94f6..96e5ead655e5 100644
--- content/app/content_main_runner_impl.cc
+++ content/app/content_main_runner_impl.cc
@@ -43,6 +43,7 @@
@@ -10,7 +10,7 @@ index 998ef8659928..b3594db3de1f 100644
#include "base/trace_event/trace_event.h"
#include "components/discardable_memory/service/discardable_shared_memory_manager.h"
#include "components/download/public/common/download_task_runner.h"
@@ -1015,6 +1016,11 @@ void ContentMainRunnerImpl::Shutdown() {
@@ -996,6 +997,11 @@ void ContentMainRunnerImpl::Shutdown() {
is_shutdown_ = true;
}
@@ -23,7 +23,7 @@ index 998ef8659928..b3594db3de1f 100644
ContentMainRunner* ContentMainRunner::Create() {
return ContentMainRunnerImpl::Create();
diff --git content/app/content_main_runner_impl.h content/app/content_main_runner_impl.h
index 1a76e95cb041..bdd60c054abc 100644
index 9575db7e2311..6b449160565d 100644
--- content/app/content_main_runner_impl.h
+++ content/app/content_main_runner_impl.h
@@ -51,6 +51,8 @@ class ContentMainRunnerImpl : public ContentMainRunner {
@@ -36,7 +36,7 @@ index 1a76e95cb041..bdd60c054abc 100644
#if !defined(CHROME_MULTIPLE_DLL_CHILD)
int RunServiceManager(MainFunctionParams& main_function_params,
diff --git content/app/content_service_manager_main_delegate.cc content/app/content_service_manager_main_delegate.cc
index c8a728e73782..fe8e3e608acc 100644
index 86d0a470a7c2..5e4b91d31e3f 100644
--- content/app/content_service_manager_main_delegate.cc
+++ content/app/content_service_manager_main_delegate.cc
@@ -130,4 +130,8 @@ void ContentServiceManagerMainDelegate::SetStartServiceManagerOnly(
@@ -49,7 +49,7 @@ index c8a728e73782..fe8e3e608acc 100644
+
} // namespace content
diff --git content/app/content_service_manager_main_delegate.h content/app/content_service_manager_main_delegate.h
index 864f2a5a315a..241052bb5d99 100644
index 0b4042aec2ae..b8643b10a02e 100644
--- content/app/content_service_manager_main_delegate.h
+++ content/app/content_service_manager_main_delegate.h
@@ -18,7 +18,8 @@ namespace content {

View File

@@ -127,7 +127,7 @@ index bcf172e645a2..f879aa745adf 100644
// on the given |command_line|.
void SetCrashKeysFromCommandLine(const base::CommandLine& command_line);
diff --git components/crash/content/app/breakpad_linux.cc components/crash/content/app/breakpad_linux.cc
index 7e561db0dd60..4b97ba370377 100644
index 27683246750c..064c679a03f1 100644
--- components/crash/content/app/breakpad_linux.cc
+++ components/crash/content/app/breakpad_linux.cc
@@ -28,6 +28,7 @@
@@ -186,7 +186,7 @@ index 7e561db0dd60..4b97ba370377 100644
if (info.pid > 0) {
char pid_value_buf[kUint64StringSize];
uint64_t pid_value_len = my_uint64_len(info.pid);
@@ -1864,10 +1875,20 @@ void HandleCrashDump(const BreakpadInfo& info) {
@@ -1864,6 +1875,9 @@ void HandleCrashDump(const BreakpadInfo& info) {
crash_reporter::internal::TransitionalCrashKeyStorage;
CrashKeyStorage::Iterator crash_key_iterator(*info.crash_keys);
const CrashKeyStorage::Entry* entry;
@@ -196,19 +196,22 @@ index 7e561db0dd60..4b97ba370377 100644
while ((entry = crash_key_iterator.Next())) {
if (g_use_crash_key_white_list && !IsInWhiteList(entry->key))
continue;
- writer.AddPairString(entry->key, entry->value);
+ parameters.insert(std::make_pair(entry->key, entry->value));
@@ -1876,7 +1890,13 @@ void HandleCrashDump(const BreakpadInfo& info) {
? CrashKeyStorage::value_size - 1
: my_strlen(entry->value);
- writer.AddPairData(entry->key, key_size, entry->value, value_size);
+ parameters.insert(std::make_pair(std::string{entry->key, key_size}, std::string{entry->value, value_size}));
+ }
+
+ if (!parameters.empty())
+ parameters = GetCrashReporterClient()->FilterParameters(parameters);
+
+ for (const auto& param : parameters) {
+ writer.AddPairString(param.first.c_str(), param.second.c_str());
+ writer.AddPairData(param.first.data(), param.first.size(), param.second.data(), param.second.size());
writer.AddBoundary();
writer.Flush();
}
@@ -2079,6 +2100,17 @@ void SetChannelCrashKey(const std::string& channel) {
@@ -2088,6 +2108,17 @@ void SetChannelCrashKey(const std::string& channel) {
channel_key.Set(channel);
}

View File

@@ -40,7 +40,7 @@ index 07a70980f12a..ddf7f17325fe 100644
virtual ~PruneCondition() {}
diff --git third_party/crashpad/crashpad/client/settings.cc third_party/crashpad/crashpad/client/settings.cc
index f6db78dbb8ca..30b0cf88d47a 100644
index db9dface43f8..e5bdfebf8403 100644
--- third_party/crashpad/crashpad/client/settings.cc
+++ third_party/crashpad/crashpad/client/settings.cc
@@ -86,7 +86,7 @@ void ScopedLockedFileHandleTraits::Free(FileHandle handle) {

View File

@@ -27,10 +27,10 @@ index 3841b7adf65d..41ca32ea5e2f 100644
auto* browser_context = web_contents->GetBrowserContext();
diff --git extensions/browser/extension_host.cc extensions/browser/extension_host.cc
index 5dc2d564c85a..864f2f12657c 100644
index 55284840012b..c24e5ee96ae0 100644
--- extensions/browser/extension_host.cc
+++ extensions/browser/extension_host.cc
@@ -67,11 +67,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
@@ -66,11 +66,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
DCHECK(host_type == VIEW_TYPE_EXTENSION_BACKGROUND_PAGE ||
host_type == VIEW_TYPE_EXTENSION_DIALOG ||
host_type == VIEW_TYPE_EXTENSION_POPUP);
@@ -47,7 +47,7 @@ index 5dc2d564c85a..864f2f12657c 100644
render_view_host_ = host_contents_->GetRenderViewHost();
@@ -86,6 +87,48 @@ ExtensionHost::ExtensionHost(const Extension* extension,
@@ -85,6 +86,48 @@ ExtensionHost::ExtensionHost(const Extension* extension,
dispatcher()->set_delegate(this);
}
@@ -97,7 +97,7 @@ index 5dc2d564c85a..864f2f12657c 100644
ExtensionRegistry::Get(browser_context_)->RemoveObserver(this);
diff --git extensions/browser/extension_host.h extensions/browser/extension_host.h
index c0f80fd848d6..75b0e53ae68e 100644
index a2914294a795..5140f9f5b165 100644
--- extensions/browser/extension_host.h
+++ extensions/browser/extension_host.h
@@ -52,13 +52,19 @@ class ExtensionHost : public DeferredStartRenderHost,
@@ -121,7 +121,7 @@ index c0f80fd848d6..75b0e53ae68e 100644
content::RenderViewHost* render_view_host() const;
content::RenderProcessHost* render_process_host() const;
bool has_loaded_once() const { return has_loaded_once_; }
@@ -181,7 +187,8 @@ class ExtensionHost : public DeferredStartRenderHost,
@@ -176,7 +182,8 @@ class ExtensionHost : public DeferredStartRenderHost,
content::BrowserContext* browser_context_;
// The host for our HTML content.
@@ -132,10 +132,10 @@ index c0f80fd848d6..75b0e53ae68e 100644
// A weak pointer to the current or pending RenderViewHost. We don't access
// this through the host_contents because we want to deal with the pending
diff --git extensions/browser/extensions_browser_client.h extensions/browser/extensions_browser_client.h
index 6d8ee7b85467..706a06d4a83c 100644
index 72defe9fa9de..31041cd2a459 100644
--- extensions/browser/extensions_browser_client.h
+++ extensions/browser/extensions_browser_client.h
@@ -54,6 +54,7 @@ class ComponentExtensionResourceManager;
@@ -57,6 +57,7 @@ class ComponentExtensionResourceManager;
class Extension;
class ExtensionCache;
class ExtensionError;
@@ -143,7 +143,7 @@ index 6d8ee7b85467..706a06d4a83c 100644
class ExtensionHostDelegate;
class ExtensionSet;
class ExtensionSystem;
@@ -193,6 +194,14 @@ class ExtensionsBrowserClient {
@@ -196,6 +197,14 @@ class ExtensionsBrowserClient {
virtual std::unique_ptr<ExtensionHostDelegate>
CreateExtensionHostDelegate() = 0;
@@ -159,10 +159,10 @@ index 6d8ee7b85467..706a06d4a83c 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 e3220c480f15..e014b6bb618c 100644
index 6c235f6a15b3..b0b907b63d32 100644
--- extensions/browser/process_manager.cc
+++ extensions/browser/process_manager.cc
@@ -381,9 +381,16 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
@@ -385,9 +385,16 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
return true; // TODO(kalman): return false here? It might break things...
DVLOG(1) << "CreateBackgroundHost " << extension->id();

View File

@@ -1,8 +1,8 @@
diff --git .gn .gn
index 20f2aad03c82..8cc64748b027 100644
index 62f3a6199ac3..fb0eb9b4b6ca 100644
--- .gn
+++ .gn
@@ -654,6 +654,8 @@ exec_script_whitelist =
@@ -649,6 +649,8 @@ exec_script_whitelist =
"//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn",
@@ -12,10 +12,10 @@ index 20f2aad03c82..8cc64748b027 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index b2d4f2f591e9..a19e53cfd6a9 100644
index efaf5b31ee37..2d9abf7a5e96 100644
--- BUILD.gn
+++ BUILD.gn
@@ -211,6 +211,7 @@ group("gn_all") {
@@ -213,6 +213,7 @@ group("gn_all") {
if (!is_ios && !is_fuchsia) {
deps += [
@@ -56,7 +56,7 @@ index 982fbe8d3f0d..e757be4688f1 100644
+ "studio path")
}
diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py
index 9ee69df7d210..00ad4b3be81a 100644
index 53fac69229a2..4eacf06265d1 100644
--- build/toolchain/win/setup_toolchain.py
+++ build/toolchain/win/setup_toolchain.py
@@ -142,22 +142,25 @@ def _LoadToolchainEnv(cpu, sdk_dir, target_store):
@@ -100,10 +100,10 @@ index 9ee69df7d210..00ad4b3be81a 100644
diff --git build/vs_toolchain.py build/vs_toolchain.py
index c3503cc47630..cdf5ec0dc95b 100755
index 2101755c6694..4410ece82aa2 100755
--- build/vs_toolchain.py
+++ build/vs_toolchain.py
@@ -86,11 +86,18 @@ def SetEnvironmentAndGetRuntimeDllDirs():
@@ -90,11 +90,18 @@ def SetEnvironmentAndGetRuntimeDllDirs():
runtime_path = os.path.pathsep.join(vs_runtime_dll_dirs)
os.environ['PATH'] = runtime_path + os.path.pathsep + os.environ['PATH']
elif sys.platform == 'win32' and not depot_tools_win_toolchain:
@@ -123,10 +123,10 @@ index c3503cc47630..cdf5ec0dc95b 100755
# directory in order to run binaries locally, but they are needed in order
# to create isolates or the mini_installer. Copying them to the output
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
index f4faf8c2eeb3..687c50622259 100644
index 6469473e6a79..f9f630bfe0df 100644
--- chrome/chrome_paks.gni
+++ chrome/chrome_paks.gni
@@ -275,7 +275,7 @@ template("chrome_paks") {
@@ -284,7 +284,7 @@ template("chrome_paks") {
}
input_locales = locales
@@ -136,10 +136,10 @@ index f4faf8c2eeb3..687c50622259 100644
if (is_mac) {
output_locales = locales_as_mac_outputs
diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn
index 99a1bc7cb24f..32ca34ac39b7 100644
index bebec015f85d..cf4151a0f23e 100644
--- chrome/installer/mini_installer/BUILD.gn
+++ chrome/installer/mini_installer/BUILD.gn
@@ -138,7 +138,7 @@ template("generate_mini_installer") {
@@ -140,7 +140,7 @@ template("generate_mini_installer") {
inputs = [
"$chrome_dll_file",
"$root_out_dir/chrome.exe",

View File

@@ -1,8 +1,8 @@
diff --git tools/gritsettings/resource_ids tools/gritsettings/resource_ids
index 60aa21e9e270..261b5dc02037 100644
index 12bbb5759e64..ededefbf6814 100644
--- tools/gritsettings/resource_ids
+++ tools/gritsettings/resource_ids
@@ -467,4 +467,11 @@
@@ -577,4 +577,11 @@
# Please read the header and find the right section above instead.
# Resource ids starting at 31000 are reserved for projects built on Chromium.

View File

@@ -0,0 +1,12 @@
diff --git third_party/libxml/BUILD.gn third_party/libxml/BUILD.gn
index 28b7c9d20c05..5b5d865b6ea8 100644
--- third_party/libxml/BUILD.gn
+++ third_party/libxml/BUILD.gn
@@ -145,6 +145,7 @@ static_library("libxml") {
"//third_party/blink/renderer/*",
"//third_party/fontconfig",
"//third_party/libxslt",
+ "//cef:*",
]
if (is_ios) {
foreach(tgt, ios_libxml_visibility_additions) {

View File

@@ -1,8 +1,8 @@
diff --git content/browser/child_process_launcher_helper_linux.cc content/browser/child_process_launcher_helper_linux.cc
index 720b92a1a3a7..4e5551a64ced 100644
index ea5258a03f83..843f28411eea 100644
--- content/browser/child_process_launcher_helper_linux.cc
+++ content/browser/child_process_launcher_helper_linux.cc
@@ -177,7 +177,7 @@ void ChildProcessLauncherHelper::ResetRegisteredFilesForTesting() {
@@ -164,7 +164,7 @@ void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(
base::File OpenFileToShare(const base::FilePath& path,
base::MemoryMappedFile::Region* region) {
base::FilePath exe_dir;
@@ -25,7 +25,7 @@ index a277ffa5eb59..3935b9f8c17c 100644
if (base::PathExists(sandbox_candidate))
sandbox_binary = sandbox_candidate;
diff --git ui/gl/init/gl_initializer_x11.cc ui/gl/init/gl_initializer_x11.cc
index 3fc37d1c06bd..becd622d631e 100644
index 60f73ddc504e..3d19011257aa 100644
--- ui/gl/init/gl_initializer_x11.cc
+++ ui/gl/init/gl_initializer_x11.cc
@@ -86,7 +86,7 @@ bool InitializeStaticEGLInternal(GLImplementation implementation) {

View File

@@ -1,48 +1,8 @@
diff --git chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
index 07f06ac694f5..831fd9f82dbe 100644
--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
+++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
@@ -6,6 +6,7 @@
#include "base/bind.h"
#include "base/run_loop.h"
+#include "cef/libcef/features/features.h"
#include "chrome/browser/chrome_browser_main.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/themes/theme_service.h"
@@ -29,6 +30,7 @@
namespace {
+#if !BUILDFLAG(ENABLE_CEF)
ui::NativeTheme* GetNativeThemeForWindow(aura::Window* window) {
if (!window)
return nullptr;
@@ -53,6 +55,7 @@ ui::NativeTheme* GetNativeThemeForWindow(aura::Window* window) {
return ui::NativeTheme::GetInstanceForNativeUi();
}
+#endif // !BUILDFLAG(ENABLE_CEF)
} // namespace
@@ -67,9 +70,11 @@ void ChromeBrowserMainExtraPartsViewsLinux::PreEarlyInitialization() {
if (!linux_ui)
return;
+#if !BUILDFLAG(ENABLE_CEF)
linux_ui->SetNativeThemeOverride(
base::BindRepeating(&GetNativeThemeForWindow));
views::LinuxUI::SetInstance(linux_ui);
+#endif
}
void ChromeBrowserMainExtraPartsViewsLinux::ToolkitInitialized() {
diff --git chrome/test/BUILD.gn chrome/test/BUILD.gn
index dde2eafb88f0..2594b51f35b1 100644
index 5c45bc5e6b75..97282b45f57e 100644
--- chrome/test/BUILD.gn
+++ chrome/test/BUILD.gn
@@ -4609,7 +4609,7 @@ test("unit_tests") {
@@ -4720,7 +4720,7 @@ test("unit_tests") {
if (use_gio) {
configs += [ "//build/linux:gio_config" ]
}
@@ -51,7 +11,7 @@ index dde2eafb88f0..2594b51f35b1 100644
deps += [ "//chrome/browser/ui/libgtkui" ]
}
@@ -5666,7 +5666,7 @@ if (!is_android) {
@@ -5708,7 +5708,7 @@ if (!is_android) {
# suites, it seems like one or another starts timing out too.
"../browser/ui/views/keyboard_access_browsertest.cc",
]

View File

@@ -1,5 +1,5 @@
diff --git ui/gl/init/gl_initializer_mac.cc ui/gl/init/gl_initializer_mac.cc
index cadd51581c1b..d266c9ddc225 100644
index c2725a66342d..5dfad8be2f8d 100644
--- ui/gl/init/gl_initializer_mac.cc
+++ ui/gl/init/gl_initializer_mac.cc
@@ -46,11 +46,8 @@ bool InitializeOneOffForSandbox() {

View File

@@ -1,8 +1,8 @@
diff --git base/message_loop/message_pump_mac.mm base/message_loop/message_pump_mac.mm
index 666b6cdca80b..239f6fad81a1 100644
index 7711944f8e30..676f69e7890a 100644
--- base/message_loop/message_pump_mac.mm
+++ base/message_loop/message_pump_mac.mm
@@ -800,7 +800,8 @@ void MessagePumpUIApplication::Attach(Delegate* delegate) {
@@ -777,7 +777,8 @@ void MessagePumpUIApplication::Detach() {
#else
ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
@@ -12,7 +12,7 @@ index 666b6cdca80b..239f6fad81a1 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.
@@ -812,7 +813,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
@@ -789,7 +790,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
}
ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() {

View File

@@ -1,32 +1,5 @@
diff --git content/browser/browser_plugin/browser_plugin_guest.cc content/browser/browser_plugin/browser_plugin_guest.cc
index 6eb21be63dec..8617eff6bfc8 100644
--- content/browser/browser_plugin/browser_plugin_guest.cc
+++ content/browser/browser_plugin/browser_plugin_guest.cc
@@ -820,7 +820,8 @@ void BrowserPluginGuest::OnWillAttachComplete(
static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
if (!web_contents()->GetRenderViewHost()->GetWidget()->GetView()) {
web_contents_view->CreateViewForWidget(
- web_contents()->GetRenderViewHost()->GetWidget(), true);
+ web_contents()->GetRenderViewHost()->GetWidget(),
+ embedder_web_contents->GetRenderViewHost()->GetWidget());
}
}
diff --git content/browser/frame_host/interstitial_page_impl.cc content/browser/frame_host/interstitial_page_impl.cc
index 7bb71f92bb0a..a6b89a831044 100644
--- content/browser/frame_host/interstitial_page_impl.cc
+++ content/browser/frame_host/interstitial_page_impl.cc
@@ -619,7 +619,7 @@ WebContentsView* InterstitialPageImpl::CreateWebContentsView() {
WebContentsView* wcv =
static_cast<WebContentsImpl*>(web_contents())->GetView();
RenderWidgetHostViewBase* view =
- wcv->CreateViewForWidget(render_view_host_->GetWidget(), false);
+ wcv->CreateViewForWidget(render_view_host_->GetWidget(), nullptr);
render_view_host_->GetWidget()->SetView(view);
render_view_host_->GetMainFrame()->AllowBindings(
BINDINGS_POLICY_DOM_AUTOMATION);
diff --git content/browser/web_contents/web_contents_view.h content/browser/web_contents/web_contents_view.h
index bff5b42b166c..4e21a23e364b 100644
index 4c5fb180bf82..f97991e11694 100644
--- content/browser/web_contents/web_contents_view.h
+++ content/browser/web_contents/web_contents_view.h
@@ -23,7 +23,7 @@ struct DropData;
@@ -38,191 +11,11 @@ index bff5b42b166c..4e21a23e364b 100644
public:
virtual ~WebContentsView() {}
@@ -83,13 +83,9 @@ class WebContentsView {
// Sets up the View that holds the rendered web page, receives messages for
// it and contains page plugins. The host view should be sized to the current
// size of the WebContents.
- //
- // |is_guest_view_hack| is temporary hack and will be removed once
- // RenderWidgetHostViewGuest is not dependent on platform view.
- // TODO(lazyboy): Remove |is_guest_view_hack| once http://crbug.com/330264 is
- // fixed.
virtual RenderWidgetHostViewBase* CreateViewForWidget(
- RenderWidgetHost* render_widget_host, bool is_guest_view_hack) = 0;
+ RenderWidgetHost* render_widget_host,
+ RenderWidgetHost* embedder_render_widget_host) = 0;
// Creates a new View that holds a non-top-level widget and receives messages
// for it.
diff --git content/browser/web_contents/web_contents_view_aura.cc content/browser/web_contents/web_contents_view_aura.cc
index fbefaf207527..093c9cfa2bd1 100644
--- content/browser/web_contents/web_contents_view_aura.cc
+++ content/browser/web_contents/web_contents_view_aura.cc
@@ -966,7 +966,8 @@ void WebContentsViewAura::CreateView(gfx::NativeView context) {
}
RenderWidgetHostViewBase* WebContentsViewAura::CreateViewForWidget(
- RenderWidgetHost* render_widget_host, bool is_guest_view_hack) {
+ RenderWidgetHost* render_widget_host,
+ RenderWidgetHost* embedder_render_widget_host) {
if (render_widget_host->GetView()) {
// During testing, the view will already be set up in most cases to the
// test view, so we don't want to clobber it with a real one. To verify that
@@ -978,6 +979,7 @@ RenderWidgetHostViewBase* WebContentsViewAura::CreateViewForWidget(
render_widget_host->GetView());
}
+ const bool is_guest_view_hack = !!embedder_render_widget_host;
RenderWidgetHostViewAura* view =
g_create_render_widget_host_view
? g_create_render_widget_host_view(render_widget_host,
diff --git content/browser/web_contents/web_contents_view_aura.h content/browser/web_contents/web_contents_view_aura.h
index 180f4fa00e46..05ec3dec8331 100644
--- content/browser/web_contents/web_contents_view_aura.h
+++ content/browser/web_contents/web_contents_view_aura.h
@@ -148,7 +148,7 @@ class CONTENT_EXPORT WebContentsViewAura
void CreateView(gfx::NativeView context) override;
RenderWidgetHostViewBase* CreateViewForWidget(
RenderWidgetHost* render_widget_host,
- bool is_guest_view_hack) override;
+ RenderWidgetHost* embedder_render_widget_host) override;
RenderWidgetHostViewBase* CreateViewForChildWidget(
RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const base::string16& title) override;
diff --git content/browser/web_contents/web_contents_view_child_frame.cc content/browser/web_contents/web_contents_view_child_frame.cc
index a766385cf589..fa6832be0759 100644
--- content/browser/web_contents/web_contents_view_child_frame.cc
+++ content/browser/web_contents/web_contents_view_child_frame.cc
@@ -83,7 +83,7 @@ void WebContentsViewChildFrame::CreateView(gfx::NativeView context) {
RenderWidgetHostViewBase* WebContentsViewChildFrame::CreateViewForWidget(
RenderWidgetHost* render_widget_host,
- bool is_guest_view_hack) {
+ RenderWidgetHost* embedder_render_widget_host) {
return RenderWidgetHostViewChildFrame::Create(render_widget_host);
}
diff --git content/browser/web_contents/web_contents_view_child_frame.h content/browser/web_contents/web_contents_view_child_frame.h
index 412bb35e4b69..2f5f7ac02b20 100644
--- content/browser/web_contents/web_contents_view_child_frame.h
+++ content/browser/web_contents/web_contents_view_child_frame.h
@@ -39,7 +39,7 @@ class WebContentsViewChildFrame : public WebContentsView,
void CreateView(gfx::NativeView context) override;
RenderWidgetHostViewBase* CreateViewForWidget(
RenderWidgetHost* render_widget_host,
- bool is_guest_view_hack) override;
+ RenderWidgetHost* embedder_render_widget_host) override;
RenderWidgetHostViewBase* CreateViewForChildWidget(
RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const base::string16& title) override;
diff --git content/browser/web_contents/web_contents_view_guest.cc content/browser/web_contents/web_contents_view_guest.cc
index c45581fd22b7..f9507a4e7db5 100644
--- content/browser/web_contents/web_contents_view_guest.cc
+++ content/browser/web_contents/web_contents_view_guest.cc
@@ -68,6 +68,8 @@ gfx::NativeWindow WebContentsViewGuest::GetTopLevelNativeWindow() const {
void WebContentsViewGuest::OnGuestAttached(WebContentsView* parent_view) {
#if defined(USE_AURA)
+ if (!platform_view_->GetNativeView())
+ return;
// In aura, ScreenPositionClient doesn't work properly if we do
// not have the native view associated with this WebContentsViewGuest in the
// view hierarchy. We add this view as embedder's child here.
@@ -78,6 +80,8 @@ void WebContentsViewGuest::OnGuestAttached(WebContentsView* parent_view) {
}
void WebContentsViewGuest::OnGuestDetached(WebContentsView* old_parent_view) {
+ if (!platform_view_->GetNativeView())
+ return;
#if defined(USE_AURA)
old_parent_view->GetNativeView()->RemoveChild(
platform_view_->GetNativeView());
@@ -118,7 +122,8 @@ void WebContentsViewGuest::CreateView(gfx::NativeView context) {
}
RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForWidget(
- RenderWidgetHost* render_widget_host, bool is_guest_view_hack) {
+ RenderWidgetHost* render_widget_host,
+ RenderWidgetHost* embedder_render_widget_host) {
if (render_widget_host->GetView()) {
// During testing, the view will already be set up in most cases to the
// test view, so we don't want to clobber it with a real one. To verify that
@@ -130,11 +135,19 @@ RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForWidget(
render_widget_host->GetView());
}
+ embedder_render_widget_host =
+ guest_->embedder_web_contents()->GetRenderViewHost()->GetWidget();
RenderWidgetHostViewBase* platform_widget =
- platform_view_->CreateViewForWidget(render_widget_host, true);
+ platform_view_->CreateViewForWidget(render_widget_host,
+ embedder_render_widget_host);
- return RenderWidgetHostViewGuest::Create(render_widget_host, guest_,
- platform_widget->GetWeakPtr());
+ RenderWidgetHostViewGuest* guest_view =
+ RenderWidgetHostViewGuest::Create(render_widget_host, guest_,
+ platform_widget->GetWeakPtr());
+ platform_widget->InitAsGuest(embedder_render_widget_host->GetView(),
+ guest_view);
+
+ return guest_view;
}
RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForChildWidget(
diff --git content/browser/web_contents/web_contents_view_guest.h content/browser/web_contents/web_contents_view_guest.h
index 12aa7cd4799d..bcd4e242c2f7 100644
--- content/browser/web_contents/web_contents_view_guest.h
+++ content/browser/web_contents/web_contents_view_guest.h
@@ -57,7 +57,7 @@ class WebContentsViewGuest : public WebContentsView,
void CreateView(gfx::NativeView context) override;
RenderWidgetHostViewBase* CreateViewForWidget(
RenderWidgetHost* render_widget_host,
- bool is_guest_view_hack) override;
+ RenderWidgetHost* embedder_render_widget_host) override;
RenderWidgetHostViewBase* CreateViewForChildWidget(
RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const base::string16& title) override;
diff --git content/browser/web_contents/web_contents_view_mac.h content/browser/web_contents/web_contents_view_mac.h
index 6fdec8c0a5e2..f57dc03069a5 100644
--- content/browser/web_contents/web_contents_view_mac.h
+++ content/browser/web_contents/web_contents_view_mac.h
@@ -76,7 +76,7 @@ class WebContentsViewMac : public WebContentsView,
void CreateView(gfx::NativeView context) override;
RenderWidgetHostViewBase* CreateViewForWidget(
RenderWidgetHost* render_widget_host,
- bool is_guest_view_hack) override;
+ RenderWidgetHost* embedder_render_widget_host) override;
RenderWidgetHostViewBase* CreateViewForChildWidget(
RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const base::string16& title) override;
diff --git content/browser/web_contents/web_contents_view_mac.mm content/browser/web_contents/web_contents_view_mac.mm
index 4721a9b3f511..dfdd46d0c5d2 100644
--- content/browser/web_contents/web_contents_view_mac.mm
+++ content/browser/web_contents/web_contents_view_mac.mm
@@ -326,7 +326,8 @@ void WebContentsViewMac::CreateView(gfx::NativeView context) {
}
RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
- RenderWidgetHost* render_widget_host, bool is_guest_view_hack) {
+ RenderWidgetHost* render_widget_host,
+ RenderWidgetHost* embedder_render_widget_host) {
if (render_widget_host->GetView()) {
// During testing, the view will already be set up in most cases to the
// test view, so we don't want to clobber it with a real one. To verify that
@@ -338,6 +339,7 @@ RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
render_widget_host->GetView());
}
+ const bool is_guest_view_hack = !!embedder_render_widget_host;
RenderWidgetHostViewMac* view =
g_create_render_widget_host_view
? g_create_render_widget_host_view(render_widget_host,
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 fa13ab856de9..81216c2bc8ff 100644
index 487f031c08c7..172884179b16 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
@@ -215,6 +215,8 @@ void MimeHandlerViewGuest::CreateWebContents(
@@ -207,6 +207,8 @@ void MimeHandlerViewGuest::CreateWebContents(
WebContents::CreateParams params(browser_context(),
guest_site_instance.get());
params.guest_delegate = this;
@@ -231,7 +24,7 @@ index fa13ab856de9..81216c2bc8ff 100644
// TODO(erikchen): Fix ownership semantics for guest views.
// https://crbug.com/832879.
std::move(callback).Run(
@@ -230,6 +232,9 @@ void MimeHandlerViewGuest::CreateWebContents(
@@ -217,6 +219,9 @@ void MimeHandlerViewGuest::CreateWebContents(
}
void MimeHandlerViewGuest::DidAttachToEmbedder() {
@@ -241,7 +34,7 @@ index fa13ab856de9..81216c2bc8ff 100644
web_contents()->GetController().LoadURL(
stream_->handler_url(), content::Referrer(),
ui::PAGE_TRANSITION_AUTO_TOPLEVEL, std::string());
@@ -259,6 +264,11 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
@@ -246,6 +251,11 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
return true;
}
@@ -254,10 +47,10 @@ index fa13ab856de9..81216c2bc8ff 100644
WebContents* source,
const content::OpenURLParams& params) {
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
index 3d0b70d06fe7..06d5e5d4e9e3 100644
index 242db17f8f3b..80e9a5663588 100644
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
@@ -127,6 +127,7 @@ class MimeHandlerViewGuest
@@ -130,6 +130,7 @@ class MimeHandlerViewGuest
void EmbedderFullscreenToggled(bool entered_fullscreen) final;
bool ZoomPropagatesFromEmbedderToGuest() const final;
bool ShouldDestroyOnDetach() const final;

View File

@@ -41,10 +41,10 @@ index cc4b13a7b9c6..84f3b9ed7cf4 100644
} // namespace content
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
index cfa68bf03b99..02918742fd15 100644
index a91a66bca29d..bff1662c7323 100644
--- content/browser/renderer_host/render_widget_host_impl.cc
+++ content/browser/renderer_host/render_widget_host_impl.cc
@@ -2661,6 +2661,11 @@ void RenderWidgetHostImpl::SetNeedsBeginFrameForFlingProgress() {
@@ -2692,6 +2692,11 @@ void RenderWidgetHostImpl::SetNeedsBeginFrameForFlingProgress() {
SetNeedsBeginFrame(true);
}
@@ -57,10 +57,10 @@ index cfa68bf03b99..02918742fd15 100644
const WebInputEvent& event) {
if (base::FeatureList::IsEnabled(features::kBrowserVerifiedUserActivation) &&
diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h
index a3f9a2d865cc..2d6bdc5b65c2 100644
index 15a23f954089..87715137b8b4 100644
--- content/browser/renderer_host/render_widget_host_impl.h
+++ content/browser/renderer_host/render_widget_host_impl.h
@@ -714,6 +714,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
@@ -736,6 +736,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
void ProgressFlingIfNeeded(base::TimeTicks current_time);
void StopFling();
void SetNeedsBeginFrameForFlingProgress();

View File

@@ -1,8 +1,8 @@
diff --git content/public/common/common_param_traits_macros.h content/public/common/common_param_traits_macros.h
index 5411d32dbfd1..faf738b6b827 100644
index fcbfa6b8a81e..9bf5ad6a581b 100644
--- content/public/common/common_param_traits_macros.h
+++ content/public/common/common_param_traits_macros.h
@@ -191,6 +191,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
@@ -184,6 +184,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
IPC_STRUCT_TRAITS_MEMBER(main_frame_resizes_are_orientation_changes)
IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale)
IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled)
@@ -11,34 +11,34 @@ index 5411d32dbfd1..faf738b6b827 100644
IPC_STRUCT_TRAITS_MEMBER(navigate_on_drag_drop)
IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled)
diff --git content/public/common/web_preferences.cc content/public/common/web_preferences.cc
index 4b765944962d..7fe6d042bd53 100644
index b982618bef48..075efffc1ad7 100644
--- content/public/common/web_preferences.cc
+++ content/public/common/web_preferences.cc
@@ -167,6 +167,7 @@ WebPreferences::WebPreferences()
@@ -165,6 +165,7 @@ WebPreferences::WebPreferences()
spatial_navigation_enabled(false),
caret_browsing_enabled(false),
use_solid_color_scrollbars(false),
navigate_on_drag_drop(true),
+ base_background_color(0xFFFFFFFF), // Color::white
v8_cache_options(blink::mojom::V8CacheOptions::kDefault),
record_whole_document(false),
cookie_enabled(true),
diff --git content/public/common/web_preferences.h content/public/common/web_preferences.h
index 700cba9043f0..6e0b11c28d89 100644
index 04c03cfcb774..4f5488ef1699 100644
--- content/public/common/web_preferences.h
+++ content/public/common/web_preferences.h
@@ -183,6 +183,7 @@ struct CONTENT_EXPORT WebPreferences {
@@ -180,6 +180,7 @@ struct CONTENT_EXPORT WebPreferences {
bool spatial_navigation_enabled;
bool caret_browsing_enabled;
bool use_solid_color_scrollbars;
bool navigate_on_drag_drop;
+ uint32_t base_background_color;
blink::mojom::V8CacheOptions v8_cache_options;
bool record_whole_document;
diff --git content/renderer/render_view_impl.cc content/renderer/render_view_impl.cc
index 16b6279b2228..f6c6af2559da 100644
index 556a107ed038..2dbf8cc69c7e 100644
--- content/renderer/render_view_impl.cc
+++ content/renderer/render_view_impl.cc
@@ -1020,6 +1020,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
@@ -1015,6 +1015,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
#endif
WebRuntimeFeatures::EnableTranslateService(prefs.translate_service_available);

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/download/download_prefs.cc chrome/browser/download/download_prefs.cc
index 207cce649db5..5dadc32eea18 100644
index c880e6ba1766..d168a5fb44bb 100644
--- chrome/browser/download/download_prefs.cc
+++ chrome/browser/download/download_prefs.cc
@@ -22,6 +22,7 @@
@@ -21,7 +21,7 @@ index 207cce649db5..5dadc32eea18 100644
using content::BrowserContext;
using content::BrowserThread;
using content::DownloadManager;
@@ -307,7 +312,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager(
@@ -309,7 +314,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager(
// static
DownloadPrefs* DownloadPrefs::FromBrowserContext(
content::BrowserContext* context) {
@@ -34,7 +34,7 @@ index 207cce649db5..5dadc32eea18 100644
bool DownloadPrefs::IsFromTrustedSource(const download::DownloadItem& item) {
diff --git chrome/browser/printing/print_preview_dialog_controller.cc chrome/browser/printing/print_preview_dialog_controller.cc
index 3dcc3aa7bea2..637661e9d0b9 100644
index ba6cbab2e2e0..ce4c9953abfb 100644
--- chrome/browser/printing/print_preview_dialog_controller.cc
+++ chrome/browser/printing/print_preview_dialog_controller.cc
@@ -16,6 +16,7 @@
@@ -45,7 +45,7 @@ index 3dcc3aa7bea2..637661e9d0b9 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/chrome_extension_web_contents_observer.h"
#include "chrome/browser/printing/print_view_manager.h"
@@ -456,8 +457,11 @@ WebContents* PrintPreviewDialogController::CreatePrintPreviewDialog(
@@ -446,8 +447,11 @@ WebContents* PrintPreviewDialogController::CreatePrintPreviewDialog(
content::HostZoomMap::Get(preview_dialog->GetSiteInstance())
->SetZoomLevelForHostAndScheme(print_url.scheme(), print_url.host(), 0);
PrintViewManager::CreateForWebContents(preview_dialog);
@@ -58,49 +58,49 @@ index 3dcc3aa7bea2..637661e9d0b9 100644
// Add an entry to the map.
preview_dialog_map_[preview_dialog] = initiator;
diff --git chrome/browser/resources/print_preview/ui/destination_dialog.html chrome/browser/resources/print_preview/ui/destination_dialog.html
index a9f917682680..6209adcb2323 100644
index a9873cd3c0eb..127b8cba461e 100644
--- chrome/browser/resources/print_preview/ui/destination_dialog.html
+++ chrome/browser/resources/print_preview/ui/destination_dialog.html
@@ -183,9 +183,7 @@
</print-preview-provisional-destination-resolver>
</div>
<div slot="button-container">
- <cr-button on-click="onOpenSettingsPrintPage_">
- $i18n{manage}
- </cr-button>
+ <div></div>
<cr-button class="cancel-button" on-click="onCancelButtonClick_">
$i18n{cancel}
</cr-button>
@@ -147,9 +147,7 @@
</print-preview-provisional-destination-resolver>
</div>
<div slot="button-container">
- <cr-button on-click="onOpenSettingsPrintPage_">
- $i18n{manage}
- </cr-button>
+ <div></div>
<cr-button class="cancel-button" on-click="onCancelButtonClick_">
$i18n{cancel}
</cr-button>
diff --git chrome/browser/resources/print_preview/ui/destination_select.html chrome/browser/resources/print_preview/ui/destination_select.html
index 2438ba0e47b1..8669dd740aa5 100644
index 92127e580c67..df902f18f46d 100644
--- chrome/browser/resources/print_preview/ui/destination_select.html
+++ chrome/browser/resources/print_preview/ui/destination_select.html
@@ -47,10 +47,6 @@
<option value="[[getPdfDestinationKey_()]]" hidden$="[[appKioskMode]]">
$i18n{printToPDF}
</option>
- <option value="[[getGoogleDriveDestinationKey_(activeUser)]]"
- hidden$="[[!activeUser]]">
- $i18n{printToGoogleDrive}
- </option>
<if expr="chromeos">
<option value="noDestinations"
hidden$="[[!noDestinations]]" selected$="[[noDestinations]]">
@@ -31,10 +31,6 @@
hidden$="[[pdfPrinterDisabled]]">
$i18n{printToPDF}
</option>
- <option value="[[getGoogleDriveDestinationKey_(activeUser)]]"
- hidden$="[[!activeUser]]">
- $i18n{printToGoogleDrive}
- </option>
<option value="noDestinations"
hidden$="[[!noDestinations]]" selected$="[[noDestinations]]">
$i18n{noDestinationsMessage}
diff --git chrome/browser/ui/webui/constrained_web_dialog_ui.cc chrome/browser/ui/webui/constrained_web_dialog_ui.cc
index 12f77178ea92..470b13bd7879 100644
index b59728f623e3..6fd443962836 100644
--- chrome/browser/ui/webui/constrained_web_dialog_ui.cc
+++ chrome/browser/ui/webui/constrained_web_dialog_ui.cc
@@ -27,6 +27,8 @@
@@ -26,6 +26,8 @@
#include "chrome/browser/extensions/tab_helper.h"
#endif
+#include "cef/libcef/features/features.h"
+
using content::RenderFrameHost;
using content::RenderViewHost;
using content::WebContents;
@@ -57,8 +59,10 @@ class ConstrainedWebDialogDelegateUserData
using content::WebUIMessageHandler;
@@ -55,8 +57,10 @@ class ConstrainedWebDialogDelegateUserData
ConstrainedWebDialogUI::ConstrainedWebDialogUI(content::WebUI* web_ui)
: WebUIController(web_ui) {
#if BUILDFLAG(ENABLE_EXTENSIONS)
@@ -112,10 +112,10 @@ index 12f77178ea92..470b13bd7879 100644
ConstrainedWebDialogUI::~ConstrainedWebDialogUI() {
diff --git chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
index f0033a7e67bd..c093e4bdb1bb 100644
index c87e8694d1fa..af5f4126fd3d 100644
--- chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
+++ chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
@@ -146,8 +146,10 @@ PdfPrinterHandler::PdfPrinterHandler(Profile* profile,
@@ -177,8 +177,10 @@ PdfPrinterHandler::PdfPrinterHandler(
sticky_settings_(sticky_settings) {}
PdfPrinterHandler::~PdfPrinterHandler() {
@@ -126,7 +126,7 @@ index f0033a7e67bd..c093e4bdb1bb 100644
}
void PdfPrinterHandler::Reset() {
@@ -182,12 +184,14 @@ void PdfPrinterHandler::StartPrint(
@@ -227,12 +229,14 @@ void PdfPrinterHandler::StartPrint(
return;
}
@@ -141,7 +141,7 @@ index f0033a7e67bd..c093e4bdb1bb 100644
DCHECK(!print_callback_);
print_callback_ = std::move(callback);
@@ -327,7 +331,11 @@ void PdfPrinterHandler::SelectFile(const base::FilePath& default_filename,
@@ -372,7 +376,11 @@ void PdfPrinterHandler::SelectFile(const base::FilePath& default_filename,
// If the directory is empty there is no reason to create it or use the
// default location.
if (path.empty()) {
@@ -153,7 +153,7 @@ index f0033a7e67bd..c093e4bdb1bb 100644
return;
}
@@ -338,8 +346,14 @@ void PdfPrinterHandler::SelectFile(const base::FilePath& default_filename,
@@ -383,8 +391,14 @@ void PdfPrinterHandler::SelectFile(const base::FilePath& default_filename,
FROM_HERE,
{base::ThreadPool(), base::MayBlock(), base::TaskPriority::BEST_EFFORT},
base::BindOnce(&SelectSaveDirectory, path, default_path),
@@ -168,7 +168,7 @@ index f0033a7e67bd..c093e4bdb1bb 100644
}
void PdfPrinterHandler::PostPrintToPdfTask() {
@@ -356,6 +370,7 @@ void PdfPrinterHandler::OnGotUniqueFileName(const base::FilePath& path) {
@@ -401,6 +415,7 @@ void PdfPrinterHandler::OnGotUniqueFileName(const base::FilePath& path) {
FileSelected(path, 0, nullptr);
}
@@ -176,7 +176,7 @@ index f0033a7e67bd..c093e4bdb1bb 100644
void PdfPrinterHandler::OnDirectorySelected(const base::FilePath& filename,
const base::FilePath& directory) {
base::FilePath path = directory.Append(filename);
@@ -380,5 +395,36 @@ void PdfPrinterHandler::OnDirectorySelected(const base::FilePath& filename,
@@ -425,5 +440,36 @@ void PdfPrinterHandler::OnDirectorySelected(const base::FilePath& filename,
&file_type_info, 0, base::FilePath::StringType(),
platform_util::GetTopLevel(preview_web_contents_->GetNativeView()), NULL);
}
@@ -214,7 +214,7 @@ index f0033a7e67bd..c093e4bdb1bb 100644
} // namespace printing
diff --git chrome/browser/ui/webui/print_preview/pdf_printer_handler.h chrome/browser/ui/webui/print_preview/pdf_printer_handler.h
index 06f5799efbb9..6119691b2700 100644
index 0881b3dd9303..4df6883d4d05 100644
--- chrome/browser/ui/webui/print_preview/pdf_printer_handler.h
+++ chrome/browser/ui/webui/print_preview/pdf_printer_handler.h
@@ -11,9 +11,14 @@
@@ -232,7 +232,7 @@ index 06f5799efbb9..6119691b2700 100644
namespace base {
class FilePath;
class RefCountedMemory;
@@ -78,17 +83,28 @@ class PdfPrinterHandler : public PrinterHandler,
@@ -76,17 +81,28 @@ class PdfPrinterHandler : public PrinterHandler,
// The print preview web contents. Protected so unit tests can access it.
content::WebContents* const preview_web_contents_;
@@ -260,12 +260,12 @@ index 06f5799efbb9..6119691b2700 100644
+#endif
Profile* const profile_;
StickySettings* const sticky_settings_;
PrintPreviewStickySettings* const sticky_settings_;
diff --git chrome/browser/ui/webui/print_preview/print_preview_handler.cc chrome/browser/ui/webui/print_preview/print_preview_handler.cc
index 2ecb8cdde5a8..3ff362c64a52 100644
index 9bdbc0212f55..d93673e5b0c1 100644
--- chrome/browser/ui/webui/print_preview/print_preview_handler.cc
+++ chrome/browser/ui/webui/print_preview/print_preview_handler.cc
@@ -26,6 +26,7 @@
@@ -25,6 +25,7 @@
#include "base/metrics/histogram_macros.h"
#include "base/values.h"
#include "build/build_config.h"
@@ -273,7 +273,16 @@ index 2ecb8cdde5a8..3ff362c64a52 100644
#include "chrome/browser/app_mode/app_mode_utils.h"
#include "chrome/browser/bad_message.h"
#include "chrome/browser/browser_process.h"
@@ -1277,6 +1278,9 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
@@ -1107,7 +1108,7 @@ void PrintPreviewHandler::SendInitialSettings(
initial_settings.SetKey(kPolicies, std::move(policies));
if (IsCloudPrintEnabled() &&
- !base::FeatureList::IsEnabled(features::kCloudPrinterHandler)) {
+ !base::FeatureList::IsEnabled(::features::kCloudPrinterHandler)) {
initial_settings.SetStringKey(
kCloudPrintURL, GURL(cloud_devices::GetCloudPrintURL()).spec());
}
@@ -1366,6 +1367,9 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
}
return privet_printer_handler_.get();
}
@@ -283,15 +292,24 @@ index 2ecb8cdde5a8..3ff362c64a52 100644
#endif
if (printer_type == PrinterType::kPdfPrinter) {
if (!pdf_printer_handler_) {
@@ -1359,6 +1363,7 @@ void PrintPreviewHandler::OnPrintResult(const std::string& callback_id,
@@ -1385,7 +1389,7 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
if (printer_type == PrinterType::kCloudPrinter) {
// This printer handler is currently experimental. Ensure it is never
// created unless the flag is enabled.
- CHECK(base::FeatureList::IsEnabled(features::kCloudPrinterHandler));
+ CHECK(base::FeatureList::IsEnabled(::features::kCloudPrinterHandler));
if (!cloud_printer_handler_)
cloud_printer_handler_ = PrinterHandler::CreateForCloudPrinters();
return cloud_printer_handler_.get();
@@ -1448,6 +1452,7 @@ void PrintPreviewHandler::OnPrintResult(const std::string& callback_id,
}
void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
+#if !BUILDFLAG(ENABLE_CEF)
DCHECK(!identity_manager_);
cloud_print_enabled_ =
GetPrefs()->GetBoolean(prefs::kCloudPrintSubmitEnabled);
@@ -1374,6 +1379,7 @@ void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
!base::Contains(printer_type_deny_list_, kCloudPrinter) &&
@@ -1464,6 +1469,7 @@ void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
identity_manager_ = IdentityManagerFactory::GetForProfile(profile);
identity_manager_->AddObserver(this);
@@ -300,10 +318,10 @@ index 2ecb8cdde5a8..3ff362c64a52 100644
void PrintPreviewHandler::UnregisterForGaiaCookieChanges() {
diff --git chrome/browser/ui/webui/print_preview/print_preview_ui.cc chrome/browser/ui/webui/print_preview/print_preview_ui.cc
index 820820687a59..5c4aa8385f05 100644
index 19dba387e24f..50ec2bde3cb9 100644
--- chrome/browser/ui/webui/print_preview/print_preview_ui.cc
+++ chrome/browser/ui/webui/print_preview/print_preview_ui.cc
@@ -25,6 +25,7 @@
@@ -24,6 +24,7 @@
#include "base/synchronization/lock.h"
#include "base/values.h"
#include "build/build_config.h"
@@ -311,7 +329,7 @@ index 820820687a59..5c4aa8385f05 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_platform_part.h"
#include "chrome/browser/printing/background_printing_manager.h"
@@ -77,12 +78,16 @@ namespace printing {
@@ -76,12 +77,16 @@ namespace printing {
namespace {
@@ -326,5 +344,14 @@ index 820820687a59..5c4aa8385f05 100644
#endif
+#endif
PrintPreviewUI::TestDelegate* g_test_delegate = nullptr;
#if !BUILDFLAG(OPTIMIZE_WEBUI)
constexpr char kGeneratedPath[] =
@@ -332,7 +337,7 @@ void AddPrintPreviewFlags(content::WebUIDataSource* source, Profile* profile) {
source->AddBoolean("isEnterpriseManaged", enterprise_managed);
bool cloud_printer_handler_enabled =
- base::FeatureList::IsEnabled(features::kCloudPrinterHandler);
+ base::FeatureList::IsEnabled(::features::kCloudPrinterHandler);
source->AddBoolean("cloudPrinterHandlerEnabled",
cloud_printer_handler_enabled);
}

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/printing/print_job_worker.cc chrome/browser/printing/print_job_worker.cc
index ab32d5475a0e..8e7aee00e765 100644
index aacffd44658c..b8569071c631 100644
--- chrome/browser/printing/print_job_worker.cc
+++ chrome/browser/printing/print_job_worker.cc
@@ -133,6 +133,7 @@ PrintJobWorker::PrintJobWorker(int render_process_id, int render_frame_id)

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/renderer_preferences_util.cc chrome/browser/renderer_preferences_util.cc
index f96841de67db..df4ebb707bdb 100644
index ed00da9fe671..5ebbfdbc5a48 100644
--- chrome/browser/renderer_preferences_util.cc
+++ chrome/browser/renderer_preferences_util.cc
@@ -30,7 +30,8 @@
@@ -12,7 +12,7 @@ index f96841de67db..df4ebb707bdb 100644
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/themes/theme_service_factory.h"
#include "ui/views/linux_ui/linux_ui.h"
@@ -130,7 +131,8 @@ void UpdateFromSystemSettings(blink::mojom::RendererPreferences* prefs,
@@ -145,7 +146,8 @@ void UpdateFromSystemSettings(blink::mojom::RendererPreferences* prefs,
prefs->caret_blink_interval = interval;
#endif

View File

@@ -1,8 +1,8 @@
diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc
index 222ac2fb6d15..c8466b47242a 100644
index 4221d6a4fcb5..8f19146324b6 100644
--- ui/base/resource/resource_bundle.cc
+++ ui/base/resource/resource_bundle.cc
@@ -842,6 +842,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
@@ -843,6 +843,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
: delegate_(delegate),
locale_resources_data_lock_(new base::Lock),
max_scale_factor_(SCALE_FACTOR_100P) {
@@ -15,7 +15,7 @@ index 222ac2fb6d15..c8466b47242a 100644
mangle_localized_strings_ = base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kMangleLocalizedStrings);
}
@@ -851,6 +857,11 @@ ResourceBundle::~ResourceBundle() {
@@ -852,6 +858,11 @@ ResourceBundle::~ResourceBundle() {
UnloadLocaleResources();
}
@@ -28,7 +28,7 @@ index 222ac2fb6d15..c8466b47242a 100644
void ResourceBundle::InitSharedInstance(Delegate* delegate) {
DCHECK(g_shared_instance_ == NULL) << "ResourceBundle initialized twice";
diff --git ui/base/resource/resource_bundle.h ui/base/resource/resource_bundle.h
index e987fcae7dbf..4be280ae91e4 100644
index fc3fab9863d6..6a88f3664af0 100644
--- ui/base/resource/resource_bundle.h
+++ ui/base/resource/resource_bundle.h
@@ -155,6 +155,11 @@ class UI_BASE_EXPORT ResourceBundle {

View File

@@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
index 448db2a403a6..d7fe170c9dcc 100644
index 4d7831ae6b04..9c1b215220ab 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -713,10 +713,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
@@ -721,10 +721,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
DCHECK(GetBackgroundColor());
@@ -19,7 +19,7 @@ index 448db2a403a6..d7fe170c9dcc 100644
}
void RenderWidgetHostViewAura::WindowTitleChanged() {
@@ -2040,6 +2042,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
@@ -2001,6 +2003,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
// Init(), because it needs to have the layer.
if (frame_sink_id_.is_valid())
window_->SetEmbedFrameSinkId(frame_sink_id_);

View File

@@ -1,5 +1,5 @@
diff --git services/service_manager/embedder/main.cc services/service_manager/embedder/main.cc
index 099a76a207a3..25080688384f 100644
index 53e9e0aafc49..20b13ebc17b5 100644
--- services/service_manager/embedder/main.cc
+++ services/service_manager/embedder/main.cc
@@ -241,22 +241,36 @@ int RunService(MainDelegate* delegate) {

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc
index 2788029519d2..205d29075ff8 100644
index 3adf99a4527b..4c607c45d136 100644
--- chrome/browser/net/profile_network_context_service.cc
+++ chrome/browser/net/profile_network_context_service.cc
@@ -16,6 +16,7 @@
@@ -10,7 +10,7 @@ index 2788029519d2..205d29075ff8 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/content_settings/cookie_settings_factory.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
@@ -484,9 +485,22 @@ ProfileNetworkContextService::CreateNetworkContextParams(
@@ -642,9 +643,22 @@ ProfileNetworkContextService::CreateNetworkContextParams(
network_context_params->cookie_manager_params =
CreateCookieManagerParams(profile_, *cookie_settings_);
@@ -33,7 +33,7 @@ index 2788029519d2..205d29075ff8 100644
PrefService* local_state = g_browser_process->local_state();
// Configure the HTTP cache path and size.
base::FilePath base_cache_path;
@@ -499,6 +513,7 @@ ProfileNetworkContextService::CreateNetworkContextParams(
@@ -657,6 +671,7 @@ ProfileNetworkContextService::CreateNetworkContextParams(
base_cache_path.Append(chrome::kCacheDirname);
network_context_params->http_cache_max_size =
local_state->GetInteger(prefs::kDiskCacheSize);
@@ -42,10 +42,10 @@ index 2788029519d2..205d29075ff8 100644
// Currently this just contains HttpServerProperties, but that will likely
// change.
diff --git chrome/browser/profiles/profile.h chrome/browser/profiles/profile.h
index 756fa14db62a..4fb52050f8a5 100644
index 458c4acb0851..8f2a016a3054 100644
--- chrome/browser/profiles/profile.h
+++ chrome/browser/profiles/profile.h
@@ -378,6 +378,11 @@ class Profile : public content::BrowserContext {
@@ -380,6 +380,11 @@ class Profile : public content::BrowserContext {
virtual bool ShouldRestoreOldSessionCookies();
virtual bool ShouldPersistSessionCookies();
@@ -58,10 +58,10 @@ index 756fa14db62a..4fb52050f8a5 100644
// itself, if |relative_path| is empty).
virtual mojo::Remote<network::mojom::NetworkContext> CreateNetworkContext(
diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc
index adbda8bdf2c5..779e9e9764cb 100644
index 15068300b269..d5948416f730 100644
--- net/cookies/cookie_monster.cc
+++ net/cookies/cookie_monster.cc
@@ -504,6 +504,25 @@ void CookieMonster::SetCookieableSchemes(
@@ -476,6 +476,25 @@ void CookieMonster::SetCookieableSchemes(
MaybeRunCookieCallback(std::move(callback), true);
}
@@ -88,7 +88,7 @@ index adbda8bdf2c5..779e9e9764cb 100644
void CookieMonster::SetPersistSessionCookies(bool persist_session_cookies) {
DCHECK(thread_checker_.CalledOnValidThread());
diff --git net/cookies/cookie_monster.h net/cookies/cookie_monster.h
index 66ad270bb07e..ca9d9e073edf 100644
index 431fab884a5f..eeed129b49f2 100644
--- net/cookies/cookie_monster.h
+++ net/cookies/cookie_monster.h
@@ -180,6 +180,8 @@ class NET_EXPORT CookieMonster : public CookieStore {
@@ -101,7 +101,7 @@ index 66ad270bb07e..ca9d9e073edf 100644
// Enables writing session cookies into the cookie database. If this this
// method is called, it must be called before first use of the instance
diff --git net/cookies/cookie_store.h net/cookies/cookie_store.h
index ebec5df3a7ed..718cf4bc7362 100644
index 996ad7d14dfb..5c8e43c1d29c 100644
--- net/cookies/cookie_store.h
+++ net/cookies/cookie_store.h
@@ -148,6 +148,11 @@ class NET_EXPORT CookieStore {
@@ -117,10 +117,10 @@ index ebec5df3a7ed..718cf4bc7362 100644
virtual void DumpMemoryStats(base::trace_event::ProcessMemoryDump* pmd,
const std::string& parent_absolute_name) const;
diff --git services/network/cookie_manager.cc services/network/cookie_manager.cc
index 5a087228a2f1..1f46f8de2ee8 100644
index 5dbc9d2dfcfb..1c31d97825c2 100644
--- services/network/cookie_manager.cc
+++ services/network/cookie_manager.cc
@@ -219,14 +219,9 @@ void CookieManager::FlushCookieStore(FlushCookieStoreCallback callback) {
@@ -228,14 +228,9 @@ void CookieManager::FlushCookieStore(FlushCookieStoreCallback callback) {
void CookieManager::AllowFileSchemeCookies(
bool allow,
AllowFileSchemeCookiesCallback callback) {
@@ -139,10 +139,10 @@ index 5a087228a2f1..1f46f8de2ee8 100644
void CookieManager::SetForceKeepSessionState() {
diff --git services/network/network_context.cc services/network/network_context.cc
index 8489c08f3b5f..e2c22ea79382 100644
index b1740e9c8a2f..3509c005191c 100644
--- services/network/network_context.cc
+++ services/network/network_context.cc
@@ -1627,6 +1627,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext() {
@@ -1745,6 +1745,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
}
scoped_refptr<SessionCleanupCookieStore> session_cleanup_cookie_store;
@@ -150,7 +150,7 @@ index 8489c08f3b5f..e2c22ea79382 100644
if (params_->cookie_path) {
scoped_refptr<base::SequencedTaskRunner> client_task_runner =
base::ThreadTaskRunnerHandle::Get();
@@ -1654,18 +1655,27 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext() {
@@ -1772,18 +1773,27 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
session_cleanup_cookie_store =
base::MakeRefCounted<SessionCleanupCookieStore>(sqlite_store);
@@ -182,10 +182,10 @@ index 8489c08f3b5f..e2c22ea79382 100644
std::make_unique<net::StaticHttpUserAgentSettings>(
params_->accept_language, params_->user_agent);
diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom
index 086f4b96cdd9..1fe8d2ccae88 100644
index 662496d97241..6971cc3309af 100644
--- services/network/public/mojom/network_context.mojom
+++ services/network/public/mojom/network_context.mojom
@@ -225,6 +225,9 @@ struct NetworkContextParams {
@@ -242,6 +242,9 @@ struct NetworkContextParams {
// cookies. Otherwise it should be false.
bool persist_session_cookies = false;

View File

@@ -0,0 +1,42 @@
diff --git services/network/public/cpp/initiator_lock_compatibility.cc services/network/public/cpp/initiator_lock_compatibility.cc
index 3215c667d8a1..c305faab1e0d 100644
--- services/network/public/cpp/initiator_lock_compatibility.cc
+++ services/network/public/cpp/initiator_lock_compatibility.cc
@@ -37,20 +37,26 @@ InitiatorLockCompatibility VerifyRequestInitiatorLock(
if (initiator.opaque() || (initiator == lock))
return InitiatorLockCompatibility::kCompatibleLock;
- // TODO(lukasza, nasko): https://crbug.com/888079: Return kIncorrectLock if
+ // TODO(lukasza): https://crbug.com/891872: Return kIncorrectLock if
// the origins do not match exactly in the previous if statement. This should
- // be possible to do once we no longer fall back to site_url and have
- // request_initiator_*origin*_lock instead. In practice, the fallback can go
- // away after we no longer vend process-wide factory: https://crbug.com/891872
+ // be possible to do once we no longer vend process-wide factory.
if (!initiator.opaque() && !lock.opaque() &&
initiator.scheme() == lock.scheme() &&
- initiator.GetURL().SchemeIsHTTPOrHTTPS() &&
- !initiator.GetURL().HostIsIPAddress()) {
- std::string lock_domain = lock.host();
- if (!lock_domain.empty() && lock_domain.back() == '.')
- lock_domain.erase(lock_domain.length() - 1);
- if (initiator.DomainIs(lock_domain))
- return InitiatorLockCompatibility::kCompatibleLock;
+ initiator.GetURL().SchemeIsHTTPOrHTTPS()) {
+ if (initiator.GetURL().HostIsIPAddress()) {
+ // For IP addresses, we require host equality (allowing ports to differ,
+ // since site_url ignores ports). See also https://crbug.com/1051674.
+ if (initiator.host() == lock.host())
+ return InitiatorLockCompatibility::kCompatibleLock;
+ } else {
+ // For non-IP-address origins, we require sites (eTLD+1) to match
+ // (again ignoring ports).
+ std::string lock_domain = lock.host();
+ if (!lock_domain.empty() && lock_domain.back() == '.')
+ lock_domain.erase(lock_domain.length() - 1);
+ if (initiator.DomainIs(lock_domain))
+ return InitiatorLockCompatibility::kCompatibleLock;
+ }
}
return InitiatorLockCompatibility::kIncorrectLock;

View File

@@ -1,8 +1,8 @@
diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
index 818a6370957a..46282b320b0b 100644
index c05ce85a2327..2a9124db10a4 100644
--- content/browser/storage_partition_impl.cc
+++ content/browser/storage_partition_impl.cc
@@ -577,10 +577,6 @@ class LoginHandlerDelegate {
@@ -581,10 +581,6 @@ class LoginHandlerDelegate {
}
WebContents* web_contents = web_contents_getter_.Run();
@@ -13,7 +13,7 @@ index 818a6370957a..46282b320b0b 100644
// WeakPtr is not strictly necessary here due to OnRequestCancelled.
creating_login_delegate_ = true;
@@ -637,12 +633,6 @@ void OnAuthRequiredContinuation(
@@ -641,12 +637,6 @@ void OnAuthRequiredContinuation(
web_contents_getter =
base::BindRepeating(GetWebContents, process_id, routing_id);
}
@@ -26,7 +26,7 @@ index 818a6370957a..46282b320b0b 100644
new LoginHandlerDelegate(std::move(auth_challenge_responder),
std::move(web_contents_getter), auth_info,
is_request_for_main_frame, process_id, routing_id,
@@ -2277,7 +2267,10 @@ void StoragePartitionImpl::GetQuotaSettings(
@@ -2267,7 +2257,10 @@ void StoragePartitionImpl::GetQuotaSettings(
void StoragePartitionImpl::InitNetworkContext() {
network_context_ = GetContentClient()->browser()->CreateNetworkContext(
browser_context_, is_in_memory_, relative_partition_path_);
@@ -39,7 +39,7 @@ index 818a6370957a..46282b320b0b 100644
network_context_client_receiver_.reset();
network_context_->SetClient(
diff --git services/network/public/cpp/simple_url_loader.cc services/network/public/cpp/simple_url_loader.cc
index 1cc4198e6057..0fae6dbe25a2 100644
index f73b5b6fdc3d..14403d2e468c 100644
--- services/network/public/cpp/simple_url_loader.cc
+++ services/network/public/cpp/simple_url_loader.cc
@@ -230,6 +230,7 @@ class SimpleURLLoaderImpl : public SimpleURLLoader,
@@ -59,7 +59,7 @@ index 1cc4198e6057..0fae6dbe25a2 100644
// Populated in the constructor, and cleared once no longer needed, when no
// more retries are possible.
std::unique_ptr<ResourceRequest> resource_request_;
@@ -1373,6 +1376,12 @@ void SimpleURLLoaderImpl::SetTimeoutDuration(base::TimeDelta timeout_duration) {
@@ -1371,6 +1374,12 @@ void SimpleURLLoaderImpl::SetTimeoutDuration(base::TimeDelta timeout_duration) {
timeout_duration_ = timeout_duration;
}
@@ -72,17 +72,17 @@ index 1cc4198e6057..0fae6dbe25a2 100644
int SimpleURLLoaderImpl::NetError() const {
// Should only be called once the request is compelete.
DCHECK(request_state_->finished);
@@ -1521,7 +1530,7 @@ void SimpleURLLoaderImpl::StartRequest(
string_upload_data_pipe_getter_->GetRemoteForNewUpload());
@@ -1516,7 +1525,7 @@ void SimpleURLLoaderImpl::StartRequest(
}
url_loader_factory->CreateLoaderAndStart(
- mojo::MakeRequest(&url_loader_), 0 /* routing_id */, 0 /* request_id */,
+ mojo::MakeRequest(&url_loader_), 0 /* routing_id */, request_id_,
url_loader_factory_options_, *resource_request_, std::move(client_ptr),
url_loader_.BindNewPipeAndPassReceiver(), 0 /* routing_id */,
- 0 /* request_id */, url_loader_factory_options_, *resource_request_,
+ request_id_, url_loader_factory_options_, *resource_request_,
client_receiver_.BindNewPipeAndPassRemote(),
net::MutableNetworkTrafficAnnotationTag(annotation_tag_));
client_receiver_.set_disconnect_handler(base::BindOnce(
diff --git services/network/public/cpp/simple_url_loader.h services/network/public/cpp/simple_url_loader.h
index 88d602b0915c..ffe9b5adcebf 100644
index 5a0df57c4444..5ee2bef53374 100644
--- services/network/public/cpp/simple_url_loader.h
+++ services/network/public/cpp/simple_url_loader.h
@@ -332,6 +332,9 @@ class COMPONENT_EXPORT(NETWORK_CPP) SimpleURLLoader {

View File

@@ -1,8 +1,8 @@
diff --git content/browser/blob_storage/chrome_blob_storage_context.cc content/browser/blob_storage/chrome_blob_storage_context.cc
index c1bc20a5feab..7969c6e7e991 100644
index 5e7af339b157..26bdb73c5086 100644
--- content/browser/blob_storage/chrome_blob_storage_context.cc
+++ content/browser/blob_storage/chrome_blob_storage_context.cc
@@ -118,7 +118,8 @@ ChromeBlobStorageContext* ChromeBlobStorageContext::GetFor(
@@ -116,7 +116,8 @@ ChromeBlobStorageContext* ChromeBlobStorageContext::GetFor(
// If we're not incognito mode, schedule all of our file tasks to enable
// disk on the storage context.
@@ -13,7 +13,7 @@ index c1bc20a5feab..7969c6e7e991 100644
{base::ThreadPool(), base::MayBlock(),
base::TaskPriority::USER_VISIBLE,
diff --git content/browser/browser_context.cc content/browser/browser_context.cc
index 99b29aa36717..6ac73053cd36 100644
index 7b48f428955b..0bd02ca49d05 100644
--- content/browser/browser_context.cc
+++ content/browser/browser_context.cc
@@ -57,6 +57,7 @@
@@ -24,7 +24,7 @@ index 99b29aa36717..6ac73053cd36 100644
#include "media/base/media_switches.h"
#include "media/capabilities/in_memory_video_decode_stats_db_impl.h"
#include "media/capabilities/video_decode_stats_db_impl.h"
@@ -165,7 +166,7 @@ StoragePartition* GetStoragePartitionFromConfig(
@@ -168,7 +169,7 @@ StoragePartition* GetStoragePartitionFromConfig(
StoragePartitionImplMap* partition_map =
GetStoragePartitionMap(browser_context);
@@ -33,7 +33,7 @@ index 99b29aa36717..6ac73053cd36 100644
in_memory = true;
return partition_map->Get(partition_domain, partition_name, in_memory,
@@ -719,7 +720,7 @@ media::VideoDecodePerfHistory* BrowserContext::GetVideoDecodePerfHistory() {
@@ -665,7 +666,7 @@ media::VideoDecodePerfHistory* BrowserContext::GetVideoDecodePerfHistory() {
kUseInMemoryDBDefault);
std::unique_ptr<media::VideoDecodeStatsDB> stats_db;
@@ -43,10 +43,10 @@ index 99b29aa36717..6ac73053cd36 100644
std::make_unique<media::InMemoryVideoDecodeStatsDBImpl>(nullptr);
} else {
diff --git storage/browser/database/database_tracker.cc storage/browser/database/database_tracker.cc
index a0065cac99f0..2d808ea8d33f 100644
index 32c4eb76299c..9e86c12802d9 100644
--- storage/browser/database/database_tracker.cc
+++ storage/browser/database/database_tracker.cc
@@ -510,7 +510,7 @@ bool DatabaseTracker::LazyInit() {
@@ -511,7 +511,7 @@ bool DatabaseTracker::LazyInit() {
meta_table_.reset(new sql::MetaTable());
is_initialized_ =

View File

@@ -1,5 +1,5 @@
diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h
index 14fd70d103a7..2f1ab56307f8 100644
index 1ac3513eb4f7..49a21d1954a3 100644
--- base/trace_event/builtin_categories.h
+++ base/trace_event/builtin_categories.h
@@ -51,6 +51,8 @@

View File

@@ -1,5 +1,5 @@
diff --git ui/base/models/menu_model.h ui/base/models/menu_model.h
index b0ae539ba1dc..3fd16cbe7e7a 100644
index 5bcc6204c2b5..1bf18609d150 100644
--- ui/base/models/menu_model.h
+++ ui/base/models/menu_model.h
@@ -16,6 +16,7 @@
@@ -10,7 +10,7 @@ index b0ae539ba1dc..3fd16cbe7e7a 100644
struct VectorIcon;
}
@@ -123,6 +124,27 @@ class UI_BASE_EXPORT MenuModel : public base::SupportsWeakPtr<MenuModel> {
@@ -125,6 +126,27 @@ class UI_BASE_EXPORT MenuModel : public base::SupportsWeakPtr<MenuModel> {
// |event_flags| is a bit mask of ui::EventFlags.
virtual void ActivatedAt(int index, int event_flags);
@@ -39,10 +39,10 @@ index b0ae539ba1dc..3fd16cbe7e7a 100644
virtual void MenuWillShow() {}
diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc
index bd8491add744..92d33c554ca6 100644
index cb1a7976f6dc..d6360da8e69d 100644
--- ui/gfx/render_text.cc
+++ ui/gfx/render_text.cc
@@ -539,6 +539,14 @@ void RenderText::SetWhitespaceElision(base::Optional<bool> whitespace_elision) {
@@ -713,6 +713,14 @@ void RenderText::SetWhitespaceElision(base::Optional<bool> whitespace_elision) {
}
}
@@ -57,9 +57,9 @@ index bd8491add744..92d33c554ca6 100644
void RenderText::SetDisplayRect(const Rect& r) {
if (r != display_rect_) {
display_rect_ = r;
@@ -1666,6 +1674,19 @@ void RenderText::OnTextAttributeChanged() {
if (!multiline_ && replace_newline_chars_with_symbols_)
base::ReplaceChars(layout_text_, kNewline, kNewlineSymbol, &layout_text_);
@@ -1904,6 +1912,19 @@ void RenderText::OnTextAttributeChanged() {
layout_text_up_to_date_ = false;
+ if (draw_strings_flags_ != 0) {
+ // Compute layout size with the mnemonic character underlined since it might
@@ -78,10 +78,10 @@ index bd8491add744..92d33c554ca6 100644
}
diff --git ui/gfx/render_text.h ui/gfx/render_text.h
index d0dc1d08c912..7496b2620bd3 100644
index ee5748fa6f02..d4477f724d68 100644
--- ui/gfx/render_text.h
+++ ui/gfx/render_text.h
@@ -320,6 +320,10 @@ class GFX_EXPORT RenderText {
@@ -304,6 +304,10 @@ class GFX_EXPORT RenderText {
return whitespace_elision_;
}
@@ -92,9 +92,9 @@ index d0dc1d08c912..7496b2620bd3 100644
const Rect& display_rect() const { return display_rect_; }
void SetDisplayRect(const Rect& r);
@@ -979,6 +983,8 @@ class GFX_EXPORT RenderText {
// The cursor position in view space, used to traverse lines of varied widths.
base::Optional<int> cached_cursor_x_;
@@ -980,6 +984,8 @@ class GFX_EXPORT RenderText {
// Tell whether or not the layout break lists need an update.
bool layout_text_attributes_up_to_date_ = false;
+ int draw_strings_flags_ = 0;
+
@@ -115,10 +115,10 @@ index 3b5bc508a0fd..262da51d50ac 100644
// Size used for the default SquareInkDropRipple.
static constexpr gfx::Size kDefaultInkDropSize = gfx::Size(24, 24);
diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc
index 1e66f0d7ec02..e978979e07a2 100644
index f476f1725204..d2d30163abf3 100644
--- ui/views/controls/button/label_button.cc
+++ ui/views/controls/button/label_button.cc
@@ -482,6 +482,12 @@ void LabelButton::OnThemeChanged() {
@@ -484,6 +484,12 @@ void LabelButton::OnThemeChanged() {
SchedulePaint();
}
@@ -132,10 +132,10 @@ index 1e66f0d7ec02..e978979e07a2 100644
const gfx::Size previous_image_size(image_->GetPreferredSize());
UpdateImage();
diff --git ui/views/controls/button/label_button.h ui/views/controls/button/label_button.h
index 1358e05eefd5..5dad3a3e37fb 100644
index 1c8d5c27f928..90d7e7f004e4 100644
--- ui/views/controls/button/label_button.h
+++ ui/views/controls/button/label_button.h
@@ -117,6 +117,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
@@ -118,6 +118,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
ui::NativeTheme::State GetForegroundThemeState(
ui::NativeTheme::ExtraParams* params) const override;
@@ -146,7 +146,7 @@ index 1358e05eefd5..5dad3a3e37fb 100644
ImageView* image() const { return image_; }
Label* label() const { return label_; }
diff --git ui/views/controls/label.cc ui/views/controls/label.cc
index 1837167589a6..a4df42465b74 100644
index 21a8fa0fa8eb..55a2e57a2e6f 100644
--- ui/views/controls/label.cc
+++ ui/views/controls/label.cc
@@ -53,6 +53,20 @@ bool IsOpaque(SkColor color) {
@@ -170,7 +170,7 @@ index 1837167589a6..a4df42465b74 100644
} // namespace
namespace views {
@@ -310,6 +324,14 @@ base::string16 Label::GetTooltipText() const {
@@ -309,6 +323,14 @@ base::string16 Label::GetTooltipText() const {
return tooltip_text_;
}
@@ -185,7 +185,7 @@ index 1837167589a6..a4df42465b74 100644
void Label::SetTooltipText(const base::string16& tooltip_text) {
DCHECK(handles_tooltips_);
if (tooltip_text_ == tooltip_text)
@@ -575,7 +597,19 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
@@ -577,7 +599,19 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
render_text->SetFontList(font_list());
render_text->set_shadows(GetShadows());
render_text->SetCursorEnabled(false);
@@ -230,7 +230,7 @@ index aea6bb5b7b13..9ce9947174d4 100644
std::unique_ptr<SelectionController> selection_controller_;
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
index 276db1fb2017..dc873a80cd7a 100644
index bbb1cc387eb2..f1b64580a780 100644
--- ui/views/controls/menu/menu_controller.cc
+++ ui/views/controls/menu/menu_controller.cc
@@ -2643,8 +2643,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
@@ -300,10 +300,10 @@ index bdbd9c7e37b8..86138fd1d21c 100644
virtual int GetMaxWidthForMenu(MenuItemView* menu);
diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc
index 0fcca1e59688..73fcd369ecb8 100644
index e86941132ce8..035296ce4bc2 100644
--- ui/views/controls/menu/menu_item_view.cc
+++ ui/views/controls/menu/menu_item_view.cc
@@ -1067,6 +1067,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
@@ -1034,6 +1034,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);
@@ -319,7 +319,7 @@ index 0fcca1e59688..73fcd369ecb8 100644
} else if (render_selection) {
gfx::Rect item_bounds = GetLocalBounds();
if (type_ == ACTIONABLE_SUBMENU) {
@@ -1133,6 +1142,13 @@ void MenuItemView::PaintMinorIconAndText(
@@ -1101,6 +1110,13 @@ void MenuItemView::PaintMinorIconAndText(
}
SkColor MenuItemView::GetTextColor(bool minor, bool render_selection) const {
@@ -334,10 +334,10 @@ index 0fcca1e59688..73fcd369ecb8 100644
GetMenuController() && GetMenuController()->use_touchable_layout()
? style::CONTEXT_TOUCH_MENU
diff --git ui/views/controls/menu/menu_model_adapter.cc ui/views/controls/menu/menu_model_adapter.cc
index 09b72733e66d..4bcee9da5b8a 100644
index beac9986b2c6..f75e85ae6215 100644
--- ui/views/controls/menu/menu_model_adapter.cc
+++ ui/views/controls/menu/menu_model_adapter.cc
@@ -226,6 +226,77 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
@@ -229,6 +229,77 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
return false;
}
@@ -441,7 +441,7 @@ index 78f832fd3acf..cb030c991614 100644
void WillHideMenu(MenuItemView* menu) override;
void OnMenuClosed(MenuItemView* menu) override;
diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc
index 1b084be1b7b7..80568aa44580 100644
index 1a5af9db833f..60a61700a615 100644
--- ui/views/controls/menu/menu_scroll_view_container.cc
+++ ui/views/controls/menu/menu_scroll_view_container.cc
@@ -189,6 +189,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
@@ -472,7 +472,7 @@ index 6e69e4018a3b..f44fadcbb4c1 100644
// Move the cursor because EnterNotify/LeaveNotify are generated with the
// current mouse position as a result of XGrabPointer()
diff --git ui/views/view.h ui/views/view.h
index 918a39060710..21670bb50f9f 100644
index 4721462253e0..dd08911a0eaf 100644
--- ui/views/view.h
+++ ui/views/view.h
@@ -22,6 +22,7 @@

View File

@@ -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 50aad3c8d627..12be71c34f27 100644
index 394b9ec0b740..f93d0bd0d04d 100644
--- content/browser/renderer_host/render_widget_host_view_base.cc
+++ content/browser/renderer_host/render_widget_host_view_base.cc
@@ -581,6 +581,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() {
@@ -569,6 +569,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() {
return screen_info.device_scale_factor;
}
@@ -18,7 +18,7 @@ index 50aad3c8d627..12be71c34f27 100644
return renderer_frame_number_;
}
diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h
index add7df1a4432..25caac12acbe 100644
index 9763b72a6899..0ab68fa6fc26 100644
--- content/browser/renderer_host/render_widget_host_view_base.h
+++ content/browser/renderer_host/render_widget_host_view_base.h
@@ -72,6 +72,7 @@ class CursorManager;
@@ -39,7 +39,7 @@ index add7df1a4432..25caac12acbe 100644
// Returns the focused RenderWidgetHost inside this |view|'s RWH.
RenderWidgetHostImpl* GetFocusedWidget() const;
@@ -127,6 +131,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -126,6 +130,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
void DisableAutoResize(const gfx::Size& new_size) override;
bool IsScrollOffsetAtTop() override;
float GetDeviceScaleFactor() final;
@@ -48,7 +48,7 @@ index add7df1a4432..25caac12acbe 100644
TouchSelectionControllerClientManager*
GetTouchSelectionControllerClientManager() override;
void SetRecordTabSwitchTimeRequest(base::TimeTicks start_time,
@@ -482,6 +488,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -467,6 +473,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
// helps to position the full screen widget on the correct monitor.
virtual void InitAsFullscreen(RenderWidgetHostView* reference_host_view) = 0;
@@ -61,7 +61,7 @@ index add7df1a4432..25caac12acbe 100644
// Sets the cursor for this view to the one associated with the specified
// cursor_type.
virtual void UpdateCursor(const WebCursor& cursor) = 0;
@@ -646,6 +658,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -631,6 +643,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
bool is_currently_scrolling_viewport_ = false;
@@ -73,7 +73,7 @@ index add7df1a4432..25caac12acbe 100644
FRIEND_TEST_ALL_PREFIXES(
BrowserSideFlingBrowserTest,
diff --git content/browser/renderer_host/render_widget_host_view_event_handler.cc content/browser/renderer_host/render_widget_host_view_event_handler.cc
index 7f5763a4022b..f86a084e6ef3 100644
index 83dc6cf1cd68..58bb145a9d43 100644
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
@@ -33,6 +33,10 @@
@@ -87,7 +87,7 @@ index 7f5763a4022b..f86a084e6ef3 100644
#if defined(OS_WIN)
#include "content/browser/frame_host/render_frame_host_impl.h"
#include "content/public/common/context_menu_params.h"
@@ -910,6 +914,14 @@ void RenderWidgetHostViewEventHandler::SetKeyboardFocus() {
@@ -902,6 +906,14 @@ void RenderWidgetHostViewEventHandler::SetKeyboardFocus() {
::SetFocus(hwnd);
}
}
@@ -103,10 +103,10 @@ index 7f5763a4022b..f86a084e6ef3 100644
// TODO(wjmaclean): can host_ ever be null?
if (host_ && set_focus_on_mouse_down_or_key_event_) {
diff --git content/public/browser/render_widget_host_view.h content/public/browser/render_widget_host_view.h
index 78e055820447..9f8a6fd1cd65 100644
index a820a19905ed..d81119bee06c 100644
--- content/public/browser/render_widget_host_view.h
+++ content/public/browser/render_widget_host_view.h
@@ -249,6 +249,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
@@ -244,6 +244,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
// This must always return the same device scale factor as GetScreenInfo.
virtual float GetDeviceScaleFactor() = 0;
@@ -122,7 +122,7 @@ index 78e055820447..9f8a6fd1cd65 100644
// Set the view's active state (i.e., tint state of controls).
virtual void SetActive(bool active) = 0;
diff --git ui/base/x/x11_window.cc ui/base/x/x11_window.cc
index a98dc5678ad0..8302238f6ea6 100644
index f4aa608a3168..7a3eeab5396e 100644
--- ui/base/x/x11_window.cc
+++ ui/base/x/x11_window.cc
@@ -228,8 +228,12 @@ void XWindow::Init(const Configuration& config) {
@@ -140,7 +140,7 @@ index a98dc5678ad0..8302238f6ea6 100644
bounds_in_pixels_.height(),
0, // border width
diff --git ui/base/x/x11_window.h ui/base/x/x11_window.h
index 505db626f2ec..8ba8d7306714 100644
index 91a828ead9e0..226cb92fd19b 100644
--- ui/base/x/x11_window.h
+++ ui/base/x/x11_window.h
@@ -20,6 +20,7 @@
@@ -160,17 +160,17 @@ index 505db626f2ec..8ba8d7306714 100644
XWindow();
diff --git ui/platform_window/x11/x11_window.cc ui/platform_window/x11/x11_window.cc
index e5c489eb1512..87841b48c032 100644
index d6e17cde3baf..b91415a060b8 100644
--- ui/platform_window/x11/x11_window.cc
+++ ui/platform_window/x11/x11_window.cc
@@ -75,6 +75,7 @@ ui::XWindow::Configuration ConvertInitPropertiesToXWindowConfig(
@@ -84,6 +84,7 @@ ui::XWindow::Configuration ConvertInitPropertiesToXWindowConfig(
config.wm_role_name = properties.wm_role_name;
config.activatable = properties.activatable;
config.visual_id = properties.x_visual_id;
+ config.parent_widget = properties.parent_widget;
config.prefer_dark_theme = properties.prefer_dark_theme;
config.background_color = properties.background_color;
return config;
}
diff --git ui/views/widget/desktop_aura/desktop_screen_win.cc ui/views/widget/desktop_aura/desktop_screen_win.cc
index 70553b153c44..ecd99bc78373 100644
--- ui/views/widget/desktop_aura/desktop_screen_win.cc
@@ -185,20 +185,20 @@ index 70553b153c44..ecd99bc78373 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 4f888a102b03..08c111d1a386 100644
index 7705e7b41350..f67dc46e9414 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
@@ -335,6 +335,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
properties->wm_role_name = params.wm_role_name;
properties->x_visual_id = pending_x_visual_id_;
+
+ properties->parent_widget = params.parent_widget;
}
void DesktopWindowTreeHostLinux::OnCompleteSwapWithNewSize(
+ properties->parent_widget = params.parent_widget;
+
DCHECK(!properties->x11_extension_delegate);
properties->x11_extension_delegate = this;
}
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index 1860bd6f6a67..002887bcd5d5 100644
index b43ff29b2bcd..2fc8904ad6a1 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -129,8 +129,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
@@ -249,10 +249,10 @@ index b195b582fe58..f189bd083982 100644
// a reference.
corewm::TooltipWin* tooltip_;
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
index 3f3097b540d3..4d58aa52e5f0 100644
index 34c798b23679..fbb500168316 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
@@ -110,6 +110,9 @@ void DesktopWindowTreeHostX11::RemoveObserver(
@@ -93,6 +93,9 @@ void DesktopWindowTreeHostX11::RemoveObserver(
// DesktopWindowTreeHostX11, DesktopWindowTreeHost implementation:
void DesktopWindowTreeHostX11::Init(const Widget::InitParams& params) {
@@ -262,7 +262,7 @@ index 3f3097b540d3..4d58aa52e5f0 100644
DesktopWindowTreeHostLinux::Init(params);
// Set XEventDelegate to receive selection, drag&drop and raw key events.
@@ -175,6 +178,18 @@ void DesktopWindowTreeHostX11::OnXWindowUnmapped() {
@@ -158,6 +161,18 @@ void DesktopWindowTreeHostX11::OnXWindowUnmapped() {
observer.OnWindowUnmapped(GetXWindow()->window());
}
@@ -282,10 +282,10 @@ index 3f3097b540d3..4d58aa52e5f0 100644
DCHECK(xev);
DCHECK(drag_drop_client_);
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
index 4f4263c74437..620a3cdbda10 100644
index 9db2bb988a78..dbff809f1198 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
@@ -47,6 +47,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
@@ -36,6 +36,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
void AddObserver(DesktopWindowTreeHostObserverX11* observer);
void RemoveObserver(DesktopWindowTreeHostObserverX11* observer);
@@ -298,8 +298,8 @@ index 4f4263c74437..620a3cdbda10 100644
protected:
// Overridden from DesktopWindowTreeHost:
void Init(const Widget::InitParams& params) override;
@@ -69,6 +75,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
// from here as we progress in https://crbug.com/990756.
@@ -58,6 +64,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
// these will be removed from here as we progress in https://crbug.com/990756.
void OnXWindowMapped() override;
void OnXWindowUnmapped() override;
+ gfx::Rect GetWindowBoundsInScreen() const override;
@@ -307,7 +307,7 @@ index 4f4263c74437..620a3cdbda10 100644
// Overridden from ui::XEventDelegate.
void OnXWindowSelectionEvent(XEvent* xev) override;
@@ -81,6 +89,13 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
@@ -69,6 +77,13 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
// directly. See https://crbug.com/990756.
const ui::XWindow* GetXWindow() const;
@@ -321,18 +321,18 @@ index 4f4263c74437..620a3cdbda10 100644
DesktopDragDropClientAuraX11* drag_drop_client_ = nullptr;
std::unique_ptr<X11DesktopWindowMoveClient> x11_window_move_client_;
@@ -88,6 +103,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
@@ -76,6 +91,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
base::ObserverList<DesktopWindowTreeHostObserverX11>::Unchecked
observer_list_;
+ // True if the xwindow has already been destroyed.
+ bool xwindow_destroyed_ = false;
+
// The display and the native X window hosting the root window.
base::WeakPtrFactory<DesktopWindowTreeHostX11> weak_factory_{this};
DISALLOW_COPY_AND_ASSIGN(DesktopWindowTreeHostX11);
};
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
index e9204b202508..d79d48f1834e 100644
index af72459e1589..16c499dee6fb 100644
--- ui/views/widget/widget.cc
+++ ui/views/widget/widget.cc
@@ -304,7 +304,8 @@ void Widget::Init(InitParams params) {
@@ -343,7 +343,7 @@ index e9204b202508..d79d48f1834e 100644
+ is_top_level_ = !params.child ||
+ params.parent_widget != gfx::kNullAcceleratedWidget;
if (params.opacity == views::Widget::InitParams::INFER_OPACITY &&
if (params.opacity == views::Widget::InitParams::WindowOpacity::kInferred &&
params.type != views::Widget::InitParams::TYPE_WINDOW) {
@@ -387,7 +388,12 @@ void Widget::Init(InitParams params) {
}
@@ -359,7 +359,7 @@ index e9204b202508..d79d48f1834e 100644
}
// TODO(https://crbug.com/953978): Use GetNativeTheme() for all platforms.
#if defined(OS_MACOSX) || defined(OS_WIN)
@@ -1177,10 +1183,16 @@ void Widget::OnNativeWidgetDestroyed() {
@@ -1179,10 +1185,16 @@ void Widget::OnNativeWidgetDestroyed() {
}
gfx::Size Widget::GetMinimumSize() const {
@@ -377,10 +377,10 @@ index e9204b202508..d79d48f1834e 100644
}
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
index 014cac16b0a8..53e5cc3242a6 100644
index 88cb98ff9142..aa4a82a43c1c 100644
--- ui/views/widget/widget.h
+++ ui/views/widget/widget.h
@@ -284,6 +284,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -283,6 +283,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
gfx::NativeView parent = nullptr;
@@ -390,10 +390,10 @@ index 014cac16b0a8..53e5cc3242a6 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 3388f25d16bd..5484e03183d0 100644
index 82ad1562232e..6f87dbd07fda 100644
--- ui/views/widget/widget_delegate.h
+++ ui/views/widget/widget_delegate.h
@@ -194,6 +194,10 @@ class VIEWS_EXPORT WidgetDelegate {
@@ -197,6 +197,10 @@ class VIEWS_EXPORT WidgetDelegate {
// be cycled through with keyboard focus.
virtual void GetAccessiblePanes(std::vector<View*>* panes) {}
@@ -405,7 +405,7 @@ index 3388f25d16bd..5484e03183d0 100644
virtual ~WidgetDelegate();
diff --git ui/views/widget/widget_hwnd_utils.cc ui/views/widget/widget_hwnd_utils.cc
index e26193bb021a..7eb823b92d7d 100644
index 40e66a212e3e..08ee8523ab15 100644
--- ui/views/widget/widget_hwnd_utils.cc
+++ ui/views/widget/widget_hwnd_utils.cc
@@ -67,7 +67,7 @@ void CalculateWindowStylesFromInitParams(
@@ -418,10 +418,10 @@ index e26193bb021a..7eb823b92d7d 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 a4649b867642..79b9873ef5b6 100644
index 6412ff796794..f66aff5a8766 100644
--- ui/views/win/hwnd_message_handler.cc
+++ ui/views/win/hwnd_message_handler.cc
@@ -3053,10 +3053,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -3007,10 +3007,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
} else if (event.type() == ui::ET_MOUSEWHEEL) {
ui::MouseWheelEvent mouse_wheel_event(msg);
// Reroute the mouse wheel to the window under the pointer if applicable.

View File

@@ -1,8 +1,8 @@
diff --git components/viz/host/host_display_client.cc components/viz/host/host_display_client.cc
index 0108c8926630..dc2aff882c72 100644
index 3547ee865c22..2215296ffadc 100644
--- components/viz/host/host_display_client.cc
+++ components/viz/host/host_display_client.cc
@@ -46,9 +46,14 @@ void HostDisplayClient::OnDisplayReceivedCALayerParams(
@@ -43,9 +43,14 @@ void HostDisplayClient::OnDisplayReceivedCALayerParams(
}
#endif
@@ -18,7 +18,7 @@ index 0108c8926630..dc2aff882c72 100644
if (!NeedsToUseLayerWindow(widget_)) {
DLOG(ERROR) << "HWND shouldn't be using a layered window";
return;
@@ -56,8 +61,8 @@ void HostDisplayClient::CreateLayeredWindowUpdater(
@@ -53,8 +58,8 @@ void HostDisplayClient::CreateLayeredWindowUpdater(
layered_window_updater_ =
std::make_unique<LayeredWindowUpdaterImpl>(widget_, std::move(receiver));
@@ -29,11 +29,11 @@ index 0108c8926630..dc2aff882c72 100644
#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {
diff --git components/viz/host/host_display_client.h components/viz/host/host_display_client.h
index af01fab0ac13..b1ed612ddb0f 100644
index cedf833d2358..04456e045304 100644
--- components/viz/host/host_display_client.h
+++ components/viz/host/host_display_client.h
@@ -30,17 +30,17 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom::DisplayClient {
mojom::DisplayClientPtr GetBoundPtr(
@@ -31,17 +31,17 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom::DisplayClient {
mojo::PendingRemote<mojom::DisplayClient> GetBoundRemote(
scoped_refptr<base::SingleThreadTaskRunner> task_runner);
- private:
@@ -80,10 +80,10 @@ index 1026b739d283..fe562ab60ce9 100644
private:
const HWND hwnd_;
diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn
index be420915d729..4bb7456d0279 100644
index ca67f58b73cc..025e022a472c 100644
--- components/viz/service/BUILD.gn
+++ components/viz/service/BUILD.gn
@@ -13,6 +13,8 @@ config("viz_service_implementation") {
@@ -14,6 +14,8 @@ config("viz_service_implementation") {
viz_component("service") {
sources = [
@@ -93,7 +93,7 @@ index be420915d729..4bb7456d0279 100644
"display/bsp_tree.h",
"display/bsp_walk_action.cc",
diff --git components/viz/service/display_embedder/output_surface_provider_impl.cc components/viz/service/display_embedder/output_surface_provider_impl.cc
index e17b24a8b87b..b408b6a262a5 100644
index 6f2eac863d1b..243c5acae3bf 100644
--- components/viz/service/display_embedder/output_surface_provider_impl.cc
+++ components/viz/service/display_embedder/output_surface_provider_impl.cc
@@ -12,6 +12,7 @@
@@ -104,7 +104,7 @@ index e17b24a8b87b..b408b6a262a5 100644
#include "components/viz/common/display/renderer_settings.h"
#include "components/viz/common/frame_sinks/begin_frame_source.h"
#include "components/viz/service/display_embedder/gl_output_surface.h"
@@ -223,6 +224,20 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
@@ -227,6 +228,20 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
if (headless_)
return std::make_unique<SoftwareOutputDevice>();
@@ -163,10 +163,10 @@ index ac94eab98fd0..b89d52a0c869 100644
#if ENABLE_SYNC_CALL_RESTRICTIONS
diff --git services/viz/privileged/mojom/compositing/display_private.mojom services/viz/privileged/mojom/compositing/display_private.mojom
index 1e456c111b83..d345914271f9 100644
index be56099d186f..3ec6f600f6e2 100644
--- services/viz/privileged/mojom/compositing/display_private.mojom
+++ services/viz/privileged/mojom/compositing/display_private.mojom
@@ -79,12 +79,14 @@ interface DisplayPrivate {
@@ -76,12 +76,14 @@ interface DisplayPrivate {
};
interface DisplayClient {
@@ -194,7 +194,7 @@ index 6b7fbb6cf13d..e2af75168cb9 100644
+ Draw(gfx.mojom.Rect damage_rect) => ();
};
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
index 17b9c783da91..5fbd9766a348 100644
index 5410ee7a65ab..e5bf8c301c1c 100644
--- ui/compositor/compositor.h
+++ ui/compositor/compositor.h
@@ -23,7 +23,9 @@
@@ -204,10 +204,10 @@ index 17b9c783da91..5fbd9766a348 100644
+#include "components/viz/host/host_display_client.h"
#include "components/viz/host/host_frame_sink_client.h"
+#include "components/viz/service/display/software_output_device.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/viz/privileged/mojom/compositing/vsync_parameter_observer.mojom-forward.h"
#include "third_party/skia/include/core/SkColor.h"
#include "third_party/skia/include/core/SkMatrix44.h"
@@ -196,6 +198,14 @@ class COMPOSITOR_EXPORT ContextFactory {
@@ -197,6 +199,14 @@ class COMPOSITOR_EXPORT ContextFactory {
virtual bool SyncTokensRequiredForDisplayCompositor() = 0;
};
@@ -222,7 +222,7 @@ index 17b9c783da91..5fbd9766a348 100644
// Compositor object to take care of GPU painting.
// A Browser compositor object is responsible for generating the final
// displayable form of pixels comprising a single widget's contents. It draws an
@@ -235,6 +245,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -236,6 +246,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
// Schedules a redraw of the layer tree associated with this compositor.
void ScheduleDraw();
@@ -232,7 +232,7 @@ index 17b9c783da91..5fbd9766a348 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
@@ -454,6 +467,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -459,6 +472,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
ui::ContextFactory* context_factory_;
ui::ContextFactoryPrivate* context_factory_private_;
@@ -242,13 +242,13 @@ index 17b9c783da91..5fbd9766a348 100644
Layer* root_layer_ = nullptr;
diff --git ui/compositor/host/host_context_factory_private.cc ui/compositor/host/host_context_factory_private.cc
index ce20a9bbd8f4..4cedc41cbe22 100644
index d8c278b99d09..d6f9bd858627 100644
--- ui/compositor/host/host_context_factory_private.cc
+++ ui/compositor/host/host_context_factory_private.cc
@@ -113,8 +113,13 @@ void HostContextFactoryPrivate::ConfigureCompositor(
.InitWithNewPipeAndPassReceiver();
compositor_data.display_private.reset();
root_params->display_private =
mojo::MakeRequest(&compositor_data.display_private);
compositor_data.display_private.BindNewEndpointAndPassReceiver();
- compositor_data.display_client =
- std::make_unique<HostDisplayClient>(compositor);
+ if (compositor->delegate()) {
@@ -259,5 +259,5 @@ index ce20a9bbd8f4..4cedc41cbe22 100644
+ std::make_unique<HostDisplayClient>(compositor);
+ }
root_params->display_client =
compositor_data.display_client->GetBoundPtr(resize_task_runner_)
.PassInterface();
compositor_data.display_client->GetBoundRemote(resize_task_runner_);

View File

@@ -1,8 +1,8 @@
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
index 812cfe34f691..308fde5e82d6 100644
index 6f2ee557fb41..7a9bf5c4c642 100644
--- content/browser/web_contents/web_contents_impl.cc
+++ content/browser/web_contents/web_contents_impl.cc
@@ -2156,21 +2156,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -2045,16 +2045,24 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
std::string unique_name;
frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
@@ -19,10 +19,6 @@ index 812cfe34f691..308fde5e82d6 100644
- } else {
- view_.reset(CreateWebContentsView(this, delegate,
- &render_view_host_delegate_view_));
- if (browser_plugin_guest_) {
- view_ = std::make_unique<WebContentsViewGuest>(
- this, browser_plugin_guest_.get(), std::move(view_),
- &render_view_host_delegate_view_);
+ if (!view_) {
+ WebContentsViewDelegate* delegate =
+ GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -33,19 +29,13 @@ index 812cfe34f691..308fde5e82d6 100644
+ } else {
+ view_.reset(CreateWebContentsView(this, delegate,
+ &render_view_host_delegate_view_));
}
+ }
}
+
+ if (browser_plugin_guest_ && !GuestMode::IsCrossProcessFrameGuest(this)) {
+ view_.reset(new WebContentsViewGuest(this, browser_plugin_guest_.get(),
+ std::move(view_),
+ &render_view_host_delegate_view_));
+ }
+
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -2871,6 +2880,15 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow(
@@ -2849,6 +2857,15 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow(
// objects.
create_params.renderer_initiated_creation = !is_new_browsing_instance;
@@ -61,24 +51,16 @@ index 812cfe34f691..308fde5e82d6 100644
// If |is_new_browsing_instance| is true, defer routing_id allocation
// to the WebContentsImpl::Create() call. This is required because with
// a new browsing instance, WebContentsImpl::Create() may elect a different
@@ -2916,7 +2934,7 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow(
// TODO(brettw): It seems bogus that we have to call this function on the
// newly created object and give it one of its own member variables.
RenderWidgetHostView* widget_view = new_view->CreateViewForWidget(
- new_contents_impl->GetRenderViewHost()->GetWidget(), false);
+ new_contents_impl->GetRenderViewHost()->GetWidget(), nullptr);
if (!renderer_started_hidden) {
// RenderWidgets for frames always initialize as hidden. If the renderer
// created this window as visible, then we show it here.
@@ -6599,7 +6617,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager(
RenderViewHost* render_view_host) {
RenderWidgetHostViewBase* rwh_view =
- view_->CreateViewForWidget(render_view_host->GetWidget(), false);
+ view_->CreateViewForWidget(render_view_host->GetWidget(), nullptr);
rwh_view->SetSize(GetSizeForNewRenderView(true));
@@ -6279,6 +6296,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
// doesn't support properly traversing BrowserPlugins.
SetAsFocusedWebContentsIfNecessary();
}
+
+ for (auto& observer : observers_)
+ observer.OnFrameFocused(node->current_frame_host());
}
void WebContentsImpl::DidCallFocus() {
diff --git content/public/browser/web_contents.cc content/public/browser/web_contents.cc
index 2e133afb8da8..e9a88a6bb96b 100644
--- content/public/browser/web_contents.cc
@@ -93,7 +75,7 @@ index 2e133afb8da8..e9a88a6bb96b 100644
WebContents::CreateParams::CreateParams(const CreateParams& other) = default;
diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h
index 075dd2545430..53b4cfb790c8 100644
index ecee31b744ed..72d79c0a7180 100644
--- content/public/browser/web_contents.h
+++ content/public/browser/web_contents.h
@@ -79,9 +79,11 @@ class BrowserPluginGuestDelegate;
@@ -120,7 +102,7 @@ index 075dd2545430..53b4cfb790c8 100644
// the value that'll be returned by GetLastActiveTime(). If this is left
// default initialized then the value is not passed on to the WebContents
diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h
index dedaf25af5ba..4133b980bebb 100644
index 2a073551cd8a..b049ef115f0d 100644
--- content/public/browser/web_contents_delegate.h
+++ content/public/browser/web_contents_delegate.h
@@ -57,10 +57,12 @@ class ColorChooser;
@@ -136,7 +118,7 @@ index dedaf25af5ba..4133b980bebb 100644
struct ContextMenuParams;
struct DropData;
struct NativeWebKeyboardEvent;
@@ -327,6 +329,14 @@ class CONTENT_EXPORT WebContentsDelegate {
@@ -321,6 +323,14 @@ class CONTENT_EXPORT WebContentsDelegate {
const std::string& partition_id,
SessionStorageNamespace* session_storage_namespace);
@@ -151,3 +133,18 @@ index dedaf25af5ba..4133b980bebb 100644
// Notifies the delegate about the creation of a new WebContents. This
// typically happens when popups are created.
virtual void WebContentsCreated(WebContents* source_contents,
diff --git content/public/browser/web_contents_observer.h content/public/browser/web_contents_observer.h
index b3c757d5d537..e2600917093e 100644
--- content/public/browser/web_contents_observer.h
+++ content/public/browser/web_contents_observer.h
@@ -571,6 +571,10 @@ class CONTENT_EXPORT WebContentsObserver : public IPC::Listener {
// WebContents has gained/lost focus.
virtual void OnFocusChangedInPage(FocusedNodeDetails* details) {}
+ // Notification that |render_frame_host| for this WebContents has gained
+ // focus.
+ virtual void OnFrameFocused(RenderFrameHost* render_frame_host) {}
+
// Notifies that the manifest URL for the main frame changed to
// |manifest_url|. This will be invoked when a document with a manifest loads
// or when the manifest URL changes (possibly to nothing). It is not invoked

View File

@@ -10,10 +10,10 @@ index ff7a8ed89e94..77f44956ff22 100644
+ GetPlugins(bool refresh, bool is_main_frame, url.mojom.Origin main_frame_origin) => (array<PluginInfo> plugins);
};
diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h
index e88219cb6640..05ae796f0c61 100644
index 915af795cbf3..8a42dc493faf 100644
--- third_party/blink/public/platform/platform.h
+++ third_party/blink/public/platform/platform.h
@@ -722,6 +722,11 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -679,6 +679,11 @@ class BLINK_PLATFORM_EXPORT Platform {
// runs during Chromium's build step).
virtual bool IsTakingV8ContextSnapshot() { return false; }
@@ -26,10 +26,10 @@ index e88219cb6640..05ae796f0c61 100644
static void InitializeCommon(Platform* platform,
std::unique_ptr<Thread> main_thread);
diff --git third_party/blink/renderer/core/dom/dom_implementation.cc third_party/blink/renderer/core/dom/dom_implementation.cc
index 80a9ec9bc75b..13cbb056cdfa 100644
index 55f1adf5e98a..cee99c67226f 100644
--- third_party/blink/renderer/core/dom/dom_implementation.cc
+++ third_party/blink/renderer/core/dom/dom_implementation.cc
@@ -244,10 +244,11 @@ Document* DOMImplementation::createDocument(const String& type,
@@ -228,10 +228,11 @@ Document* DOMImplementation::createDocument(const String& type,
if (init.GetFrame()->IsMainFrame()) {
scoped_refptr<const SecurityOrigin> origin =
SecurityOrigin::Create(init.Url());
@@ -44,10 +44,10 @@ index 80a9ec9bc75b..13cbb056cdfa 100644
.Top()
.GetSecurityContext()
diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc
index 04ff984896d9..d78549ad7a10 100644
index 0aa1376a9483..f94c0e7edf7a 100644
--- third_party/blink/renderer/core/frame/local_frame.cc
+++ third_party/blink/renderer/core/frame/local_frame.cc
@@ -1173,7 +1173,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -1179,7 +1179,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
PluginData* LocalFrame::GetPluginData() const {
if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin))
return nullptr;
@@ -57,18 +57,18 @@ index 04ff984896d9..d78549ad7a10 100644
}
diff --git third_party/blink/renderer/core/inspector/devtools_session.cc third_party/blink/renderer/core/inspector/devtools_session.cc
index 8cf28b8645e3..080d23815225 100644
index 176aad037ad5..4a16ecd2b67c 100644
--- third_party/blink/renderer/core/inspector/devtools_session.cc
+++ third_party/blink/renderer/core/inspector/devtools_session.cc
@@ -9,6 +9,7 @@
@@ -8,6 +8,7 @@
#include <utility>
#include <vector>
#include "base/containers/span.h"
+#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/bindings/core/v8/script_controller.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/inspector/devtools_agent.h"
@@ -176,6 +177,7 @@ DevToolsSession::DevToolsSession(
@@ -148,6 +149,7 @@ DevToolsSession::DevToolsSession(
for (wtf_size_t i = 0; i < agents_.size(); i++)
agents_[i]->Restore();
}
@@ -76,7 +76,7 @@ index 8cf28b8645e3..080d23815225 100644
}
DevToolsSession::~DevToolsSession() {
@@ -216,6 +218,7 @@ void DevToolsSession::Detach() {
@@ -188,6 +190,7 @@ void DevToolsSession::Detach() {
agents_.clear();
v8_session_.reset();
agent_->client_->DebuggerTaskFinished();
@@ -85,10 +85,10 @@ index 8cf28b8645e3..080d23815225 100644
void DevToolsSession::FlushProtocolNotifications() {
diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc
index c5a1faaedad1..571de019852f 100644
index 90c4ea4fe9ca..4a335f5bfb79 100644
--- third_party/blink/renderer/core/page/page.cc
+++ third_party/blink/renderer/core/page/page.cc
@@ -192,7 +192,8 @@ Page::Page(PageClients& page_clients)
@@ -194,7 +194,8 @@ Page::Page(PageClients& page_clients)
MakeGarbageCollected<OverscrollController>(GetVisualViewport(),
GetChromeClient())),
link_highlight_(MakeGarbageCollected<LinkHighlight>(*this)),
@@ -98,7 +98,7 @@ index c5a1faaedad1..571de019852f 100644
// TODO(pdr): Initialize |validation_message_client_| lazily.
validation_message_client_(
MakeGarbageCollected<ValidationMessageClientImpl>(*this)),
@@ -355,21 +356,40 @@ void Page::InitialStyleChanged() {
@@ -368,21 +369,41 @@ void Page::InitialStyleChanged() {
}
}
@@ -112,10 +112,12 @@ index c5a1faaedad1..571de019852f 100644
+ plugin_data_main_frame_ = MakeGarbageCollected<PluginData>();
- if (!plugin_data_->Origin() ||
- !main_frame_origin->IsSameSchemeHostPort(plugin_data_->Origin()))
- !main_frame_origin->IsSameOriginWith(plugin_data_->Origin()))
- plugin_data_->UpdatePluginList(main_frame_origin);
- return plugin_data_.Get();
+ if (!plugin_data_main_frame_->Origin() ||
+ !main_frame_origin->IsSameSchemeHostPort(
+ !main_frame_origin->IsSameOriginWith(
+ plugin_data_main_frame_->Origin())) {
+ plugin_data_main_frame_->UpdatePluginList(true, main_frame_origin);
+ }
@@ -124,10 +126,9 @@ index c5a1faaedad1..571de019852f 100644
+ } else {
+ if (!plugin_data_sub_frame_)
+ plugin_data_sub_frame_ = MakeGarbageCollected<PluginData>();
- return plugin_data_.Get();
+
+ if (!plugin_data_sub_frame_->Origin() ||
+ !main_frame_origin->IsSameSchemeHostPort(
+ !main_frame_origin->IsSameOriginWith(
+ plugin_data_sub_frame_->Origin())) {
+ plugin_data_sub_frame_->UpdatePluginList(false, main_frame_origin);
+ }
@@ -148,7 +149,7 @@ index c5a1faaedad1..571de019852f 100644
page->NotifyPluginsChanged();
}
}
@@ -835,7 +855,8 @@ void Page::Trace(blink::Visitor* visitor) {
@@ -859,7 +880,8 @@ void Page::Trace(blink::Visitor* visitor) {
visitor->Trace(link_highlight_);
visitor->Trace(spatial_navigation_controller_);
visitor->Trace(main_frame_);
@@ -159,10 +160,10 @@ index c5a1faaedad1..571de019852f 100644
visitor->Trace(agent_metrics_collector_);
visitor->Trace(plugins_changed_observers_);
diff --git third_party/blink/renderer/core/page/page.h third_party/blink/renderer/core/page/page.h
index e4a4c36701f8..ddbce3d9bc53 100644
index e968b10542e7..3f7e151f2f6f 100644
--- third_party/blink/renderer/core/page/page.h
+++ third_party/blink/renderer/core/page/page.h
@@ -142,7 +142,8 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
@@ -145,7 +145,8 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
ViewportDescription GetViewportDescription() const;
// Returns the plugin data associated with |main_frame_origin|.
@@ -172,7 +173,7 @@ index e4a4c36701f8..ddbce3d9bc53 100644
// Resets the plugin data for all pages in the renderer process and notifies
// PluginsChangedObservers.
@@ -383,7 +384,8 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
@@ -394,7 +395,8 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
const Member<LinkHighlight> link_highlight_;
Member<SpatialNavigationController> spatial_navigation_controller_;

View File

@@ -1,8 +1,8 @@
diff --git third_party/blink/renderer/core/input/pointer_event_manager.cc third_party/blink/renderer/core/input/pointer_event_manager.cc
index 6baf318132e5..e53333d7c407 100644
index c6c044bd7c43..b4e64c381bb7 100644
--- third_party/blink/renderer/core/input/pointer_event_manager.cc
+++ third_party/blink/renderer/core/input/pointer_event_manager.cc
@@ -312,7 +312,7 @@ void PointerEventManager::HandlePointerInterruption(
@@ -310,7 +310,7 @@ void PointerEventManager::HandlePointerInterruption(
for (auto pointer_event : canceled_pointer_events) {
// If we are sending a pointercancel we have sent the pointerevent to some
// target before.

View File

@@ -1,8 +1,8 @@
diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h
index bd279e31c8bb..b0c12e6abf04 100644
index 53d6d4ebd22a..83e835f1ef80 100644
--- third_party/blink/public/web/web_view.h
+++ third_party/blink/public/web/web_view.h
@@ -362,6 +362,7 @@ class WebView {
@@ -364,6 +364,7 @@ class WebView {
// Sets whether select popup menus should be rendered by the browser.
BLINK_EXPORT static void SetUseExternalPopupMenus(bool);
@@ -11,10 +11,10 @@ index bd279e31c8bb..b0c12e6abf04 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 16a8951a293c..22e858c80b21 100644
index 2e2b95750635..854cdfea4c52 100644
--- third_party/blink/renderer/core/exported/web_view_impl.cc
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -218,8 +218,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
@@ -216,8 +216,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
g_should_use_external_popup_menus = use_external_popup_menus;
}
@@ -30,7 +30,7 @@ index 16a8951a293c..22e858c80b21 100644
}
namespace {
@@ -277,6 +282,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client,
@@ -275,6 +280,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client,
chrome_client_(MakeGarbageCollected<ChromeClientImpl>(this)),
minimum_zoom_level_(PageZoomFactorToZoomLevel(kMinimumPageZoomFactor)),
maximum_zoom_level_(PageZoomFactorToZoomLevel(kMaximumPageZoomFactor)),
@@ -39,10 +39,10 @@ index 16a8951a293c..22e858c80b21 100644
fullscreen_controller_(std::make_unique<FullscreenController>(this)) {
if (!AsView().client) {
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
index e3f37ec7c3d3..4cf94b0b6d80 100644
index 7161adf93687..97ea083e3c1f 100644
--- third_party/blink/renderer/core/exported/web_view_impl.h
+++ third_party/blink/renderer/core/exported/web_view_impl.h
@@ -116,7 +116,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -114,7 +114,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
static HashSet<WebViewImpl*>& AllInstances();
// Returns true if popup menus should be rendered by the browser, false if
// they should be rendered by WebKit (which is the default).
@@ -52,7 +52,7 @@ index e3f37ec7c3d3..4cf94b0b6d80 100644
// Returns whether frames under this WebView are backed by a compositor.
bool does_composite() const { return does_composite_; }
@@ -617,6 +618,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -612,6 +613,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 e3f37ec7c3d3..4cf94b0b6d80 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 ce971d889321..09af3385174f 100644
index 67e9cb90c33b..7beb3f7dc1d4 100644
--- third_party/blink/renderer/core/page/chrome_client_impl.cc
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc
@@ -868,7 +868,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
@@ -837,7 +837,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame,
HTMLSelectElement& select) {
NotifyPopupOpeningObservers();

View File

@@ -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 2d4001283821..2daa4dfae045 100644
index 7af74b204cfe..1d7f83ee6346 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
@@ -27,6 +27,7 @@
@@ -10,7 +10,7 @@ index 2d4001283821..2daa4dfae045 100644
#include "components/prefs/pref_service.h"
#include "components/sync/driver/about_sync_util.h"
#include "components/sync/driver/sync_service.h"
@@ -318,6 +319,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
@@ -320,6 +321,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
}
void ChromeInternalLogSource::PopulateSyncLogs(SystemLogsResponse* response) {
@@ -21,7 +21,7 @@ index 2d4001283821..2daa4dfae045 100644
// We are only interested in sync logs for the primary user profile.
Profile* profile = ProfileManager::GetPrimaryUserProfile();
if (!profile || !ProfileSyncServiceFactory::HasSyncService(profile))
@@ -360,6 +365,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
@@ -362,6 +367,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
if (!profile)
return;
@@ -34,7 +34,7 @@ index 2d4001283821..2daa4dfae045 100644
extensions::ExtensionRegistry* extension_registry =
extensions::ExtensionRegistry::Get(profile);
std::string extensions_list;
@@ -438,6 +449,8 @@ void ChromeInternalLogSource::PopulateLocalStateSettings(
@@ -440,6 +451,8 @@ void ChromeInternalLogSource::PopulateLocalStateSettings(
#if defined(OS_WIN)
void ChromeInternalLogSource::PopulateUsbKeyboardDetected(
SystemLogsResponse* response) {

View File

@@ -1,8 +1,8 @@
diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd
index fbbadfa2ff7a..c62913a5cf07 100644
index e23ad6003e9f..6fdcf0097ef2 100644
--- chrome/app/generated_resources.grd
+++ chrome/app/generated_resources.grd
@@ -4775,7 +4775,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
@@ -4835,7 +4835,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
</message>
</if>
<message name="IDS_PLUGIN_BLOCKED_BY_POLICY" desc="The placeholder text for a plugin blocked by enterprise policy.">

View File

@@ -1,8 +1,8 @@
diff --git services/service_manager/sandbox/win/sandbox_win.cc services/service_manager/sandbox/win/sandbox_win.cc
index 7fca3e218b4e..fc1b03056caa 100644
index 0d4e7f5d5c29..9f27c2b06c4e 100644
--- services/service_manager/sandbox/win/sandbox_win.cc
+++ services/service_manager/sandbox/win/sandbox_win.cc
@@ -929,8 +929,11 @@ sandbox::ResultCode SandboxWin::StartSandboxedProcess(
@@ -918,8 +918,11 @@ sandbox::ResultCode SandboxWin::StartSandboxedProcess(
}
// TODO(wfh): Relax strict handle checks for network process until root cause
// for this crash can be resolved. See https://crbug.com/939590.