Update to Chromium version 68.0.3425.0 (#557062)

Known issues:
- Surface synchronization is now enabled for OSR, see issue #2447.
- Jumbo build is broken, fixed in https://crrev.com/868717ce.
This commit is contained in:
Marshall Greenblatt
2018-05-20 16:51:42 +03:00
parent a9f0fa9dfe
commit cd27cbc802
63 changed files with 472 additions and 404 deletions

View File

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

View File

@ -27,29 +27,31 @@
# Files in the chromium/src directory that should be evaluated for changes.
# Similar changes may need to be applied to the CEF source code.
'files': [
'chrome/browser/extensions/api/tabs/tabs_api.*',
'chrome/browser/extensions/chrome_component_extension_resource_manager.*',
'chrome/browser/extensions/chrome_extension_web_contents_observer.*',
'chrome/browser/extensions/component_loader.*',
'chrome/browser/extensions/extension_service.*',
'chrome/browser/printing/print_view_manager*',
'chrome/browser/printing/printing_message_filter*',
'chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.*',
'chrome/common/extensions/api/*_features.json',
'chrome/renderer/chrome_content_renderer_client.*',
'chrome/renderer/extensions/chrome_extensions_renderer_client.*',
'content/public/browser/render_widget_host_view.h',
'content/public/browser/storage_partition.h',
'content/shell/BUILD.gn',
'content/shell/app/*',
'content/shell/browser/shell_*',
'content/shell/browser/renderer_host/shell_*',
'content/shell/common/shell_*',
'content/shell/gpu/shell_*',
'content/shell/renderer/shell_*',
'content/shell/utility/shell_*',
'extensions/shell/*',
'net/cookies/cookie_store.h',
'chrome/browser/browser_process.h',
'chrome/browser/extensions/api/tabs/tabs_api.*',
'chrome/browser/extensions/chrome_component_extension_resource_manager.*',
'chrome/browser/extensions/chrome_extension_web_contents_observer.*',
'chrome/browser/extensions/component_loader.*',
'chrome/browser/extensions/extension_service.*',
'chrome/browser/printing/print_view_manager*',
'chrome/browser/printing/printing_message_filter*',
'chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.*',
'chrome/common/extensions/api/*_features.json',
'chrome/renderer/chrome_content_renderer_client.*',
'chrome/renderer/extensions/chrome_extensions_renderer_client.*',
'content/public/browser/render_widget_host_view.h',
'content/public/browser/storage_partition.h',
'content/public/browser/web_contents_delegate.h',
'content/shell/BUILD.gn',
'content/shell/app/*',
'content/shell/browser/shell_*',
'content/shell/browser/renderer_host/shell_*',
'content/shell/common/shell_*',
'content/shell/gpu/shell_*',
'content/shell/renderer/shell_*',
'content/shell/utility/shell_*',
'extensions/shell/*',
'net/cookies/cookie_store.h',
],
# Patterns that should not be found in the chromium/src directory after
# applying patch files.

View File

@ -1903,7 +1903,8 @@ bool CefBrowserHostImpl::EmbedsFullscreenWidget() const {
void CefBrowserHostImpl::EnterFullscreenModeForTab(
content::WebContents* web_contents,
const GURL& origin) {
const GURL& origin,
const blink::WebFullscreenOptions& options) {
OnFullscreenModeChange(true);
}

View File

@ -452,8 +452,10 @@ class CefBrowserHostImpl : public CefBrowserHost,
void RunFileChooser(content::RenderFrameHost* render_frame_host,
const content::FileChooserParams& params) override;
bool EmbedsFullscreenWidget() const override;
void EnterFullscreenModeForTab(content::WebContents* web_contents,
const GURL& origin) override;
void EnterFullscreenModeForTab(
content::WebContents* web_contents,
const GURL& origin,
const blink::WebFullscreenOptions& options) override;
void ExitFullscreenModeForTab(content::WebContents* web_contents) override;
bool IsFullscreenForTabOrPending(
const content::WebContents* web_contents) const override;

View File

@ -30,10 +30,10 @@
#include "chrome/browser/chrome_browser_main_extra_parts.h"
#include "chrome/browser/plugins/plugin_finder.h"
#include "content/public/browser/gpu_data_manager.h"
#include "content/public/common/result_codes.h"
#include "extensions/browser/extension_system.h"
#include "extensions/common/constants.h"
#include "net/base/net_module.h"
#include "services/service_manager/embedder/result_codes.h"
#include "ui/base/resource/resource_bundle.h"
#if defined(USE_AURA)
@ -80,7 +80,7 @@ int CefBrowserMainParts::PreEarlyInitialization() {
for (size_t i = 0; i < chrome_extra_parts_.size(); ++i)
chrome_extra_parts_[i]->PreEarlyInitialization();
return service_manager::RESULT_CODE_NORMAL_EXIT;
return content::RESULT_CODE_NORMAL_EXIT;
}
void CefBrowserMainParts::PostEarlyInitialization() {

View File

@ -346,12 +346,6 @@ resource_coordinator::TabManager* ChromeBrowserProcessStub::GetTabManager() {
return NULL;
}
physical_web::PhysicalWebDataSource*
ChromeBrowserProcessStub::GetPhysicalWebDataSource() {
NOTREACHED();
return NULL;
}
prefs::InProcessPrefServiceFactory*
ChromeBrowserProcessStub::pref_service_factory() const {
NOTREACHED();

View File

@ -104,7 +104,6 @@ class ChromeBrowserProcessStub : public BrowserProcess,
shell_integration::DefaultWebClientState CachedDefaultWebClientState()
override;
resource_coordinator::TabManager* GetTabManager() override;
physical_web::PhysicalWebDataSource* GetPhysicalWebDataSource() override;
prefs::InProcessPrefServiceFactory* pref_service_factory() const override;
// BrowserContextIncognitoHelper implementation.

View File

@ -86,7 +86,6 @@
#include "extensions/common/switches.h"
#include "net/ssl/ssl_cert_request_info.h"
#include "ppapi/host/ppapi_host.h"
#include "services/service_manager/embedder/switches.h"
#include "services/service_manager/public/mojom/connector.mojom.h"
#include "services/service_manager/sandbox/switches.h"
#include "storage/browser/quota/quota_settings.h"
@ -721,7 +720,7 @@ void CefContentBrowserClient::AppendExtraCommandLineSwitches(
}
#if defined(OS_LINUX)
if (process_type == service_manager::switches::kZygoteProcess) {
if (process_type == switches::kZygoteProcess) {
// Propagate the following switches to the zygote command line (along with
// any associated values) if present in the browser command line.
static const char* const kSwitchNames[] = {
@ -983,7 +982,7 @@ void CefContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
content::PosixFileDescriptorInfo* mappings) {
int crash_signal_fd = GetCrashSignalFD(command_line);
if (crash_signal_fd >= 0) {
mappings->Share(service_manager::kCrashDumpSignal, crash_signal_fd);
mappings->Share(kCrashDumpSignal, crash_signal_fd);
}
}
#endif // defined(OS_LINUX)

View File

@ -609,7 +609,7 @@ void CefCookieManagerImpl::DeleteCookiesInternal(
base::Bind(DeleteCookiesCallbackImpl, callback));
} else if (cookie_name.empty()) {
// Delete all matching host cookies.
net::CookieStore::CookieDeletionInfo delete_info;
net::CookieDeletionInfo delete_info;
delete_info.host = url.host();
cookie_store->DeleteAllMatchingInfoAsync(
delete_info, base::Bind(DeleteCookiesCallbackImpl, callback));

View File

@ -130,7 +130,7 @@ void CefCookieStoreProxy::DeleteCanonicalCookieAsync(
}
void CefCookieStoreProxy::DeleteAllCreatedInTimeRangeAsync(
const TimeRange& creation_range,
const net::CookieDeletionInfo::TimeRange& creation_range,
DeleteCallback callback) {
net::CookieStore* cookie_store = GetCookieStore();
if (cookie_store) {
@ -142,7 +142,7 @@ void CefCookieStoreProxy::DeleteAllCreatedInTimeRangeAsync(
}
void CefCookieStoreProxy::DeleteAllMatchingInfoAsync(
CookieDeletionInfo delete_info,
net::CookieDeletionInfo delete_info,
DeleteCallback callback) {
net::CookieStore* cookie_store = GetCookieStore();
if (cookie_store) {

View File

@ -39,9 +39,10 @@ class CefCookieStoreProxy : public net::CookieStore {
base::OnceClosure callback) override;
void DeleteCanonicalCookieAsync(const net::CanonicalCookie& cookie,
DeleteCallback callback) override;
void DeleteAllCreatedInTimeRangeAsync(const TimeRange& creation_range,
DeleteCallback callback) override;
void DeleteAllMatchingInfoAsync(CookieDeletionInfo delete_info,
void DeleteAllCreatedInTimeRangeAsync(
const net::CookieDeletionInfo::TimeRange& creation_range,
DeleteCallback callback) override;
void DeleteAllMatchingInfoAsync(net::CookieDeletionInfo delete_info,
DeleteCallback callback) override;
void DeleteSessionCookiesAsync(DeleteCallback callback) override;
void FlushStore(base::OnceClosure callback) override;

View File

@ -138,7 +138,7 @@ std::unique_ptr<net::ProxyResolutionService> CreateProxyResolutionService(
proxy_service = network::CreateProxyResolutionServiceUsingMojoFactory(
std::move(proxy_resolver_factory), std::move(proxy_config_service),
std::make_unique<net::PacFileFetcherImpl>(context),
net::PacFileFetcherImpl::Create(context),
std::move(dhcp_pac_file_fetcher), context->host_resolver(), net_log,
network_delegate);
} else {

View File

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

View File

@ -240,14 +240,10 @@ CefRenderWidgetHostViewOSR::CefRenderWidgetHostViewOSR(
local_surface_id_ = local_surface_id_allocator_.GenerateId();
// Surface synchronization is not supported with OSR.
DCHECK(!features::IsSurfaceSynchronizationEnabled());
#if !defined(OS_MACOSX)
// Matching the attributes from BrowserCompositorMac.
delegated_frame_host_ = std::make_unique<content::DelegatedFrameHost>(
AllocateFrameSinkId(is_guest_view_hack), this,
features::IsSurfaceSynchronizationEnabled(),
base::FeatureList::IsEnabled(features::kVizDisplayCompositor),
true /* should_register_frame_sink_id */);
@ -279,7 +275,7 @@ CefRenderWidgetHostViewOSR::CefRenderWidgetHostViewOSR(
#endif
if (browser_impl_.get())
ResizeRootLayer();
ResizeRootLayer(false);
// Do this last because it may result in a call to SetNeedsBeginFrames.
render_widget_host_->SetView(this);
@ -329,7 +325,7 @@ void CefRenderWidgetHostViewOSR::InitAsChild(gfx::NativeView parent_view) {
// The parent view should not render while the full-screen view exists.
parent_host_view_->Hide();
ResizeRootLayer();
ResizeRootLayer(false);
Show();
}
@ -559,7 +555,7 @@ void CefRenderWidgetHostViewOSR::InitAsPopup(
if (handler.get())
handler->OnPopupSize(browser_impl_.get(), widget_pos);
ResizeRootLayer();
ResizeRootLayer(false);
Show();
}
@ -878,7 +874,7 @@ void CefRenderWidgetHostViewOSR::SetWantsAnimateOnlyBeginFrames() {
}
}
bool CefRenderWidgetHostViewOSR::TransformPointToLocalCoordSpace(
bool CefRenderWidgetHostViewOSR::TransformPointToLocalCoordSpaceLegacy(
const gfx::PointF& point,
const viz::SurfaceId& original_surface,
gfx::PointF* transformed_point) {
@ -886,7 +882,7 @@ bool CefRenderWidgetHostViewOSR::TransformPointToLocalCoordSpace(
// is necessary.
gfx::PointF point_in_pixels =
gfx::ConvertPointToPixel(current_device_scale_factor_, point);
if (!GetDelegatedFrameHost()->TransformPointToLocalCoordSpace(
if (!GetDelegatedFrameHost()->TransformPointToLocalCoordSpaceLegacy(
point_in_pixels, original_surface, transformed_point)) {
return false;
}
@ -899,7 +895,8 @@ bool CefRenderWidgetHostViewOSR::TransformPointToLocalCoordSpace(
bool CefRenderWidgetHostViewOSR::TransformPointToCoordSpaceForView(
const gfx::PointF& point,
RenderWidgetHostViewBase* target_view,
gfx::PointF* transformed_point) {
gfx::PointF* transformed_point,
viz::EventSource source) {
if (target_view == this) {
*transformed_point = point;
return true;
@ -909,14 +906,16 @@ bool CefRenderWidgetHostViewOSR::TransformPointToCoordSpaceForView(
// but it is not necessary here because the final target view is responsible
// for converting before computing the final transform.
return GetDelegatedFrameHost()->TransformPointToCoordSpaceForView(
point, target_view, transformed_point);
point, target_view, transformed_point, source);
}
void CefRenderWidgetHostViewOSR::DidNavigate() {
#if defined(OS_MACOSX)
browser_compositor_->DidNavigate();
#else
ResizeRootLayer();
// With surface synchronization enabled we need to force synchronization on
// first navigation.
ResizeRootLayer(true);
if (delegated_frame_host_)
delegated_frame_host_->DidNavigate();
#endif
@ -956,18 +955,6 @@ SkColor CefRenderWidgetHostViewOSR::DelegatedFrameHostGetGutterColor() const {
return background_color_;
}
bool CefRenderWidgetHostViewOSR::DelegatedFrameCanCreateResizeLock() const {
return !render_widget_host_->auto_resize_enabled();
}
std::unique_ptr<content::CompositorResizeLock>
CefRenderWidgetHostViewOSR::DelegatedFrameHostCreateResizeLock() {
HoldResize();
const gfx::Size& desired_size = GetRootLayer()->bounds().size();
return std::make_unique<content::CompositorResizeLock>(this, desired_size);
}
viz::LocalSurfaceId CefRenderWidgetHostViewOSR::GetLocalSurfaceId() const {
return local_surface_id_;
}
@ -981,10 +968,6 @@ void CefRenderWidgetHostViewOSR::OnBeginFrame(base::TimeTicks frame_time) {
// See https://codereview.chromium.org/1841083007.
}
bool CefRenderWidgetHostViewOSR::IsAutoResizeEnabled() const {
return render_widget_host_->auto_resize_enabled();
}
void CefRenderWidgetHostViewOSR::OnFrameTokenChanged(uint32_t frame_token) {
render_widget_host_->DidProcessFrame(frame_token);
}
@ -1025,7 +1008,7 @@ void CefRenderWidgetHostViewOSR::SynchronizeVisualProperties() {
return;
}
ResizeRootLayer();
ResizeRootLayer(false);
}
void CefRenderWidgetHostViewOSR::OnScreenInfoChanged() {
@ -1353,7 +1336,7 @@ void CefRenderWidgetHostViewOSR::SetDeviceScaleFactor() {
}
}
void CefRenderWidgetHostViewOSR::ResizeRootLayer() {
void CefRenderWidgetHostViewOSR::ResizeRootLayer(bool force) {
SetFrameRate();
const float orgScaleFactor = current_device_scale_factor_;
@ -1367,8 +1350,10 @@ void CefRenderWidgetHostViewOSR::ResizeRootLayer() {
else
size = popup_position_.size();
if (!scaleFactorDidChange && size == GetRootLayer()->bounds().size())
if (!force && !scaleFactorDidChange &&
size == GetRootLayer()->bounds().size()) {
return;
}
const gfx::Size& size_in_pixels =
gfx::ConvertSizeToPixel(current_device_scale_factor_, size);

View File

@ -173,13 +173,15 @@ class CefRenderWidgetHostViewOSR : public content::RenderWidgetHostViewBase,
void SetNeedsBeginFrames(bool enabled) override;
void SetWantsAnimateOnlyBeginFrames() override;
bool TransformPointToLocalCoordSpace(const gfx::PointF& point,
const viz::SurfaceId& original_surface,
gfx::PointF* transformed_point) override;
bool TransformPointToLocalCoordSpaceLegacy(
const gfx::PointF& point,
const viz::SurfaceId& original_surface,
gfx::PointF* transformed_point) override;
bool TransformPointToCoordSpaceForView(
const gfx::PointF& point,
RenderWidgetHostViewBase* target_view,
gfx::PointF* transformed_point) override;
gfx::PointF* transformed_point,
viz::EventSource source = viz::EventSource::ANY) override;
void DidNavigate() override;
void SelectionChanged(const base::string16& text,
@ -195,13 +197,9 @@ class CefRenderWidgetHostViewOSR : public content::RenderWidgetHostViewBase,
ui::Layer* DelegatedFrameHostGetLayer() const override;
bool DelegatedFrameHostIsVisible() const override;
SkColor DelegatedFrameHostGetGutterColor() const override;
bool DelegatedFrameCanCreateResizeLock() const override;
std::unique_ptr<content::CompositorResizeLock>
DelegatedFrameHostCreateResizeLock() override;
viz::LocalSurfaceId GetLocalSurfaceId() const override;
void OnFirstSurfaceActivation(const viz::SurfaceInfo& surface_info) override;
void OnBeginFrame(base::TimeTicks frame_time) override;
bool IsAutoResizeEnabled() const override;
void OnFrameTokenChanged(uint32_t frame_token) override;
void DidReceiveFirstFrameAfterNavigation() override;
@ -267,7 +265,7 @@ class CefRenderWidgetHostViewOSR : public content::RenderWidgetHostViewBase,
void SetFrameRate();
void SetDeviceScaleFactor();
void ResizeRootLayer();
void ResizeRootLayer(bool force);
// Called by CefBeginFrameTimer to send a BeginFrame request.
void OnBeginFrameTimerTick();

View File

@ -61,7 +61,7 @@ class MacHelper : public content::BrowserCompositorMacClient,
return nil;
}
void AcceleratedWidgetSwapCompleted() override {}
void AcceleratedWidgetCALayerParamsUpdated() override {}
void DidReceiveFirstFrameAfterNavigation() override {
view_->render_widget_host()->DidReceiveFirstFrameAfterNavigation();
@ -69,8 +69,8 @@ class MacHelper : public content::BrowserCompositorMacClient,
void DestroyCompositorForShutdown() override {}
void SynchronizeVisualProperties() override {
view_->render_widget_host()->SynchronizeVisualProperties();
bool SynchronizeVisualProperties() override {
return view_->render_widget_host()->SynchronizeVisualProperties();
}
private:

View File

@ -176,8 +176,8 @@ void CefPrintDialogLinux::UseDefaultSettings() {
UpdateSettings(&settings, true);
}
bool CefPrintDialogLinux::UpdateSettings(printing::PrintSettings* settings) {
return UpdateSettings(settings, false);
void CefPrintDialogLinux::UpdateSettings(printing::PrintSettings* settings) {
UpdateSettings(settings, false);
}
void CefPrintDialogLinux::ShowDialog(

View File

@ -42,7 +42,7 @@ class CefPrintDialogLinux : public printing::PrintDialogGtkInterface,
// PrintDialogGtkInterface implementation.
void UseDefaultSettings() override;
bool UpdateSettings(printing::PrintSettings* settings) override;
void UpdateSettings(printing::PrintSettings* settings) override;
void ShowDialog(
gfx::NativeView parent_view,
bool has_selection,

View File

@ -50,7 +50,6 @@ void FillInDictionaryFromPdfPrintSettings(
print_settings.SetBoolean(kSettingCollate, false);
print_settings.SetString(kSettingDeviceName, "");
print_settings.SetBoolean(kSettingRasterizePdf, false);
print_settings.SetBoolean(kSettingGenerateDraftData, false);
print_settings.SetBoolean(kSettingPreviewModifiable, false);
print_settings.SetInteger(kSettingDpiHorizontal, 0);
print_settings.SetInteger(kSettingDpiVertical, 0);

View File

@ -12,7 +12,6 @@
#include "base/location.h"
#include "base/memory/ref_counted_memory.h"
#include "base/memory/shared_memory.h"
#include "base/message_loop/message_loop.h"
#include "base/message_loop/message_loop_current.h"
#include "base/run_loop.h"
#include "base/single_thread_task_runner.h"

View File

@ -134,12 +134,13 @@ void CefStoragePartitionProxy::ClearData(
uint32_t remove_mask,
uint32_t quota_storage_remove_mask,
const OriginMatcherFunction& origin_matcher,
net::CookieStore::CookieDeletionInfo cookie_delete_info,
network::mojom::CookieDeletionFilterPtr cookie_deletion_filter,
const base::Time begin,
const base::Time end,
base::OnceClosure callback) {
parent_->ClearData(remove_mask, quota_storage_remove_mask, origin_matcher,
cookie_delete_info, begin, end, std::move(callback));
std::move(cookie_deletion_filter), begin, end,
std::move(callback));
}
void CefStoragePartitionProxy::ClearHttpAndMediaCaches(

View File

@ -59,7 +59,7 @@ class CefStoragePartitionProxy : public content::StoragePartition {
void ClearData(uint32_t remove_mask,
uint32_t quota_storage_remove_mask,
const OriginMatcherFunction& origin_matcher,
net::CookieStore::CookieDeletionInfo cookie_delete_info,
network::mojom::CookieDeletionFilterPtr cookie_deletion_filter,
const base::Time begin,
const base::Time end,
base::OnceClosure callback) override;

View File

@ -18,7 +18,6 @@
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "components/crash/core/common/crash_key.h"
#include "services/service_manager/embedder/switches.h"
#include "third_party/crashpad/crashpad/client/annotation.h"
#if defined(OS_MACOSX)
@ -624,7 +623,7 @@ bool CefCrashReporterClient::EnableBreakpadForProcess(
const std::string& process_type) {
return process_type == switches::kRendererProcess ||
process_type == switches::kPpapiPluginProcess ||
process_type == service_manager::switches::kZygoteProcess ||
process_type == switches::kZygoteProcess ||
process_type == switches::kGpuProcess;
}

View File

@ -16,7 +16,6 @@
#include "components/crash/core/common/crash_key.h"
#include "components/crash/core/common/crash_keys.h"
#include "content/public/common/content_switches.h"
#include "services/service_manager/embedder/switches.h"
#if defined(OS_MACOSX)
#include "base/mac/foundation_util.h"
@ -131,7 +130,7 @@ void InitCrashReporter(const base::CommandLine& command_line,
#else // !defined(OS_MACOSX)
breakpad::SetCrashServerURL(crash_client->GetCrashServerURL());
if (process_type != service_manager::switches::kZygoteProcess) {
if (process_type != switches::kZygoteProcess) {
// Crash reporting for subprocesses created using the zygote will be
// initialized in ZygoteForked.
breakpad::InitCrashReporter(process_type);

View File

@ -448,14 +448,6 @@ bool CefMainDelegate::BasicStartupComplete(int* exit_code) {
base::FEATURE_ENABLED_BY_DEFAULT) {
disable_features.push_back(features::kAsyncWheelEvents.name);
}
// Disable SurfaceSynchronization when OSR is enabled, otherwise rendering
// will fail.
if (features::kEnableSurfaceSynchronization.default_state ==
base::FEATURE_ENABLED_BY_DEFAULT) {
disable_features.push_back(
features::kEnableSurfaceSynchronization.name);
}
}
if (!disable_features.empty()) {

View File

@ -25,7 +25,6 @@
#include "content/public/common/content_switches.h"
#include "media/cdm/cdm_host_file.h"
#include "media/cdm/supported_cdm_versions.h"
#include "services/service_manager/embedder/switches.h"
#include "services/service_manager/sandbox/switches.h"
namespace {
@ -84,6 +83,8 @@ const char kCdmCodecsListName[] = "x-cdm-codecs";
// Whether persistent license is supported by the CDM: "true" or "false".
const char kCdmPersistentLicenseSupportName[] =
"x-cdm-persistent-license-support";
const char kCdmSupportedEncryptionSchemesName[] =
"x-cdm-supported-encryption-schemes";
// The following strings are used to specify supported codecs in the
// parameter |kCdmCodecsListName|.
@ -93,6 +94,11 @@ const char kCdmSupportedCodecVp9[] = "vp9.0";
const char kCdmSupportedCodecAvc1[] = "avc1";
#endif
// The following strings are used to specify supported encryption schemes in
// the parameter |kCdmSupportedEncryptionSchemesName|.
const char kCdmSupportedEncryptionSchemeCenc[] = "cenc";
const char kCdmSupportedEncryptionSchemeCbcs[] = "cbcs";
std::unique_ptr<base::DictionaryValue> ParseManifestFile(
const base::FilePath& manifest_path) {
CEF_REQUIRE_BLOCKING();
@ -176,6 +182,57 @@ bool IsCompatibleWithChrome(const base::DictionaryValue& manifest,
error_message);
}
// Determine the set of encryption schemes supported from |manifest|. It is
// assumed that all CDMs support 'cenc', so if the manifest entry
// |kCdmSupportedEncryptionSchemesName| is missing, the result will indicate
// support for 'cenc' only. Incorrect types in the manifest entry will log
// the error and return the empty set. Unrecognized values will be reported
// but otherwise ignored.
base::flat_set<media::EncryptionMode> GetSupportedEncryptionSchemes(
const base::DictionaryValue& manifest,
std::string* error_message) {
const base::Value* value =
manifest.FindKey(kCdmSupportedEncryptionSchemesName);
if (!value)
return {media::EncryptionMode::kCenc};
if (!value->is_list()) {
std::stringstream ss;
ss << "Manifest entry " << kCdmSupportedEncryptionSchemesName
<< " is not a list.";
*error_message = ss.str();
return {};
}
const base::Value::ListStorage& list = value->GetList();
base::flat_set<media::EncryptionMode> result;
for (const auto& item : list) {
if (!item.is_string()) {
std::stringstream ss;
ss << "Unrecognized item type in manifest entry "
<< kCdmSupportedEncryptionSchemesName;
*error_message = ss.str();
return {};
}
const std::string& scheme = item.GetString();
if (scheme == kCdmSupportedEncryptionSchemeCenc) {
result.insert(media::EncryptionMode::kCenc);
} else if (scheme == kCdmSupportedEncryptionSchemeCbcs) {
result.insert(media::EncryptionMode::kCbcs);
} else {
std::stringstream ss;
ss << "Unrecognized encryption scheme " << scheme << " in manifest entry "
<< kCdmSupportedEncryptionSchemesName;
if (!error_message->empty())
*error_message += ", ";
*error_message += ss.str();
}
}
return result;
}
// Verify and load the contents of |base_path|.
cef_cdm_registration_error_t LoadWidevineCdmInfo(
const base::FilePath& base_path,
@ -183,6 +240,7 @@ cef_cdm_registration_error_t LoadWidevineCdmInfo(
std::string* cdm_version,
std::string* cdm_codecs,
bool* supports_persistent_license,
base::flat_set<media::EncryptionMode>* supported_encryption_schemes,
std::string* error_message) {
std::stringstream ss;
@ -224,6 +282,11 @@ cef_cdm_registration_error_t LoadWidevineCdmInfo(
manifest->FindKey(kCdmPersistentLicenseSupportName);
*supports_persistent_license = value && value->is_bool() && value->GetBool();
*supported_encryption_schemes =
GetSupportedEncryptionSchemes(*manifest, error_message);
if (supported_encryption_schemes->empty())
return CEF_CDM_REGISTRATION_ERROR_INCORRECT_CONTENTS;
return CEF_CDM_REGISTRATION_ERROR_NONE;
}
@ -234,6 +297,8 @@ void DeliverWidevineCdmCallback(cef_cdm_registration_error_t result,
if (result != CEF_CDM_REGISTRATION_ERROR_NONE)
LOG(ERROR) << "Widevine CDM registration failed; " << error_message;
else if (!error_message.empty())
LOG(WARNING) << "Widevine CDM registration warning; " << error_message;
if (callback)
callback->OnCdmRegistrationComplete(result, error_message);
@ -259,28 +324,34 @@ std::vector<media::VideoCodec> ConvertCodecsString(const std::string& codecs) {
return supported_video_codecs;
}
content::CdmInfo MakeCdmInfo(const base::FilePath& cdm_path,
const std::string& cdm_version,
const std::string& cdm_codecs,
bool supports_persistent_license) {
content::CdmInfo MakeCdmInfo(
const base::FilePath& cdm_path,
const std::string& cdm_version,
const std::string& cdm_codecs,
bool supports_persistent_license,
const base::flat_set<media::EncryptionMode>& supported_encryption_schemes) {
std::vector<media::VideoCodec> supported_video_codecs =
ConvertCodecsString(cdm_codecs);
return content::CdmInfo(
kWidevineCdmDisplayName, kWidevineCdmGuid, base::Version(cdm_version),
cdm_path, kWidevineCdmFileSystemId, supported_video_codecs,
supports_persistent_license, kWidevineKeySystem, false);
supports_persistent_license, supported_encryption_schemes,
kWidevineKeySystem, false);
}
void RegisterWidevineCdmOnUIThread(const base::FilePath& cdm_path,
const std::string& cdm_version,
const std::string& cdm_codecs,
bool supports_persistent_license,
CefRefPtr<CefRegisterCdmCallback> callback) {
void RegisterWidevineCdmOnUIThread(
const base::FilePath& cdm_path,
const std::string& cdm_version,
const std::string& cdm_codecs,
bool supports_persistent_license,
const base::flat_set<media::EncryptionMode>& supported_encryption_schemes,
CefRefPtr<CefRegisterCdmCallback> callback) {
CEF_REQUIRE_UIT();
// Register Widevine with the CdmRegistry.
content::CdmRegistry::GetInstance()->RegisterCdm(MakeCdmInfo(
cdm_path, cdm_version, cdm_codecs, supports_persistent_license));
content::CdmRegistry::GetInstance()->RegisterCdm(
MakeCdmInfo(cdm_path, cdm_version, cdm_codecs,
supports_persistent_license, supported_encryption_schemes));
DeliverWidevineCdmCallback(CEF_CDM_REGISTRATION_ERROR_NONE, std::string(),
callback);
@ -295,10 +366,12 @@ void LoadWidevineCdmInfoOnBlockingThread(
std::string cdm_version;
std::string cdm_codecs;
bool supports_persistent_license;
base::flat_set<media::EncryptionMode> supported_encryption_schemes;
std::string error_message;
cef_cdm_registration_error_t result =
LoadWidevineCdmInfo(base_path, &cdm_path, &cdm_version, &cdm_codecs,
&supports_persistent_license, &error_message);
&supports_persistent_license,
&supported_encryption_schemes, &error_message);
if (result != CEF_CDM_REGISTRATION_ERROR_NONE) {
CEF_POST_TASK(CEF_UIT, base::Bind(DeliverWidevineCdmCallback, result,
error_message, callback));
@ -308,7 +381,8 @@ void LoadWidevineCdmInfoOnBlockingThread(
// Continue execution on the UI thread.
CEF_POST_TASK(CEF_UIT,
base::Bind(RegisterWidevineCdmOnUIThread, cdm_path, cdm_version,
cdm_codecs, supports_persistent_license, callback));
cdm_codecs, supports_persistent_license,
supported_encryption_schemes, callback));
}
} // namespace
@ -356,7 +430,7 @@ void CefWidevineLoader::AddContentDecryptionModules(
// errors during plugin loading. This is because the Zygote process must pre-
// load all plugins before initializing the sandbox.
if (command_line.GetSwitchValueASCII(switches::kProcessType) !=
service_manager::switches::kZygoteProcess ||
switches::kZygoteProcess ||
command_line.HasSwitch(service_manager::switches::kNoSandbox)) {
return;
}
@ -375,17 +449,20 @@ void CefWidevineLoader::AddContentDecryptionModules(
std::string cdm_version;
std::string cdm_codecs;
bool supports_persistent_license;
base::flat_set<media::EncryptionMode> supported_encryption_schemes;
std::string error_message;
cef_cdm_registration_error_t result =
LoadWidevineCdmInfo(base_path, &cdm_path, &cdm_version, &cdm_codecs,
&supports_persistent_license, &error_message);
&supports_persistent_license,
&supported_encryption_schemes, &error_message);
if (result != CEF_CDM_REGISTRATION_ERROR_NONE) {
LOG(ERROR) << "Widevine CDM registration failed; " << error_message;
return;
}
cdms->push_back(MakeCdmInfo(cdm_path, cdm_version, cdm_codecs,
supports_persistent_license));
supports_persistent_license,
supported_encryption_schemes));
}
#endif // defined(OS_LINUX)

View File

@ -183,10 +183,10 @@ void CefExtensionsRendererClient::WillSendRequest(
GURL request_url(url);
if (extension->permissions_data()->GetPageAccess(extension, request_url,
tab_id, nullptr) ==
extensions::PermissionsData::ACCESS_ALLOWED ||
extensions::PermissionsData::PageAccess::kAllowed ||
extension->permissions_data()->GetContentScriptAccess(
extension, request_url, tab_id, nullptr) ==
extensions::PermissionsData::ACCESS_ALLOWED) {
extensions::PermissionsData::PageAccess::kAllowed) {
*attach_same_site_cookies = true;
}
}

View File

@ -328,8 +328,6 @@ patches = [
# https://bitbucket.org/chromiumembedded/cef/issues/2256
#
# Linux: Fix GTK2 compile errors.
#
# Linux: Fix "undefined symbol: ErrHandler" runtime error.
'name': 'linux_build',
},
{

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/browser_compositor_view_mac.h content/browser/renderer_host/browser_compositor_view_mac.h
index 6ad9f5fb334d..d7bf762314a4 100644
index f823af11a791..2c08bf522a10 100644
--- content/browser/renderer_host/browser_compositor_view_mac.h
+++ content/browser/renderer_host/browser_compositor_view_mac.h
@@ -56,11 +56,13 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient {
@@ -56,6 +56,7 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient {
// These will not return nullptr until Destroy is called.
DelegatedFrameHost* GetDelegatedFrameHost();
@ -10,17 +10,19 @@ index 6ad9f5fb334d..d7bf762314a4 100644
// Ensure that the currect compositor frame be cleared (even if it is
// potentially visible).
void ClearCompositorFrame();
@@ -67,6 +68,7 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient {
// no valid frame is available.
const gfx::CALayerParams* GetLastCALayerParams() const;
+ ui::Compositor* GetCompositor();
gfx::AcceleratedWidget GetAcceleratedWidget();
void DidCreateNewRendererCompositorFrameSink(
viz::mojom::CompositorFrameSinkClient* renderer_compositor_frame_sink);
diff --git content/browser/renderer_host/browser_compositor_view_mac.mm content/browser/renderer_host/browser_compositor_view_mac.mm
index f8d3575e06dc..688aa7e5b117 100644
index a03b35dbad92..d8938fb0562c 100644
--- content/browser/renderer_host/browser_compositor_view_mac.mm
+++ content/browser/renderer_host/browser_compositor_view_mac.mm
@@ -206,6 +206,12 @@ BrowserCompositorMac::~BrowserCompositorMac() {
@@ -248,6 +248,12 @@ BrowserCompositorMac::~BrowserCompositorMac() {
g_spare_recyclable_compositors.Get().clear();
}
@ -33,18 +35,3 @@ index f8d3575e06dc..688aa7e5b117 100644
gfx::AcceleratedWidget BrowserCompositorMac::GetAcceleratedWidget() {
if (recyclable_compositor_) {
return recyclable_compositor_->accelerated_widget_mac()
diff --git ui/accelerated_widget_mac/accelerated_widget_mac.mm ui/accelerated_widget_mac/accelerated_widget_mac.mm
index 0de89795c461..3d46421491a9 100644
--- ui/accelerated_widget_mac/accelerated_widget_mac.mm
+++ ui/accelerated_widget_mac/accelerated_widget_mac.mm
@@ -71,6 +71,10 @@ void AcceleratedWidgetMac::SetNSView(AcceleratedWidgetMacNSView* view) {
DCHECK(view && !view_);
view_ = view;
+ // Will be nullptr for CEF.
+ if (!view_->AcceleratedWidgetGetNSView())
+ return;
+
CALayer* background_layer = [view_->AcceleratedWidgetGetNSView() layer];
DCHECK(background_layer);
[flipped_layer_ setBounds:[background_layer bounds]];

View File

@ -1,8 +1,8 @@
diff --git content/browser/browser_plugin/browser_plugin_guest.cc content/browser/browser_plugin/browser_plugin_guest.cc
index ab0b50b62aac..d17bc04e53bf 100644
index 6f3759f4d66f..c7d7188444b1 100644
--- content/browser/browser_plugin/browser_plugin_guest.cc
+++ content/browser/browser_plugin/browser_plugin_guest.cc
@@ -315,8 +315,11 @@ void BrowserPluginGuest::InitInternal(
@@ -314,8 +314,11 @@ void BrowserPluginGuest::InitInternal(
static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
}
@ -15,7 +15,7 @@ index ab0b50b62aac..d17bc04e53bf 100644
// Once a BrowserPluginGuest has an embedder WebContents, it's considered to
// be attached.
@@ -791,10 +794,19 @@ void BrowserPluginGuest::OnWillAttachComplete(
@@ -790,10 +793,19 @@ void BrowserPluginGuest::OnWillAttachComplete(
static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
if (!web_contents()->GetRenderViewHost()->GetWidget()->GetView()) {
web_contents_view->CreateViewForWidget(
@ -266,7 +266,7 @@ index d05dd5421458..fa13775f0512 100644
// a BrowserPlugin even when we are using cross process frames for guests. It
// should be removed after resolving https://crbug.com/642826).
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 54c9b6320d9c..d474ead5f147 100644
index 8aa4bd7ffca6..0a649863f381 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
@@ -193,6 +193,8 @@ void MimeHandlerViewGuest::CreateWebContents(
@ -277,8 +277,8 @@ index 54c9b6320d9c..d474ead5f147 100644
+ delegate_->OverrideWebContentsCreateParams(&params);
// TODO(erikchen): Fix ownership semantics for guest views.
// https://crbug.com/832879.
auto* web_contents = WebContents::Create(params).release();
@@ -230,6 +232,18 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
callback.Run(WebContents::Create(params).release());
@@ -228,6 +230,18 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
return true;
}
@ -298,7 +298,7 @@ index 54c9b6320d9c..d474ead5f147 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 2bc53e063aae..9814b40f84ea 100644
index 7f0df3d7dc3a..82e2e8a8cdc6 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
@@ -108,6 +108,10 @@ class MimeHandlerViewGuest :

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index aa1294af0a9a..c3606b23c821 100644
index 69d42d094933..96383d6f94d7 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -8,6 +8,7 @@ import("//build/config/features.gni")
@ -9,8 +9,8 @@ index aa1294af0a9a..c3606b23c821 100644
+import("//cef/libcef/features/features.gni")
import("//chrome/common/features.gni")
import("//components/feature_engagement/features.gni")
import("//components/nacl/features.gni")
@@ -1574,6 +1575,7 @@ jumbo_split_static_library("browser") {
import("//components/feed/features.gni")
@@ -1600,6 +1601,7 @@ jumbo_split_static_library("browser") {
"//base:i18n",
"//base/allocator:buildflags",
"//cc",
@ -18,7 +18,7 @@ index aa1294af0a9a..c3606b23c821 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -1834,6 +1836,10 @@ jumbo_split_static_library("browser") {
@@ -1866,6 +1868,10 @@ jumbo_split_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 6745fbf917e2..0eec77c1aa72 100644
index 607dfe4d4c99..27e55b7f6b2d 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 @@
@ -9,8 +9,8 @@ index 6745fbf917e2..0eec77c1aa72 100644
+#include "cef/libcef/features/features.h"
#include "chrome/browser/profiles/off_the_record_profile_impl.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_features.h"
@@ -16,6 +17,10 @@
#include "chrome/browser/search_engines/template_url_service_factory.h"
@@ -17,6 +18,10 @@
#include "content/public/browser/browser_thread.h"
#include "extensions/buildflags/buildflags.h"
@ -21,7 +21,7 @@ index 6745fbf917e2..0eec77c1aa72 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/extension_service.h"
#include "extensions/browser/extension_system.h"
@@ -41,8 +46,14 @@ HostContentSettingsMapFactory::HostContentSettingsMapFactory()
@@ -42,8 +47,14 @@ HostContentSettingsMapFactory::HostContentSettingsMapFactory()
DependsOn(SupervisedUserSettingsServiceFactory::GetInstance());
#endif
#if BUILDFLAG(ENABLE_EXTENSIONS)
@ -36,7 +36,7 @@ index 6745fbf917e2..0eec77c1aa72 100644
#endif
}
@@ -86,9 +97,15 @@ scoped_refptr<RefcountedKeyedService>
@@ -87,9 +98,15 @@ scoped_refptr<RefcountedKeyedService>
/*store_last_modified=*/true));
#if BUILDFLAG(ENABLE_EXTENSIONS)

View File

@ -70,7 +70,7 @@ index e8e76ce5b954..1dd338dd0142 100644
content::BrowserContext* GetBrowserContextRedirectedInIncognito(
content::BrowserContext* context);
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
index 7f15a0bcb0a9..3f2db9c4b75b 100644
index fc316ed90cfd..eef294ac6985 100644
--- chrome/browser/profiles/profile_manager.cc
+++ chrome/browser/profiles/profile_manager.cc
@@ -379,7 +379,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
@ -83,10 +83,10 @@ index 7f15a0bcb0a9..3f2db9c4b75b 100644
this));
}
diff --git chrome/browser/profiles/profile_manager.h chrome/browser/profiles/profile_manager.h
index 9a0d8dd4c3e6..6cfbfd1ddc8d 100644
index fc027d61027a..61484ca7e3c5 100644
--- chrome/browser/profiles/profile_manager.h
+++ chrome/browser/profiles/profile_manager.h
@@ -94,7 +94,7 @@ class ProfileManager : public content::NotificationObserver,
@@ -93,7 +93,7 @@ class ProfileManager : public content::NotificationObserver,
// acceptable. Returns null if creation of the new profile fails.
// TODO(bauerb): Migrate calls from other code to GetProfileByPath(), then
// make this method private.
@ -95,7 +95,7 @@ index 9a0d8dd4c3e6..6cfbfd1ddc8d 100644
// Returns total number of profiles available on this machine.
size_t GetNumberOfProfiles();
@@ -125,7 +125,7 @@ class ProfileManager : public content::NotificationObserver,
@@ -124,7 +124,7 @@ class ProfileManager : public content::NotificationObserver,
// Returns true if the profile pointer is known to point to an existing
// profile.
@ -104,7 +104,7 @@ index 9a0d8dd4c3e6..6cfbfd1ddc8d 100644
// Returns the directory where the first created profile is stored,
// relative to the user data directory currently in use.
@@ -134,7 +134,7 @@ class ProfileManager : public content::NotificationObserver,
@@ -133,7 +133,7 @@ class ProfileManager : public content::NotificationObserver,
// Get the Profile last used (the Profile to which owns the most recently
// focused window) with this Chrome build. If no signed profile has been
// stored in Local State, hand back the Default profile.

View File

@ -1,5 +1,5 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index 6fd923e3e365..8e31cee51cab 100644
index 0b312fc03b93..929fca9eaee3 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -3,6 +3,7 @@
@ -10,7 +10,7 @@ index 6fd923e3e365..8e31cee51cab 100644
import("//chrome/common/features.gni")
import("//components/nacl/features.gni")
import("//components/offline_pages/buildflags/features.gni")
@@ -110,6 +111,7 @@ static_library("renderer") {
@@ -113,6 +114,7 @@ static_library("renderer") {
defines = []
deps = [
@ -18,7 +18,7 @@ index 6fd923e3e365..8e31cee51cab 100644
"//chrome:resources",
"//chrome:strings",
"//chrome/common",
@@ -173,6 +175,10 @@ static_library("renderer") {
@@ -176,6 +178,10 @@ static_library("renderer") {
configs += [ "//build/config/compiler:wexit_time_destructors" ]

View File

@ -1,8 +1,8 @@
diff --git chrome/common/chrome_content_client.cc chrome/common/chrome_content_client.cc
index df43d2bfaec6..aa2da0e9a15b 100644
index da90176ea5a9..34da381c00e2 100644
--- chrome/common/chrome_content_client.cc
+++ chrome/common/chrome_content_client.cc
@@ -92,7 +92,8 @@
@@ -94,7 +94,8 @@
#if BUILDFLAG(ENABLE_LIBRARY_CDMS)
#include "media/cdm/cdm_paths.h" // nogncheck

View File

@ -13,7 +13,7 @@ index 4393a8fac233..860715e86900 100644
explicit ContentServiceManagerMainDelegate(const ContentMainParams& params);
~ContentServiceManagerMainDelegate() override;
diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn
index dd83de48cc20..c3be12e866e9 100644
index 1aaa34c60ac9..c9c9a430f6b0 100644
--- third_party/blink/renderer/controller/BUILD.gn
+++ third_party/blink/renderer/controller/BUILD.gn
@@ -25,6 +25,7 @@ component("controller") {

View File

@ -1,5 +1,5 @@
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
index 917b51464fce..cdb5213d12d4 100644
index 2775fd430e02..f066901641e0 100644
--- content/browser/compositor/gpu_process_transport_factory.cc
+++ content/browser/compositor/gpu_process_transport_factory.cc
@@ -504,9 +504,19 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(

View File

@ -63,23 +63,24 @@ index 569e6112d86b..41599944688a 100644
allow_wildcard, NULL, &plugin, NULL);
}
diff --git chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
index dfbad402f1ea..7a332ea67611 100644
--- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
+++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
@@ -601,6 +601,6 @@ void BrowserTabStripController::OnFindURLMimeTypeCompleted(
diff --git chrome/browser/ui/views/frame/browser_root_view.cc chrome/browser/ui/views/frame/browser_root_view.cc
index d544c9ec13a3..b15c5b13d902 100644
--- chrome/browser/ui/views/frame/browser_root_view.cc
+++ chrome/browser/ui/views/frame/browser_root_view.cc
@@ -66,7 +66,7 @@ void OnFindURLMimeType(const GURL& url,
content::PluginService::GetInstance()->GetPluginInfo(
-1, // process ID
MSG_ROUTING_NONE, // routing ID
- model_->profile()->GetResourceContext(), url, url::Origin(),
+ model_->profile()->GetResourceContext(), url, true, url::Origin(),
mime_type, false, NULL, &plugin, NULL));
- profile->GetResourceContext(), url, url::Origin(), mime_type,
+ profile->GetResourceContext(), url, true, url::Origin(), mime_type,
false, nullptr, &plugin, nullptr));
}
diff --git content/browser/frame_host/navigation_handle_impl.cc content/browser/frame_host/navigation_handle_impl.cc
index de4e732fd84f..48a68c7f83f1 100644
index df35ab90fa05..3835d6d76a06 100644
--- content/browser/frame_host/navigation_handle_impl.cc
+++ content/browser/frame_host/navigation_handle_impl.cc
@@ -383,12 +383,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() {
@@ -380,12 +380,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() {
}
RenderFrameHostImpl* NavigationHandleImpl::GetRenderFrameHost() {
@ -93,10 +94,10 @@ index de4e732fd84f..48a68c7f83f1 100644
}
diff --git content/browser/frame_host/render_frame_host_impl.cc content/browser/frame_host/render_frame_host_impl.cc
index 1e13fa2ee857..1b6b236a8196 100644
index f289fb7cfd49..d7512011539b 100644
--- content/browser/frame_host/render_frame_host_impl.cc
+++ content/browser/frame_host/render_frame_host_impl.cc
@@ -1550,6 +1550,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
@@ -1551,6 +1551,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
if (GetNavigationHandle()) {
GetNavigationHandle()->set_net_error_code(
static_cast<net::Error>(params.error_code));
@ -104,7 +105,7 @@ index 1e13fa2ee857..1b6b236a8196 100644
}
frame_tree_node_->navigator()->DidFailProvisionalLoadWithError(this, params);
@@ -3436,9 +3437,9 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() {
@@ -3449,9 +3450,9 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() {
BrowserThread::GetTaskRunnerForThread(BrowserThread::IO));
if (base::FeatureList::IsEnabled(network::features::kNetworkService)) {
@ -117,7 +118,7 @@ index 1e13fa2ee857..1b6b236a8196 100644
// TODO(https://crbug.com/813479): Investigate why we need to explicitly
// specify task runner for BrowserThread::IO here.
// Bind calls to the BindRegistry should come on to the IO thread by
@@ -3712,9 +3713,9 @@ void RenderFrameHostImpl::CommitNavigation(
@@ -3724,9 +3725,9 @@ void RenderFrameHostImpl::CommitNavigation(
// however only do this for cross-document navigations, because the
// alternative would be redundant effort.
network::mojom::URLLoaderFactoryPtrInfo default_factory_info;
@ -130,22 +131,22 @@ index 1e13fa2ee857..1b6b236a8196 100644
if (subresource_loader_params &&
subresource_loader_params->loader_factory_info.is_valid()) {
// If the caller has supplied a default URLLoaderFactory override (for
@@ -4355,8 +4356,8 @@ void RenderFrameHostImpl::CreateNetworkServiceDefaultFactoryAndObserve(
// Keep DevTools proxy lasy, i.e. closest to the network.
@@ -4369,8 +4370,8 @@ void RenderFrameHostImpl::CreateNetworkServiceDefaultFactoryAndObserve(
RenderFrameDevToolsAgentHost::WillCreateURLLoaderFactory(
this, false, false, &default_factory_request);
this, false /* is_navigation */, false /* is_download */,
&default_factory_request);
- StoragePartitionImpl* storage_partition = static_cast<StoragePartitionImpl*>(
- BrowserContext::GetStoragePartition(context, GetSiteInstance()));
+ StoragePartition* storage_partition =
+ auto* storage_partition =
+ BrowserContext::GetStoragePartition(context, GetSiteInstance());
if (g_create_network_factory_callback_for_test.Get().is_null()) {
storage_partition->GetNetworkContext()->CreateURLLoaderFactory(
std::move(default_factory_request), GetProcess()->GetID());
diff --git content/browser/frame_host/render_frame_message_filter.cc content/browser/frame_host/render_frame_message_filter.cc
index d6ae1864eee2..31169d0bf4d0 100644
index 91bf248a67a5..ede635e9ef44 100644
--- content/browser/frame_host/render_frame_message_filter.cc
+++ content/browser/frame_host/render_frame_message_filter.cc
@@ -581,6 +581,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id,
@@ -588,6 +588,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id,
void RenderFrameMessageFilter::OnGetPlugins(
bool refresh,
@ -153,7 +154,7 @@ index d6ae1864eee2..31169d0bf4d0 100644
const url::Origin& main_frame_origin,
IPC::Message* reply_msg) {
// Don't refresh if the specified threshold has not been passed. Note that
@@ -602,18 +603,19 @@ void RenderFrameMessageFilter::OnGetPlugins(
@@ -609,18 +610,19 @@ void RenderFrameMessageFilter::OnGetPlugins(
PluginServiceImpl::GetInstance()->GetPlugins(
base::BindOnce(&RenderFrameMessageFilter::GetPluginsCallback, this,
@ -175,7 +176,7 @@ index d6ae1864eee2..31169d0bf4d0 100644
int routing_id = MSG_ROUTING_NONE;
// In this loop, copy the WebPluginInfo (and do not use a reference) because
// the filter might mutate it.
@@ -622,7 +624,7 @@ void RenderFrameMessageFilter::GetPluginsCallback(
@@ -629,7 +631,7 @@ void RenderFrameMessageFilter::GetPluginsCallback(
if (!filter ||
filter->IsPluginAvailable(child_process_id, routing_id,
resource_context_, main_frame_origin.GetURL(),
@ -184,7 +185,7 @@ index d6ae1864eee2..31169d0bf4d0 100644
plugins.push_back(plugin);
}
}
@@ -634,6 +636,7 @@ void RenderFrameMessageFilter::GetPluginsCallback(
@@ -641,6 +643,7 @@ void RenderFrameMessageFilter::GetPluginsCallback(
void RenderFrameMessageFilter::OnGetPluginInfo(
int render_frame_id,
const GURL& url,
@ -192,7 +193,7 @@ index d6ae1864eee2..31169d0bf4d0 100644
const url::Origin& main_frame_origin,
const std::string& mime_type,
bool* found,
@@ -642,8 +645,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
@@ -649,8 +652,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
bool allow_wildcard = true;
*found = plugin_service_->GetPluginInfo(
render_process_id_, render_frame_id, resource_context_, url,
@ -225,7 +226,7 @@ index 7f3ab224bd15..7fb3e94d8756 100644
const std::string& mime_type,
bool* found,
diff --git content/browser/loader/mime_sniffing_resource_handler.cc content/browser/loader/mime_sniffing_resource_handler.cc
index 577f62b57ff2..3847f8ec616a 100644
index 305f48e69dad..8bf94749e7d6 100644
--- content/browser/loader/mime_sniffing_resource_handler.cc
+++ content/browser/loader/mime_sniffing_resource_handler.cc
@@ -494,8 +494,8 @@ bool MimeSniffingResourceHandler::CheckForPluginHandler(
@ -274,10 +275,10 @@ index 4e11056a3dc9..973ad50975e1 100644
const std::string& mime_type,
bool allow_wildcard,
diff --git content/common/frame_messages.h content/common/frame_messages.h
index 5b1b0371b087..deaee55626dd 100644
index 1b5b3ad3dbbc..468289370554 100644
--- content/common/frame_messages.h
+++ content/common/frame_messages.h
@@ -1391,8 +1391,9 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
@@ -1384,8 +1384,9 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
// Used to get the list of plugins. |main_frame_origin| is used to handle
// exceptions for plugin content settings.
@ -288,7 +289,7 @@ index 5b1b0371b087..deaee55626dd 100644
url::Origin /* main_frame_origin */,
std::vector<content::WebPluginInfo> /* plugins */)
@@ -1400,9 +1401,10 @@ IPC_SYNC_MESSAGE_CONTROL2_1(FrameHostMsg_GetPlugins,
@@ -1393,9 +1394,10 @@ IPC_SYNC_MESSAGE_CONTROL2_1(FrameHostMsg_GetPlugins,
// type. If there is no matching plugin, |found| is false.
// |actual_mime_type| is the actual mime type supported by the
// found plugin.
@ -388,10 +389,10 @@ index 74a031ad10c3..3b3f9e292f4b 100644
virtual void FocusedNodeChanged(const blink::WebNode& node) {}
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
index 165f418781cb..85a28a9faf12 100644
index cba2c9ccd1d6..c2b272dee124 100644
--- content/renderer/render_frame_impl.cc
+++ content/renderer/render_frame_impl.cc
@@ -3278,7 +3278,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
@@ -3273,7 +3273,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
std::string mime_type;
bool found = false;
Send(new FrameHostMsg_GetPluginInfo(
@ -401,7 +402,7 @@ index 165f418781cb..85a28a9faf12 100644
params.mime_type.Utf8(), &found, &info, &mime_type));
if (!found)
return nullptr;
@@ -3643,6 +3644,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
@@ -3638,6 +3639,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
void RenderFrameImpl::FrameFocused() {
Send(new FrameHostMsg_FrameFocused(routing_id_));
@ -411,10 +412,10 @@ index 165f418781cb..85a28a9faf12 100644
void RenderFrameImpl::WillCommitProvisionalLoad() {
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index 02c3aa656b66..c993780d2539 100644
index 03b9de4df7e9..db2e2407b6b1 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -900,6 +900,8 @@ void RenderThreadImpl::Init(
@@ -893,6 +893,8 @@ void RenderThreadImpl::Init(
StartServiceManagerConnection();
@ -424,7 +425,7 @@ index 02c3aa656b66..c993780d2539 100644
base::Bind(&RenderThreadImpl::OnRendererInterfaceRequest,
base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index 51e1bd539972..74e1b81b1955 100644
index 23d5d95ecd03..609fd81e7c27 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -788,6 +788,7 @@ RendererBlinkPlatformImpl::CreateMIDIAccessor(

View File

@ -127,7 +127,7 @@ index fdc51ab22807..cb0a99dd190c 100644
g_crash_helper_enabled = true;
return true;
diff --git components/crash/content/app/breakpad_linux.cc components/crash/content/app/breakpad_linux.cc
index 87703f9a5276..a651ed2b1833 100644
index e57c54b9cf6c..caee714efe38 100644
--- components/crash/content/app/breakpad_linux.cc
+++ components/crash/content/app/breakpad_linux.cc
@@ -28,6 +28,7 @@
@ -155,7 +155,7 @@ index 87703f9a5276..a651ed2b1833 100644
info.process_start_time = g_process_start_time;
info.oom_size = base::g_oom_size;
info.pid = g_pid;
@@ -1341,7 +1343,7 @@ void ExecUploadProcessOrTerminate(const BreakpadInfo& info,
@@ -1342,7 +1344,7 @@ void ExecUploadProcessOrTerminate(const BreakpadInfo& info,
header_content_encoding,
header_content_type,
post_file,
@ -164,7 +164,7 @@ index 87703f9a5276..a651ed2b1833 100644
"--timeout=10", // Set a timeout so we don't hang forever.
"--tries=1", // Don't retry if the upload fails.
"-O", // Output reply to the file descriptor path.
@@ -1681,10 +1683,19 @@ void HandleCrashDump(const BreakpadInfo& info) {
@@ -1682,10 +1684,19 @@ void HandleCrashDump(const BreakpadInfo& info) {
GetCrashReporterClient()->GetProductNameAndVersion(&product_name, &version);
writer.AddBoundary();
@ -186,7 +186,7 @@ index 87703f9a5276..a651ed2b1833 100644
if (info.pid > 0) {
char pid_value_buf[kUint64StringSize];
uint64_t pid_value_len = my_uint64_len(info.pid);
@@ -1802,10 +1813,20 @@ void HandleCrashDump(const BreakpadInfo& info) {
@@ -1803,10 +1814,20 @@ void HandleCrashDump(const BreakpadInfo& info) {
crash_reporter::internal::TransitionalCrashKeyStorage;
CrashKeyStorage::Iterator crash_key_iterator(*info.crash_keys);
const CrashKeyStorage::Entry* entry;
@ -208,7 +208,7 @@ index 87703f9a5276..a651ed2b1833 100644
writer.AddBoundary();
writer.Flush();
}
@@ -2015,6 +2036,17 @@ void SetChannelCrashKey(const std::string& channel) {
@@ -2016,6 +2037,17 @@ void SetChannelCrashKey(const std::string& channel) {
channel_key.Set(channel);
}
@ -402,7 +402,7 @@ index a5f6b2e6f423..b3892d3743ff 100644
->set_system_crash_reporter_forwarding(crashpad::TriState::kDisabled);
}
diff --git components/crash/content/app/crashpad_mac.mm components/crash/content/app/crashpad_mac.mm
index eb82f44053ce..daf2c722837c 100644
index eb82f44053ce..73cfcc15998d 100644
--- components/crash/content/app/crashpad_mac.mm
+++ components/crash/content/app/crashpad_mac.mm
@@ -16,11 +16,14 @@
@ -429,7 +429,7 @@ index eb82f44053ce..daf2c722837c 100644
- framework_bundle_path.Append("Helpers").Append("crashpad_handler");
+ // Use the same subprocess helper exe.
+ base::FilePath handler_path;
+ PathService::Get(content::CHILD_PROCESS_EXE, &handler_path);
+ base::PathService::Get(content::CHILD_PROCESS_EXE, &handler_path);
+ DCHECK(!handler_path.empty());
// Is there a way to recover if this fails?

View File

@ -27,10 +27,10 @@ index 53c7404ef1f9..ac33df7cfe0e 100644
auto* browser_context = web_contents->GetBrowserContext();
StreamsPrivateAPI* streams_private = GetStreamsPrivateAPI(browser_context);
diff --git content/browser/frame_host/render_frame_host_manager.cc content/browser/frame_host/render_frame_host_manager.cc
index d7875ac0c044..d369de7e33f1 100644
index 73b66a56be83..3f60cbf1a727 100644
--- content/browser/frame_host/render_frame_host_manager.cc
+++ content/browser/frame_host/render_frame_host_manager.cc
@@ -903,10 +903,11 @@ bool RenderFrameHostManager::ShouldSwapBrowsingInstancesForNavigation(
@@ -897,10 +897,11 @@ bool RenderFrameHostManager::ShouldSwapBrowsingInstancesForNavigation(
// TODO(alexmos): This check should've been enforced earlier in the
// navigation, in chrome::Navigate(). Verify this, and then convert this to
// a CHECK and remove the fallback.
@ -46,7 +46,7 @@ index d7875ac0c044..d369de7e33f1 100644
return true;
}
@@ -1046,7 +1047,8 @@ RenderFrameHostManager::GetSiteInstanceForNavigation(
@@ -1041,7 +1042,8 @@ RenderFrameHostManager::GetSiteInstanceForNavigation(
// Double-check that the new SiteInstance is associated with the right
// BrowserContext.
@ -57,12 +57,12 @@ index d7875ac0c044..d369de7e33f1 100644
// If |new_instance| is a new SiteInstance for a subframe that requires a
// dedicated process, set its process reuse policy so that such subframes are
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index 0a347624dcc5..46a2398b567f 100644
index 2dc3bf7a8006..034598edfada 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -366,6 +366,13 @@ class CONTENT_EXPORT ContentBrowserClient {
const GURL& current_url,
const GURL& new_url);
@@ -371,6 +371,13 @@ class CONTENT_EXPORT ContentBrowserClient {
// Returns true if error page should be isolated in its own process.
virtual bool ShouldIsolateErrorPage(bool in_main_frame);
+ // Returns true if two browser contexts should be considered the same. CEF
+ // uses this to treat *Impl and *Proxy contexts as the same.

View File

@ -12,7 +12,7 @@ index 36b54aca866c..06337f3f3086 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index 1ffcbba9a38d..e8863b981e8d 100644
index 9dec8407e62d..f3355fe8fc3e 100644
--- BUILD.gn
+++ BUILD.gn
@@ -192,6 +192,7 @@ group("gn_all") {

View File

@ -1,8 +1,8 @@
diff --git tools/gritsettings/resource_ids tools/gritsettings/resource_ids
index b2846be164ab..1afe8acb59b3 100644
index 7e838ac964fc..184708195c52 100644
--- tools/gritsettings/resource_ids
+++ tools/gritsettings/resource_ids
@@ -411,4 +411,11 @@
@@ -417,4 +417,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

@ -1,8 +1,8 @@
diff --git ui/base/ime/input_method_win_base.cc ui/base/ime/input_method_win_base.cc
index 0e89451afb3b..1a0bdac93c1b 100644
index 1040d54fa088..a5e72467610e 100644
--- ui/base/ime/input_method_win_base.cc
+++ ui/base/ime/input_method_win_base.cc
@@ -53,8 +53,9 @@ bool InputMethodWinBase::IsWindowFocused(const TextInputClient* client) const {
@@ -66,8 +66,9 @@ bool InputMethodWinBase::IsWindowFocused(const TextInputClient* client) const {
// receiving keyboard input as long as it is an active window. This works well
// even when the |attached_window_handle| becomes active but has not received
// WM_FOCUS yet.

View File

@ -1,5 +1,5 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index bb13f93c0277..52e610d0a28a 100644
index e4e0775ff9ee..03d4123187cf 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -153,7 +153,7 @@ declare_args() {
@ -60,18 +60,16 @@ index 96f8c0e71472..49c462b37e12 100644
ScopedStyleContext child_context(gtk_style_context_new());
gtk_style_context_set_path(child_context, path);
diff --git third_party/unrar/BUILD.gn third_party/unrar/BUILD.gn
index 6e2bc75171ee..9275f68d12e3 100644
--- third_party/unrar/BUILD.gn
+++ third_party/unrar/BUILD.gn
@@ -56,6 +56,10 @@ if (safe_browsing_mode == 1) {
"src/volume.cpp",
]
diff --git chrome/browser/ui/libgtkui/native_theme_gtk2.cc chrome/browser/ui/libgtkui/native_theme_gtk2.cc
index b24ff4b95f97..49e80717b1d6 100644
--- chrome/browser/ui/libgtkui/native_theme_gtk2.cc
+++ chrome/browser/ui/libgtkui/native_theme_gtk2.cc
@@ -163,6 +163,8 @@ SkColor NativeThemeGtk2::GetSystemColor(ColorId color_id) const {
return GetBgColor(GetMenu(), NORMAL);
+ if (is_posix && !is_mac) {
+ sources += [ "src/global.cpp" ]
+ }
+
configs -= [
"//build/config/compiler:chromium_code",
"//build/config/compiler:no_exceptions",
// Label
+ case kColorId_ActionableSubmenuVerticalSeparatorColor:
+ case kColorId_TouchableMenuItemLabelColor:
case kColorId_LabelEnabledColor:
return GetTextColor(GetEntry(), NORMAL);
case kColorId_LabelDisabledColor:

View File

@ -1,5 +1,5 @@
diff --git ui/gl/init/gl_initializer_mac.cc ui/gl/init/gl_initializer_mac.cc
index 30725d1f2a5f..1a0278110d78 100644
index f4789ebf3b0e..a7f5b21da372 100644
--- ui/gl/init/gl_initializer_mac.cc
+++ ui/gl/init/gl_initializer_mac.cc
@@ -47,11 +47,8 @@ bool InitializeOneOffForSandbox() {

View File

@ -34,10 +34,18 @@ index cf30bae0b202..009574ff488b 100644
#if !defined(OS_NACL)
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
index ca257370fb56..3d9b4cea21ce 100644
index 8e6f1f41def2..b07865ebae37 100644
--- base/message_loop/message_pump_win.cc
+++ base/message_loop/message_pump_win.cc
@@ -370,20 +370,28 @@ bool MessagePumpForUI::ProcessMessageHelper(const MSG& msg) {
@@ -11,6 +11,7 @@
#include "base/debug/alias.h"
#include "base/memory/ptr_util.h"
+#include "base/message_loop/message_loop_current.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/stringprintf.h"
#include "base/trace_event/trace_event.h"
@@ -369,20 +370,28 @@ bool MessagePumpForUI::ProcessMessageHelper(const MSG& msg) {
}
bool MessagePumpForUI::ProcessPumpReplacementMessage() {
@ -66,7 +74,7 @@ index ca257370fb56..3d9b4cea21ce 100644
+ // We should not process all window messages if we are in the context of an
+ // OS modal loop, i.e. in the context of a windows API call like MessageBox.
+ // This is to ensure that these messages are peeked out by the OS modal loop.
+ if (MessageLoop::current()->os_modal_loop()) {
+ if (MessageLoopCurrent::Get()->os_modal_loop()) {
+ // We only peek out WM_PAINT and WM_TIMER here for reasons mentioned above.
+ have_message = PeekMessage(&msg, NULL, WM_PAINT, WM_PAINT, PM_REMOVE) ||
+ PeekMessage(&msg, NULL, WM_TIMER, WM_TIMER, PM_REMOVE);

View File

@ -1,8 +1,8 @@
diff --git BUILD.gn BUILD.gn
index 19e85f99d..ed2da7390 100644
index 874a8f7d8..8a11f125c 100644
--- BUILD.gn
+++ BUILD.gn
@@ -242,6 +242,10 @@ jumbo_static_library("pdfium") {
@@ -244,6 +244,10 @@ jumbo_static_library("pdfium") {
complete_static_lib = true
configs -= [ "//build/config/compiler:thin_archive" ]
}
@ -14,10 +14,10 @@ index 19e85f99d..ed2da7390 100644
jumbo_static_library("test_support") {
diff --git fpdfsdk/fpdf_view.cpp fpdfsdk/fpdf_view.cpp
index 0015716d9..afb269a64 100644
index 6c4ad6020..bb069b005 100644
--- fpdfsdk/fpdf_view.cpp
+++ fpdfsdk/fpdf_view.cpp
@@ -36,6 +36,7 @@
@@ -37,6 +37,7 @@
#include "fpdfsdk/cpdfsdk_memoryaccess.h"
#include "fpdfsdk/cpdfsdk_pageview.h"
#include "fpdfsdk/ipdfsdk_pauseadapter.h"
@ -25,7 +25,7 @@ index 0015716d9..afb269a64 100644
#include "fxjs/ijs_runtime.h"
#include "public/fpdf_formfill.h"
#include "third_party/base/ptr_util.h"
@@ -192,6 +193,7 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_DestroyLibrary() {
@@ -193,6 +194,7 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_DestroyLibrary() {
CPDF_ModuleMgr::Destroy();
CFX_GEModule::Destroy();

View File

@ -1,5 +1,5 @@
diff --git content/public/common/common_param_traits_macros.h content/public/common/common_param_traits_macros.h
index 3b72878d9462..02ed570accd6 100644
index b297eae01757..65b4ac6ded54 100644
--- content/public/common/common_param_traits_macros.h
+++ content/public/common/common_param_traits_macros.h
@@ -185,6 +185,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
@ -35,10 +35,10 @@ index e4fc39c60fd7..f19fccf47261 100644
bool record_whole_document;
SavePreviousDocumentResources save_previous_document_resources;
diff --git content/renderer/render_view_impl.cc content/renderer/render_view_impl.cc
index c0df4120b0d1..679c8974fc95 100644
index 2533785a1911..3518aba46aef 100644
--- content/renderer/render_view_impl.cc
+++ content/renderer/render_view_impl.cc
@@ -1198,6 +1198,7 @@ void RenderViewImpl::ApplyWebPreferencesInternal(
@@ -1201,6 +1201,7 @@ void RenderViewImpl::ApplyWebPreferencesInternal(
blink::WebView* web_view,
CompositorDependencies* compositor_deps) {
ApplyWebPreferences(prefs, web_view);

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index b6f6dbf2c0c5..82672ca1320e 100644
index e7da097d25f4..8ca569703b26 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -891,6 +891,7 @@ split_static_library("ui") {
@@ -892,6 +892,7 @@ split_static_library("ui") {
"//base:i18n",
"//base/allocator:buildflags",
"//cc/paint",

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/printing/print_job_worker.cc chrome/browser/printing/print_job_worker.cc
index e08f806de054..bb7f75769d4a 100644
index 1065e808e621..ca9a0bd14652 100644
--- chrome/browser/printing/print_job_worker.cc
+++ chrome/browser/printing/print_job_worker.cc
@@ -145,6 +145,7 @@ PrintJobWorker::PrintJobWorker(int render_process_id,

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 01db5dbf533b..b70659867710 100644
index 6a0753f3f3b8..f567fee075e4 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -741,9 +741,11 @@ void RenderWidgetHostViewAura::UpdateBackgroundColorFromRenderer(
@@ -744,9 +744,11 @@ void RenderWidgetHostViewAura::UpdateBackgroundColorFromRenderer(
return;
background_color_ = color;
@ -17,7 +17,7 @@ index 01db5dbf533b..b70659867710 100644
}
void RenderWidgetHostViewAura::WindowTitleChanged() {
@@ -1892,6 +1894,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
@@ -1935,6 +1937,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
if (frame_sink_id_.is_valid())
window_->SetEmbedFrameSinkId(frame_sink_id_);
@ -30,6 +30,6 @@ index 01db5dbf533b..b70659867710 100644
+ ignore_result(rvh->GetWebkitPreferences());
+ }
+
if (!features::IsMusEnabled())
if (!features::IsMashEnabled())
return;

View File

@ -28,7 +28,7 @@ index 596cfaa01092..f341bca174d5 100644
origin, std::move(request)));
}
diff --git content/browser/blob_storage/chrome_blob_storage_context.cc content/browser/blob_storage/chrome_blob_storage_context.cc
index 89f917826da1..d102ad69f084 100644
index 17347dbfd102..193584187bd1 100644
--- content/browser/blob_storage/chrome_blob_storage_context.cc
+++ content/browser/blob_storage/chrome_blob_storage_context.cc
@@ -87,6 +87,11 @@ class BlobHandleImpl : public BlobHandle {
@ -111,7 +111,7 @@ index af7cced24feb..6a228c204912 100644
CHECK(GetUserData(kMojoWasInitialized))
<< "Attempting to destroy a BrowserContext that never called "
diff --git content/browser/devtools/protocol/network_handler.cc content/browser/devtools/protocol/network_handler.cc
index 4fa1766cf313..7f539e1e83a3 100644
index 65963b26bb4b..df4ea08a9588 100644
--- content/browser/devtools/protocol/network_handler.cc
+++ content/browser/devtools/protocol/network_handler.cc
@@ -889,8 +889,7 @@ class BackgroundSyncRestorer {
@ -161,10 +161,10 @@ index ec9ab86d0ca6..0fe5219f1e84 100644
base::WeakPtrFactory<ServiceWorkerHandler> weak_factory_;
diff --git content/browser/download/download_manager_impl.cc content/browser/download/download_manager_impl.cc
index 591f60dc8f96..ad90a2648e23 100644
index eb14d255d48b..ecea6e42e595 100644
--- content/browser/download/download_manager_impl.cc
+++ content/browser/download/download_manager_impl.cc
@@ -85,9 +85,9 @@
@@ -84,9 +84,9 @@
namespace content {
namespace {
@ -177,7 +177,7 @@ index 591f60dc8f96..ad90a2648e23 100644
DCHECK_CURRENTLY_ON(BrowserThread::UI);
SiteInstance* site_instance = nullptr;
@@ -97,8 +97,7 @@ StoragePartitionImpl* GetStoragePartition(BrowserContext* context,
@@ -96,8 +96,7 @@ StoragePartitionImpl* GetStoragePartition(BrowserContext* context,
if (render_frame_host_)
site_instance = render_frame_host_->GetSiteInstance();
}
@ -187,16 +187,16 @@ index 591f60dc8f96..ad90a2648e23 100644
}
bool CanRequestURLFromRenderer(int render_process_id, GURL url) {
@@ -251,7 +250,7 @@ base::FilePath GetTemporaryDownloadDirectory() {
@@ -250,7 +249,7 @@ base::FilePath GetTemporaryDownloadDirectory() {
#endif
scoped_refptr<download::DownloadURLLoaderFactoryGetter>
-CreateDownloadURLLoaderFactoryGetter(StoragePartitionImpl* storage_partition,
+CreateDownloadURLLoaderFactoryGetter(StoragePartition* storage_partition,
RenderFrameHost* rfh,
bool has_suggested_filename) {
bool is_download) {
network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info;
@@ -268,7 +267,7 @@ CreateDownloadURLLoaderFactoryGetter(StoragePartitionImpl* storage_partition,
@@ -267,7 +266,7 @@ CreateDownloadURLLoaderFactoryGetter(StoragePartitionImpl* storage_partition,
}
}
return base::MakeRefCounted<NetworkDownloadURLLoaderFactoryGetter>(
@ -205,7 +205,7 @@ index 591f60dc8f96..ad90a2648e23 100644
std::move(proxy_factory_ptr_info), std::move(proxy_factory_request));
}
@@ -598,8 +597,8 @@ void DownloadManagerImpl::ResumeInterruptedDownload(
@@ -597,8 +596,8 @@ void DownloadManagerImpl::ResumeInterruptedDownload(
std::unique_ptr<download::DownloadUrlParameters> params,
uint32_t id,
const GURL& site_url) {
@ -216,7 +216,7 @@ index 591f60dc8f96..ad90a2648e23 100644
params->set_url_request_context_getter(
storage_partition->GetURLRequestContext());
BeginDownloadInternal(std::move(params), nullptr /* blob_data_handle */,
@@ -789,7 +788,7 @@ void DownloadManagerImpl::DownloadUrl(
@@ -787,7 +786,7 @@ void DownloadManagerImpl::DownloadUrl(
download::RecordDownloadCountWithSource(
download::DownloadCountTypes::DOWNLOAD_TRIGGERED_COUNT,
params->download_source());
@ -225,7 +225,7 @@ index 591f60dc8f96..ad90a2648e23 100644
GetStoragePartition(browser_context_, params->render_process_host_id(),
params->render_frame_host_routing_id());
BeginDownloadInternal(std::move(params), std::move(blob_data_handle),
@@ -1008,7 +1007,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete(
@@ -1005,7 +1004,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete(
tab_referrer_url = entry->GetReferrer().url;
}
}
@ -234,7 +234,7 @@ index 591f60dc8f96..ad90a2648e23 100644
GetStoragePartition(browser_context_, render_process_id, render_frame_id);
in_progress_manager_->InterceptDownloadFromNavigation(
std::move(resource_request), render_process_id, render_frame_id, site_url,
@@ -1024,7 +1023,7 @@ void DownloadManagerImpl::BeginDownloadInternal(
@@ -1020,7 +1019,7 @@ void DownloadManagerImpl::BeginDownloadInternal(
std::unique_ptr<storage::BlobDataHandle> blob_data_handle,
scoped_refptr<network::SharedURLLoaderFactory> blob_url_loader_factory,
uint32_t id,
@ -244,7 +244,7 @@ index 591f60dc8f96..ad90a2648e23 100644
if (params->render_process_host_id() >= 0 &&
!CanRequestURLFromRenderer(params->render_process_host_id(),
diff --git content/browser/download/download_manager_impl.h content/browser/download/download_manager_impl.h
index f79ea7165dfd..35b545213c31 100644
index b62b8ae7eb8a..3f4d01b03ebb 100644
--- content/browser/download/download_manager_impl.h
+++ content/browser/download/download_manager_impl.h
@@ -42,7 +42,7 @@ class DownloadRequestHandleInterface;
@ -256,7 +256,7 @@ index f79ea7165dfd..35b545213c31 100644
class CONTENT_EXPORT DownloadManagerImpl
: public DownloadManager,
@@ -248,7 +248,7 @@ class CONTENT_EXPORT DownloadManagerImpl
@@ -247,7 +247,7 @@ class CONTENT_EXPORT DownloadManagerImpl
std::unique_ptr<storage::BlobDataHandle> blob_data_handle,
scoped_refptr<network::SharedURLLoaderFactory> blob_url_loader_factory,
uint32_t id,
@ -266,10 +266,10 @@ index f79ea7165dfd..35b545213c31 100644
void InterceptNavigationOnChecksComplete(
ResourceRequestInfo::WebContentsGetter web_contents_getter,
diff --git content/browser/loader/navigation_url_loader_network_service.cc content/browser/loader/navigation_url_loader_network_service.cc
index 955cb24e64d1..1c2abdf645dc 100644
index 3cc782fcc7dd..653706abe893 100644
--- content/browser/loader/navigation_url_loader_network_service.cc
+++ content/browser/loader/navigation_url_loader_network_service.cc
@@ -892,7 +892,7 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController
@@ -884,7 +884,7 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController
// path does as well for navigations.
bool has_plugin = PluginService::GetInstance()->GetPluginInfo(
-1 /* render_process_id */, -1 /* render_frame_id */, resource_context_,
@ -278,7 +278,7 @@ index 955cb24e64d1..1c2abdf645dc 100644
false /* allow_wildcard */, &stale, &plugin, nullptr);
if (stale) {
@@ -1259,7 +1259,7 @@ NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService(
@@ -1241,7 +1241,7 @@ NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService(
}
}
@ -287,16 +287,16 @@ index 955cb24e64d1..1c2abdf645dc 100644
non_network_url_loader_factories_[url::kFileScheme] =
std::make_unique<FileURLLoaderFactory>(
partition->browser_context()->GetPath(),
@@ -1273,7 +1273,8 @@ NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService(
@@ -1255,7 +1255,8 @@ NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService(
DCHECK(!request_controller_);
request_controller_ = std::make_unique<URLLoaderRequestController>(
std::move(initial_interceptors), std::move(new_request), resource_context,
- partition->url_loader_factory_getter(), request_info->common_params.url,
+ base::WrapRefCounted(partition->url_loader_factory_getter()),
+ request_info->common_params.url,
request_info->begin_params->initiator_origin,
request_info->common_params.suggested_filename,
std::move(proxied_factory_request), std::move(proxied_factory_info),
std::move(known_schemes), weak_factory_.GetWeakPtr());
BrowserThread::PostTask(
diff --git content/browser/payments/payment_app_installer.cc content/browser/payments/payment_app_installer.cc
index 6a6e31bdb070..dce0433e1775 100644
--- content/browser/payments/payment_app_installer.cc
@ -344,10 +344,10 @@ index dd0af046aec4..f5ad5b37c1f3 100644
partition->GetPaymentAppContext();
diff --git content/browser/renderer_host/render_process_host_impl.cc content/browser/renderer_host/render_process_host_impl.cc
index 20994fc0a49c..f2f79f299d20 100644
index 8a5c3e12a938..5c87e5cfffbe 100644
--- content/browser/renderer_host/render_process_host_impl.cc
+++ content/browser/renderer_host/render_process_host_impl.cc
@@ -732,11 +732,10 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data,
@@ -733,11 +733,10 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data,
// Gets the correct render process to use for this SiteInstance.
RenderProcessHost* GetProcessHost(SiteInstance* site_instance,
bool is_for_guests_only) {
@ -363,7 +363,7 @@ index 20994fc0a49c..f2f79f299d20 100644
// Is this the default storage partition? If it isn't, then just give it its
// own non-shared process.
@@ -1349,7 +1348,7 @@ int RenderProcessHost::GetCurrentRenderProcessCountForTesting() {
@@ -1344,7 +1343,7 @@ int RenderProcessHost::GetCurrentRenderProcessCountForTesting() {
// static
RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost(
BrowserContext* browser_context,
@ -372,7 +372,7 @@ index 20994fc0a49c..f2f79f299d20 100644
SiteInstance* site_instance,
bool is_for_guests_only) {
if (g_render_process_host_factory_) {
@@ -1358,8 +1357,8 @@ RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost(
@@ -1353,8 +1352,8 @@ RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost(
}
if (!storage_partition_impl) {
@ -383,7 +383,7 @@ index 20994fc0a49c..f2f79f299d20 100644
}
// If we've made a StoragePartition for guests (e.g., for the <webview> tag),
// stash the Site URL on it. This way, when we start a service worker inside
@@ -1384,7 +1383,7 @@ const unsigned int RenderProcessHostImpl::kMaxFrameDepthForPriority =
@@ -1379,7 +1378,7 @@ const unsigned int RenderProcessHostImpl::kMaxFrameDepthForPriority =
RenderProcessHostImpl::RenderProcessHostImpl(
BrowserContext* browser_context,
@ -392,7 +392,7 @@ index 20994fc0a49c..f2f79f299d20 100644
bool is_for_guests_only)
: fast_shutdown_started_(false),
deleting_soon_(false),
@@ -1417,7 +1416,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
@@ -1412,7 +1411,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
indexed_db_factory_(new IndexedDBDispatcherHost(
id_,
storage_partition_impl_->GetURLRequestContext(),
@ -402,7 +402,7 @@ index 20994fc0a49c..f2f79f299d20 100644
ChromeBlobStorageContext::GetFor(browser_context_))),
channel_connected_(false),
sent_render_process_ready_(false),
@@ -1452,7 +1452,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
@@ -1447,7 +1447,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
}
push_messaging_manager_.reset(new PushMessagingManager(
@ -412,7 +412,7 @@ index 20994fc0a49c..f2f79f299d20 100644
AddObserver(indexed_db_factory_.get());
#if defined(OS_MACOSX)
@@ -1780,6 +1781,20 @@ void RenderProcessHostImpl::ResetChannelProxy() {
@@ -1775,6 +1776,20 @@ void RenderProcessHostImpl::ResetChannelProxy() {
void RenderProcessHostImpl::CreateMessageFilters() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -433,7 +433,7 @@ index 20994fc0a49c..f2f79f299d20 100644
AddFilter(new ResourceSchedulerFilter(GetID()));
MediaInternals* media_internals = MediaInternals::GetInstance();
// Add BrowserPluginMessageFilter to ensure it gets the first stab at messages
@@ -1793,8 +1808,8 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1788,8 +1803,8 @@ void RenderProcessHostImpl::CreateMessageFilters() {
new RenderMessageFilter(
GetID(), GetBrowserContext(), request_context.get(),
widget_helper_.get(), media_internals,
@ -444,7 +444,7 @@ index 20994fc0a49c..f2f79f299d20 100644
AddFilter(render_message_filter.get());
render_frame_message_filter_ = new RenderFrameMessageFilter(
@@ -1821,10 +1836,10 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1816,10 +1831,10 @@ void RenderProcessHostImpl::CreateMessageFilters() {
ChromeBlobStorageContext::GetFor(browser_context);
resource_message_filter_ = new ResourceMessageFilter(
@ -457,7 +457,7 @@ index 20994fc0a49c..f2f79f299d20 100644
storage_partition_impl_->GetPrefetchURLLoaderService(),
std::move(get_contexts_callback),
BrowserThread::GetTaskRunnerForThread(BrowserThread::IO));
@@ -1833,8 +1848,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1828,8 +1843,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
AddFilter(
new MidiHost(GetID(), BrowserMainLoop::GetInstance()->midi_service()));
@ -467,7 +467,7 @@ index 20994fc0a49c..f2f79f299d20 100644
#if BUILDFLAG(ENABLE_WEBRTC)
peer_connection_tracker_host_ = new PeerConnectionTrackerHost(GetID());
@@ -1854,8 +1868,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1849,8 +1863,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
scoped_refptr<ServiceWorkerDispatcherHost> service_worker_filter =
new ServiceWorkerDispatcherHost(GetID(), resource_context);
@ -477,7 +477,7 @@ index 20994fc0a49c..f2f79f299d20 100644
AddFilter(service_worker_filter.get());
#if BUILDFLAG(ENABLE_WEBRTC)
@@ -1867,11 +1880,8 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1862,11 +1875,8 @@ void RenderProcessHostImpl::CreateMessageFilters() {
AddFilter(new TraceMessageFilter(GetID()));
AddFilter(new ResolveProxyMsgHelper(request_context.get()));
@ -490,7 +490,7 @@ index 20994fc0a49c..f2f79f299d20 100644
resource_context, service_worker_context, browser_context);
AddFilter(notification_message_filter_.get());
}
@@ -1885,7 +1895,8 @@ void RenderProcessHostImpl::BindCacheStorage(
@@ -1880,7 +1890,8 @@ void RenderProcessHostImpl::BindCacheStorage(
cache_storage_dispatcher_host_ =
base::MakeRefCounted<CacheStorageDispatcherHost>();
cache_storage_dispatcher_host_->Init(
@ -500,7 +500,7 @@ index 20994fc0a49c..f2f79f299d20 100644
}
// Send the binding to IO thread, because Cache Storage handles Mojo IPC on IO
// thread entirely.
@@ -2018,7 +2029,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
@@ -2013,7 +2024,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
registry->AddInterface(base::BindRepeating(
&AppCacheDispatcherHost::Create,
@ -511,7 +511,7 @@ index 20994fc0a49c..f2f79f299d20 100644
AddUIThreadInterface(registry.get(), base::Bind(&FieldTrialRecorder::Create));
diff --git content/browser/renderer_host/render_process_host_impl.h content/browser/renderer_host/render_process_host_impl.h
index e709fd121d7c..b67e0d854e07 100644
index 403fcc676b0f..886f62977604 100644
--- content/browser/renderer_host/render_process_host_impl.h
+++ content/browser/renderer_host/render_process_host_impl.h
@@ -88,7 +88,6 @@ class ResourceMessageFilter;
@ -619,10 +619,10 @@ index 597e99215428..29c6ba3049b7 100644
base::BindOnce(&SharedWorkerServiceImpl::StartWorker,
weak_factory_.GetWeakPtr(), std::move(instance),
diff --git content/browser/storage_partition_impl.h content/browser/storage_partition_impl.h
index 2cf35167ebaa..646392017593 100644
index 07992017538c..94d6dcd425a1 100644
--- content/browser/storage_partition_impl.h
+++ content/browser/storage_partition_impl.h
@@ -96,7 +96,7 @@ class CONTENT_EXPORT StoragePartitionImpl
@@ -95,7 +95,7 @@ class CONTENT_EXPORT StoragePartitionImpl
storage::FileSystemContext* GetFileSystemContext() override;
storage::DatabaseTracker* GetDatabaseTracker() override;
DOMStorageContextWrapper* GetDOMStorageContext() override;
@ -631,7 +631,7 @@ index 2cf35167ebaa..646392017593 100644
IndexedDBContextImpl* GetIndexedDBContext() override;
CacheStorageContextImpl* GetCacheStorageContext() override;
ServiceWorkerContextWrapper* GetServiceWorkerContext() override;
@@ -135,14 +135,14 @@ class CONTENT_EXPORT StoragePartitionImpl
@@ -134,14 +134,14 @@ class CONTENT_EXPORT StoragePartitionImpl
void FlushNetworkInterfaceForTesting() override;
void WaitForDeletionTasksForTesting() override;
@ -654,7 +654,7 @@ index 2cf35167ebaa..646392017593 100644
// mojom::StoragePartitionService interface.
void OpenLocalStorage(const url::Origin& origin,
@@ -151,18 +151,18 @@ class CONTENT_EXPORT StoragePartitionImpl
@@ -150,18 +150,18 @@ class CONTENT_EXPORT StoragePartitionImpl
const std::string& namespace_id,
mojom::SessionStorageNamespaceRequest request) override;
@ -677,7 +677,7 @@ index 2cf35167ebaa..646392017593 100644
auto& bindings_for_testing() { return bindings_; }
@@ -173,10 +173,11 @@ class CONTENT_EXPORT StoragePartitionImpl
@@ -172,10 +172,11 @@ class CONTENT_EXPORT StoragePartitionImpl
// one must use the "chrome-guest://blahblah" site URL to ensure that the
// service worker stays in this StoragePartition. This is an empty GURL if
// this StoragePartition is not for guests.
@ -779,7 +779,7 @@ index dffff04f6f86..29a0653b8fa5 100644
std::map<std::string, service_manager::EmbeddedServiceInfo>;
diff --git content/public/browser/storage_partition.h content/public/browser/storage_partition.h
index 5a3984eb6efb..fa57b523eaf2 100644
index db26f7cfcef9..3a46d95fc6f3 100644
--- content/public/browser/storage_partition.h
+++ content/public/browser/storage_partition.h
@@ -14,6 +14,7 @@
@ -787,8 +787,8 @@ index 5a3984eb6efb..fa57b523eaf2 100644
#include "base/time/time.h"
#include "content/common/content_export.h"
+#include "mojo/public/cpp/bindings/binding_set.h"
#include "net/cookies/cookie_store.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
#include "services/network/public/mojom/cookie_manager.mojom.h"
@@ -59,12 +60,27 @@ class ServiceWorkerContext;
class SharedWorkerService;
@ -818,7 +818,7 @@ index 5a3984eb6efb..fa57b523eaf2 100644
// Defines what persistent state a child process can access.
//
// The StoragePartition defines the view each child process has of the
@@ -97,6 +113,7 @@ class CONTENT_EXPORT StoragePartition {
@@ -102,6 +118,7 @@ class CONTENT_EXPORT StoragePartition {
virtual storage::FileSystemContext* GetFileSystemContext() = 0;
virtual storage::DatabaseTracker* GetDatabaseTracker() = 0;
virtual DOMStorageContext* GetDOMStorageContext() = 0;
@ -826,7 +826,7 @@ index 5a3984eb6efb..fa57b523eaf2 100644
virtual IndexedDBContext* GetIndexedDBContext() = 0;
virtual ServiceWorkerContext* GetServiceWorkerContext() = 0;
virtual SharedWorkerService* GetSharedWorkerService() = 0;
@@ -213,6 +230,26 @@ class CONTENT_EXPORT StoragePartition {
@@ -223,6 +240,26 @@ class CONTENT_EXPORT StoragePartition {
// Wait until all deletions tasks are finished. For test use only.
virtual void WaitForDeletionTasksForTesting() = 0;

View File

@ -1,5 +1,5 @@
diff --git ui/base/models/menu_model.h ui/base/models/menu_model.h
index 605dc1b17e43..24c385a53289 100644
index a19e6e937f87..817b7eada253 100644
--- ui/base/models/menu_model.h
+++ ui/base/models/menu_model.h
@@ -15,6 +15,7 @@
@ -10,7 +10,7 @@ index 605dc1b17e43..24c385a53289 100644
struct VectorIcon;
}
@@ -120,6 +121,27 @@ class UI_BASE_EXPORT MenuModel {
@@ -121,6 +122,27 @@ class UI_BASE_EXPORT MenuModel {
// |event_flags| is a bit mask of ui::EventFlags.
virtual void ActivatedAt(int index, int event_flags);
@ -154,7 +154,7 @@ index b2323dae3d9e..4b9546ca1a61 100644
ImageView* image() const { return image_; }
Label* label() const;
diff --git ui/views/controls/button/menu_button.cc ui/views/controls/button/menu_button.cc
index b6996aab742c..ef7ac692a21d 100644
index 4b4c769910e3..d5ac9e531200 100644
--- ui/views/controls/button/menu_button.cc
+++ ui/views/controls/button/menu_button.cc
@@ -178,7 +178,7 @@ bool MenuButton::IsTriggerableEventType(const ui::Event& event) {
@ -295,10 +295,10 @@ index 1d35afeda78f..333f9c0f778d 100644
std::unique_ptr<SelectionController> selection_controller_;
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
index c1ba25788dd6..8ed6b781e06a 100644
index 5ee38baa45f9..fa0f8a090fa7 100644
--- ui/views/controls/menu/menu_controller.cc
+++ ui/views/controls/menu/menu_controller.cc
@@ -2315,8 +2315,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
@@ -2408,8 +2408,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
void MenuController::OpenSubmenuChangeSelectionIfCan() {
MenuItemView* item = pending_state_.item;
@ -313,7 +313,7 @@ index c1ba25788dd6..8ed6b781e06a 100644
MenuItemView* to_select = NULL;
if (item->GetSubmenu()->GetMenuItemCount() > 0)
to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN);
@@ -2331,8 +2336,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
@@ -2424,8 +2429,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
void MenuController::CloseSubmenu() {
MenuItemView* item = state_.item;
DCHECK(item);
@ -373,10 +373,10 @@ index 4dea63f9f286..ef50b710c5af 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 5c21e2213bfa..f5a35ea10ed9 100644
index 4eb50c922aa4..52a3b414a017 100644
--- ui/views/controls/menu/menu_item_view.cc
+++ ui/views/controls/menu/menu_item_view.cc
@@ -842,7 +842,12 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
@@ -896,7 +896,12 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
// only need the background when we want it to look different, as when we're
// selected.
ui::NativeTheme* native_theme = GetNativeTheme();
@ -388,9 +388,9 @@ index 5c21e2213bfa..f5a35ea10ed9 100644
+ canvas->DrawColor(override_color);
+ } else if (render_selection) {
gfx::Rect item_bounds(0, 0, width(), height());
AdjustBoundsForRTLUI(&item_bounds);
@@ -952,6 +957,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
if (type_ == ACTIONABLE_SUBMENU) {
if (submenu_area_of_actionable_submenu_selected_) {
@@ -1015,6 +1020,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
SkColor MenuItemView::GetTextColor(bool minor,
bool render_selection,
bool emphasized) const {
@ -405,10 +405,10 @@ index 5c21e2213bfa..f5a35ea10ed9 100644
minor ? ui::NativeTheme::kColorId_MenuItemMinorTextColor
: ui::NativeTheme::kColorId_EnabledMenuItemForegroundColor;
diff --git ui/views/controls/menu/menu_model_adapter.cc ui/views/controls/menu/menu_model_adapter.cc
index e1a2339bddbf..1f209c328a94 100644
index e9cfe1c466c6..bc6797a8205d 100644
--- ui/views/controls/menu/menu_model_adapter.cc
+++ ui/views/controls/menu/menu_model_adapter.cc
@@ -228,6 +228,77 @@ void MenuModelAdapter::SelectionChanged(MenuItemView* menu) {
@@ -231,6 +231,77 @@ void MenuModelAdapter::SelectionChanged(MenuItemView* menu) {
NOTREACHED();
}
@ -512,7 +512,7 @@ index 0ac493c3c6a0..741769e90eb0 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 e35e0509480f..7594bb47e5d0 100644
index abcc8e28e7e5..574d46d03505 100644
--- ui/views/controls/menu/menu_scroll_view_container.cc
+++ ui/views/controls/menu/menu_scroll_view_container.cc
@@ -183,6 +183,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)

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 909cbf39b2e0..f91f652a9d73 100644
index 8dfffd595a2a..757e7ef538f7 100644
--- content/browser/renderer_host/render_widget_host_view_base.cc
+++ content/browser/renderer_host/render_widget_host_view_base.cc
@@ -376,6 +376,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const {
@@ -395,6 +395,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const {
return screen_info.device_scale_factor;
}
@ -18,10 +18,10 @@ index 909cbf39b2e0..f91f652a9d73 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 04b50a9fcefb..c0b509f4881f 100644
index 5e762d94c6ba..57c51ab01a5b 100644
--- content/browser/renderer_host/render_widget_host_view_base.h
+++ content/browser/renderer_host/render_widget_host_view_base.h
@@ -81,6 +81,7 @@ class CursorManager;
@@ -83,6 +83,7 @@ class CursorManager;
class MouseWheelPhaseHandler;
class RenderWidgetHostImpl;
class RenderWidgetHostViewBaseObserver;
@ -29,7 +29,7 @@ index 04b50a9fcefb..c0b509f4881f 100644
class SyntheticGestureTarget;
class TextInputManager;
class TouchSelectionControllerClientManager;
@@ -102,6 +103,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -104,6 +105,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
float current_device_scale_factor() const {
return current_device_scale_factor_;
}
@ -39,7 +39,7 @@ index 04b50a9fcefb..c0b509f4881f 100644
// Returns the focused RenderWidgetHost inside this |view|'s RWH.
RenderWidgetHostImpl* GetFocusedWidget() const;
@@ -133,6 +137,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -136,6 +140,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
void DisableAutoResize(const gfx::Size& new_size) override;
bool IsScrollOffsetAtTop() const override;
float GetDeviceScaleFactor() const final;
@ -48,7 +48,7 @@ index 04b50a9fcefb..c0b509f4881f 100644
TouchSelectionControllerClientManager*
GetTouchSelectionControllerClientManager() override;
@@ -426,6 +432,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -446,6 +452,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,9 +61,9 @@ index 04b50a9fcefb..c0b509f4881f 100644
// Sets the cursor for this view to the one associated with the specified
// cursor_type.
virtual void UpdateCursor(const WebCursor& cursor) = 0;
@@ -600,6 +612,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -622,6 +634,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
bool is_currently_scrolling_viewport_;
bool use_viz_hit_test_ = false;
+ // True if the widget has a external parent view/window outside of the
+ // Chromium-controlled view/window hierarchy.
@ -73,11 +73,11 @@ index 04b50a9fcefb..c0b509f4881f 100644
#if defined(USE_AURA)
void OnDidScheduleEmbed(int routing_id,
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 e046d3a5e231..4c9d6059adb9 100644
index e9bef08d3222..09bae481b663 100644
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
@@ -30,6 +30,10 @@
#include "ui/events/keycodes/dom/keycode_converter.h"
#include "ui/events/keycodes/dom/dom_code.h"
#include "ui/touch_selection/touch_selection_controller.h"
+#if defined(OS_LINUX)
@ -103,10 +103,10 @@ index e046d3a5e231..4c9d6059adb9 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 3b9d91220e63..2c5ae39a7cda 100644
index c36409dbbcc3..b12f0a737081 100644
--- content/public/browser/render_widget_host_view.h
+++ content/public/browser/render_widget_host_view.h
@@ -245,6 +245,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
@@ -253,6 +253,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
// This must always return the same device scale factor as GetScreenInfo.
virtual float GetDeviceScaleFactor() const = 0;
@ -135,10 +135,10 @@ index f772f64d656e..7d13f9f81b6c 100644
return host ? host->GetAcceleratedWidget() : NULL;
}
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 7c6128891689..c25deaeeb31d 100644
index 88bebe016729..95345ae3c53a 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -85,6 +85,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
@@ -86,6 +86,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
should_animate_window_close_(false),
pending_close_(false),
has_non_client_view_(false),
@ -146,7 +146,7 @@ index 7c6128891689..c25deaeeb31d 100644
tooltip_(NULL) {
}
@@ -119,8 +120,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
@@ -120,8 +121,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
native_widget_delegate_);
HWND parent_hwnd = NULL;
@ -160,7 +160,7 @@ index 7c6128891689..c25deaeeb31d 100644
remove_standard_frame_ = params.remove_standard_frame;
has_non_client_view_ = Widget::RequiresNonClientView(params.type);
@@ -857,11 +862,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
@@ -858,11 +863,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
}
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
@ -179,10 +179,10 @@ index 7c6128891689..c25deaeeb31d 100644
bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) {
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.h ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
index beffc35eee45..0982b021b4e2 100644
index dd3784c0fe87..ad4fd65b80e5 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
@@ -281,6 +281,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
@@ -282,6 +282,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
// True if the window should have the frame removed.
bool remove_standard_frame_;
@ -194,10 +194,10 @@ index beffc35eee45..0982b021b4e2 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 89513b6e40e0..06bb9d0508ab 100644
index 3393e97a2c44..7fb817a9ac54 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
@@ -145,6 +145,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
@@ -146,6 +146,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
use_native_frame_(false),
should_maximize_after_map_(false),
use_argb_visual_(false),
@ -205,7 +205,7 @@ index 89513b6e40e0..06bb9d0508ab 100644
drag_drop_client_(NULL),
native_widget_delegate_(native_widget_delegate),
desktop_native_widget_aura_(desktop_native_widget_aura),
@@ -157,6 +158,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
@@ -158,6 +159,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
has_window_focus_(false),
has_pointer_focus_(false),
modal_dialog_counter_(0),
@ -213,7 +213,7 @@ index 89513b6e40e0..06bb9d0508ab 100644
close_widget_factory_(this),
weak_factory_(this) {}
@@ -192,6 +194,8 @@ std::vector<aura::Window*> DesktopWindowTreeHostX11::GetAllOpenWindows() {
@@ -193,6 +195,8 @@ std::vector<aura::Window*> DesktopWindowTreeHostX11::GetAllOpenWindows() {
}
gfx::Rect DesktopWindowTreeHostX11::GetX11RootWindowBounds() const {
@ -222,7 +222,7 @@ index 89513b6e40e0..06bb9d0508ab 100644
return bounds_in_pixels_;
}
@@ -502,7 +506,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
@@ -503,7 +507,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
// Actually free our native resources.
if (ui::PlatformEventSource::GetInstance())
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
@ -232,7 +232,7 @@ index 89513b6e40e0..06bb9d0508ab 100644
xwindow_ = x11::None;
desktop_native_widget_aura_->OnHostClosed();
@@ -643,6 +648,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
@@ -644,6 +649,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
}
gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const {
@ -241,7 +241,7 @@ index 89513b6e40e0..06bb9d0508ab 100644
return ToDIPRect(bounds_in_pixels_);
}
@@ -1263,6 +1270,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels(
@@ -1261,6 +1268,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels(
}
gfx::Point DesktopWindowTreeHostX11::GetLocationOnScreenInPixels() const {
@ -250,7 +250,7 @@ index 89513b6e40e0..06bb9d0508ab 100644
return bounds_in_pixels_.origin();
}
@@ -1378,7 +1387,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
@@ -1376,7 +1385,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
::Atom window_type;
switch (params.type) {
case Widget::InitParams::TYPE_MENU:
@ -258,7 +258,7 @@ index 89513b6e40e0..06bb9d0508ab 100644
window_type = gfx::GetAtom("_NET_WM_WINDOW_TYPE_MENU");
break;
case Widget::InitParams::TYPE_TOOLTIP:
@@ -1434,9 +1442,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
@@ -1432,9 +1440,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
attribute_mask |= CWBorderPixel;
swa.border_pixel = 0;
@ -275,7 +275,7 @@ index 89513b6e40e0..06bb9d0508ab 100644
bounds_in_pixels_.y(), bounds_in_pixels_.width(),
bounds_in_pixels_.height(),
0, // border width
@@ -2034,6 +2048,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
@@ -2032,6 +2046,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
}
break;
}
@ -287,10 +287,10 @@ index 89513b6e40e0..06bb9d0508ab 100644
case x11::FocusOut:
OnFocusEvent(xev->type == x11::FocusIn, event->xfocus.mode,
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 49c575b1a0d0..f45f7ef3ac6f 100644
index cf991151505b..85b8e5844d63 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
@@ -87,6 +87,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
@@ -88,6 +88,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
// Disables event listening to make |dialog| modal.
std::unique_ptr<base::Closure> DisableEventListening();
@ -313,7 +313,7 @@ index 49c575b1a0d0..f45f7ef3ac6f 100644
// Whenever the bounds are set, we keep the previous set of bounds around so
// we can have a better chance of getting the real
// |restored_bounds_in_pixels_|. Window managers tend to send a Configure
@@ -350,6 +359,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
@@ -351,6 +360,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
// Whether we used an ARGB visual for our window.
bool use_argb_visual_;
@ -324,7 +324,7 @@ index 49c575b1a0d0..f45f7ef3ac6f 100644
DesktopDragDropClientAuraX11* drag_drop_client_;
std::unique_ptr<ui::EventHandler> x11_non_client_event_filter_;
@@ -438,6 +451,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
@@ -439,6 +452,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
uint32_t modal_dialog_counter_;
@ -335,10 +335,10 @@ index 49c575b1a0d0..f45f7ef3ac6f 100644
base::WeakPtrFactory<DesktopWindowTreeHostX11> weak_factory_;
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
index 239b66424dcc..1006f78e284c 100644
index bf4b1d07f7fe..5702e031d6ce 100644
--- ui/views/widget/widget.cc
+++ ui/views/widget/widget.cc
@@ -133,6 +133,7 @@ Widget::InitParams::InitParams(Type type)
@@ -132,6 +132,7 @@ Widget::InitParams::InitParams(Type type)
use_system_default_icon(false),
show_state(ui::SHOW_STATE_DEFAULT),
parent(nullptr),
@ -346,7 +346,7 @@ index 239b66424dcc..1006f78e284c 100644
native_widget(nullptr),
desktop_window_tree_host(nullptr),
layer_type(ui::LAYER_TEXTURED),
@@ -307,7 +308,7 @@ void Widget::Init(const InitParams& in_params) {
@@ -306,7 +307,7 @@ void Widget::Init(const InitParams& in_params) {
params.name = params.delegate->GetContentsView()->GetClassName();
params.child |= (params.type == InitParams::TYPE_CONTROL);
@ -355,7 +355,7 @@ index 239b66424dcc..1006f78e284c 100644
if (params.opacity == views::Widget::InitParams::INFER_OPACITY &&
params.type != views::Widget::InitParams::TYPE_WINDOW &&
@@ -374,7 +375,12 @@ void Widget::Init(const InitParams& in_params) {
@@ -373,7 +374,12 @@ void Widget::Init(const InitParams& in_params) {
}
} else if (params.delegate) {
SetContentsView(params.delegate->GetContentsView());
@ -369,7 +369,7 @@ index 239b66424dcc..1006f78e284c 100644
}
// This must come after SetContentsView() or it might not be able to find
// the correct NativeTheme (on Linux). See http://crbug.com/384492
@@ -1098,10 +1104,16 @@ void Widget::OnNativeWidgetDestroyed() {
@@ -1097,10 +1103,16 @@ void Widget::OnNativeWidgetDestroyed() {
}
gfx::Size Widget::GetMinimumSize() const {

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 73514cb25175..f21a0b700ac0 100644
index 189b3f0ec944..0dcd5620f9c0 100644
--- content/browser/web_contents/web_contents_impl.cc
+++ content/browser/web_contents/web_contents_impl.cc
@@ -1791,21 +1791,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -1782,21 +1782,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
std::string unique_name;
frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
@ -45,7 +45,7 @@ index 73514cb25175..f21a0b700ac0 100644
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -2410,6 +2419,15 @@ void WebContentsImpl::CreateNewWindow(
@@ -2403,6 +2412,15 @@ void WebContentsImpl::CreateNewWindow(
create_params.renderer_initiated_creation =
main_frame_route_id != MSG_ROUTING_NONE;
@ -61,7 +61,7 @@ index 73514cb25175..f21a0b700ac0 100644
std::unique_ptr<WebContents> new_contents;
if (!is_guest) {
create_params.context = view_->GetNativeView();
@@ -2440,7 +2458,7 @@ void WebContentsImpl::CreateNewWindow(
@@ -2433,7 +2451,7 @@ void 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.
new_view->CreateViewForWidget(
@ -70,7 +70,7 @@ index 73514cb25175..f21a0b700ac0 100644
}
// Save the created window associated with the route so we can show it
// later.
@@ -5759,7 +5777,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
@@ -5749,7 +5767,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager(
RenderViewHost* render_view_host) {
RenderWidgetHostViewBase* rwh_view =
@ -95,10 +95,10 @@ index 53d56abb35a3..d7b955f42ca5 100644
WebContents::CreateParams::CreateParams(const CreateParams& other) = default;
diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h
index b79480f87663..69ef5de880f3 100644
index 2835d80ef446..3e9427593945 100644
--- content/public/browser/web_contents.h
+++ content/public/browser/web_contents.h
@@ -74,9 +74,11 @@ class BrowserPluginGuestDelegate;
@@ -70,9 +70,11 @@ class BrowserPluginGuestDelegate;
class InterstitialPage;
class RenderFrameHost;
class RenderViewHost;
@ -109,8 +109,8 @@ index b79480f87663..69ef5de880f3 100644
+class WebContentsView;
struct CustomContextMenuContext;
struct DropData;
struct MHTMLGenerationParams;
@@ -178,6 +180,10 @@ class WebContents : public PageNavigator,
struct Manifest;
@@ -175,6 +177,10 @@ class WebContents : public PageNavigator,
// Sandboxing flags set on the new WebContents.
blink::WebSandboxFlags starting_sandbox_flags;
@ -122,10 +122,10 @@ index b79480f87663..69ef5de880f3 100644
// Creates a new WebContents.
diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h
index d6adf55d3c68..dd260776e01b 100644
index 6954d351c3b8..160bd5827a5b 100644
--- content/public/browser/web_contents_delegate.h
+++ content/public/browser/web_contents_delegate.h
@@ -46,10 +46,12 @@ class ColorChooser;
@@ -47,10 +47,12 @@ class ColorChooser;
class JavaScriptDialogManager;
class RenderFrameHost;
class RenderProcessHost;
@ -138,7 +138,7 @@ index d6adf55d3c68..dd260776e01b 100644
struct ContextMenuParams;
struct DropData;
struct FileChooserParams;
@@ -312,6 +314,14 @@ class CONTENT_EXPORT WebContentsDelegate {
@@ -313,6 +315,14 @@ class CONTENT_EXPORT WebContentsDelegate {
const std::string& partition_id,
SessionStorageNamespace* session_storage_namespace);

View File

@ -1,8 +1,8 @@
diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h
index f832a1183d5f..cd52e63ab9b1 100644
index 3ab92de1a98b..89f115e689c6 100644
--- third_party/blink/public/platform/platform.h
+++ third_party/blink/public/platform/platform.h
@@ -375,6 +375,7 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -368,6 +368,7 @@ class BLINK_PLATFORM_EXPORT Platform {
// satisfy this call. mainFrameOrigin is used by the browser process to
// filter plugins from the plugin list based on content settings.
virtual void GetPluginList(bool refresh,
@ -10,7 +10,7 @@ index f832a1183d5f..cd52e63ab9b1 100644
const WebSecurityOrigin& main_frame_origin,
WebPluginListBuilder*) {}
@@ -734,6 +735,11 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -727,6 +728,11 @@ class BLINK_PLATFORM_EXPORT Platform {
// runs during Chromium's build step).
virtual bool IsTakingV8ContextSnapshot() { return false; }
@ -41,7 +41,7 @@ index 8c40eef254a8..b9ac9f2a3472 100644
.Top()
.GetSecurityContext()
diff --git third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
index ab50fed4ab5e..e8829a3b8529 100644
index 114b6830844a..7d64147fc62e 100644
--- third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
+++ third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
@@ -323,6 +323,8 @@ WebDevToolsAgentImpl::Session::Session(
@ -62,10 +62,10 @@ index ab50fed4ab5e..e8829a3b8529 100644
void WebDevToolsAgentImpl::Session::SendProtocolResponse(int session_id,
diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc
index 80d6c903d8ef..8433050ec98c 100644
index 60caa00ec723..5d37ee2552a1 100644
--- third_party/blink/renderer/core/frame/local_frame.cc
+++ third_party/blink/renderer/core/frame/local_frame.cc
@@ -1193,7 +1193,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
@@ -1224,7 +1224,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
PluginData* LocalFrame::GetPluginData() const {
if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin))
return nullptr;
@ -75,7 +75,7 @@ index 80d6c903d8ef..8433050ec98c 100644
}
diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc
index 3f4d3f06e7e2..23bbc71f88eb 100644
index dc89b93741bd..399a33e9d4d7 100644
--- third_party/blink/renderer/core/page/page.cc
+++ third_party/blink/renderer/core/page/page.cc
@@ -153,7 +153,8 @@ Page::Page(PageClients& page_clients)
@ -88,7 +88,7 @@ index 3f4d3f06e7e2..23bbc71f88eb 100644
use_counter_(page_clients.chrome_client &&
page_clients.chrome_client->IsSVGImageChromeClient()
? UseCounter::kSVGImageContext
@@ -326,21 +327,40 @@ void Page::RefreshPlugins() {
@@ -331,21 +332,40 @@ void Page::RefreshPlugins() {
PluginData::RefreshBrowserSidePluginCache();
}
@ -138,7 +138,7 @@ index 3f4d3f06e7e2..23bbc71f88eb 100644
page->NotifyPluginsChanged();
}
}
@@ -713,7 +733,8 @@ void Page::Trace(blink::Visitor* visitor) {
@@ -718,7 +738,8 @@ void Page::Trace(blink::Visitor* visitor) {
visitor->Trace(visual_viewport_);
visitor->Trace(overscroll_controller_);
visitor->Trace(main_frame_);

View File

@ -1,5 +1,5 @@
diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h
index c25144ef9318..343d1de5f03a 100644
index d9cea512dfc0..5a75a1ee5205 100644
--- third_party/blink/public/web/web_view.h
+++ third_party/blink/public/web/web_view.h
@@ -358,6 +358,7 @@ class WebView : protected WebWidget {
@ -14,13 +14,13 @@ index c25144ef9318..343d1de5f03a 100644
unsigned inactive_background_color,
unsigned inactive_foreground_color) = 0;
+ virtual void SetBaseBackgroundColor(WebColor color) = 0;
+ virtual void SetBaseBackgroundColor(SkColor color) = 0;
+
// Modal dialog support ------------------------------------------------
// Call these methods before and after running a nested, modal event loop
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
index 7298a752d360..26bac8472a20 100644
index b6d1e6c88e47..70e250fc0c76 100644
--- third_party/blink/renderer/core/exported/web_view_impl.cc
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -251,8 +251,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
@ -48,7 +48,7 @@ index 7298a752d360..26bac8472a20 100644
suppress_next_keypress_event_(false),
ime_accept_events_(true),
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
index 7d13f1c07529..1c664d42eb17 100644
index 8d945bba1818..9081f247934c 100644
--- third_party/blink/renderer/core/exported/web_view_impl.h
+++ third_party/blink/renderer/core/exported/web_view_impl.h
@@ -102,7 +102,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@ -65,12 +65,12 @@ index 7d13f1c07529..1c664d42eb17 100644
HitTestResult CoreHitTestResultAt(const WebPoint&);
void InvalidateRect(const IntRect&);
- void SetBaseBackgroundColor(WebColor);
+ void SetBaseBackgroundColor(WebColor) override;
void SetBaseBackgroundColorOverride(WebColor);
- void SetBaseBackgroundColor(SkColor);
+ void SetBaseBackgroundColor(SkColor) override;
void SetBaseBackgroundColorOverride(SkColor);
void ClearBaseBackgroundColorOverride();
void SetBackgroundColorOverride(WebColor);
@@ -622,6 +623,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
void SetBackgroundColorOverride(SkColor);
@@ -620,6 +621,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
float fake_page_scale_animation_page_scale_factor_;
bool fake_page_scale_animation_use_anchor_;
@ -80,7 +80,7 @@ index 7d13f1c07529..1c664d42eb17 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 6af373a6468c..c9b5d47d9141 100644
index 6b9ce0b88e7d..4fd152419225 100644
--- third_party/blink/renderer/core/page/chrome_client_impl.cc
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc
@@ -781,7 +781,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {

View File

@ -35,7 +35,7 @@ index 7742a5367ff0..0ec2381dc558 100644
extensions::ExtensionRegistry::Get(profile);
std::string extensions_list;
diff --git chrome/browser/memory_details.cc chrome/browser/memory_details.cc
index 509b62c78375..f48dd53e30c3 100644
index 4c0434b3c6ff..d92a70ce8ead 100644
--- chrome/browser/memory_details.cc
+++ chrome/browser/memory_details.cc
@@ -16,6 +16,7 @@
@ -60,10 +60,10 @@ index 509b62c78375..f48dd53e30c3 100644
render_process_host->GetBrowserContext();
extensions::ExtensionRegistry* extension_registry =
diff --git chrome/browser/ui/webui/net_internals/net_internals_ui.cc chrome/browser/ui/webui/net_internals/net_internals_ui.cc
index 9a9192ba6718..54edcbc95534 100644
index 12c2eb2e1271..0de1335e91c7 100644
--- chrome/browser/ui/webui/net_internals/net_internals_ui.cc
+++ chrome/browser/ui/webui/net_internals/net_internals_ui.cc
@@ -554,41 +554,31 @@ void NetInternalsMessageHandler::OnClearBrowserCache(
@@ -552,41 +552,31 @@ void NetInternalsMessageHandler::OnClearBrowserCache(
void NetInternalsMessageHandler::OnGetPrerenderInfo(
const base::ListValue* list) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -110,7 +110,7 @@ index 9a9192ba6718..54edcbc95534 100644
}
////////////////////////////////////////////////////////////////////////////////
@@ -668,9 +658,17 @@ void NetInternalsMessageHandler::IOThreadImpl::OnRendererReady(
@@ -666,9 +656,17 @@ void NetInternalsMessageHandler::IOThreadImpl::OnRendererReady(
PrePopulateEventList();
@ -131,7 +131,7 @@ index 9a9192ba6718..54edcbc95534 100644
}
void NetInternalsMessageHandler::IOThreadImpl::OnGetNetInfo(
@@ -1181,7 +1179,8 @@ void NetInternalsMessageHandler::IOThreadImpl::PrePopulateEventList() {
@@ -1179,7 +1177,8 @@ void NetInternalsMessageHandler::IOThreadImpl::PrePopulateEventList() {
std::set<net::URLRequestContext*> contexts;
for (const auto& getter : context_getters_)
contexts.insert(getter->GetURLRequestContext());
@ -170,10 +170,10 @@ index 903cc543a242..5bd30ae82974 100644
CONTENT_EXPORT void InitializeResourceContext(BrowserContext* browser_context);
diff --git content/browser/webui/url_data_manager.cc content/browser/webui/url_data_manager.cc
index a2d542f817e3..fc81237f729a 100644
index ce87d5984c09..6d31657e5c6c 100644
--- content/browser/webui/url_data_manager.cc
+++ content/browser/webui/url_data_manager.cc
@@ -149,6 +149,11 @@ void URLDataManager::UpdateWebUIDataSource(
@@ -148,6 +148,11 @@ void URLDataManager::UpdateWebUIDataSource(
->UpdateWebUIDataSource(source_name, std::move(update));
}

View File

@ -1,8 +1,8 @@
diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd
index a813c4e812f1..bb54023ff9ea 100644
index 0eeacabd76db..8a4216196bcd 100644
--- chrome/app/generated_resources.grd
+++ chrome/app/generated_resources.grd
@@ -4667,7 +4667,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
@@ -4661,7 +4661,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,5 +1,5 @@
diff --git services/service_manager/sandbox/win/sandbox_win.cc services/service_manager/sandbox/win/sandbox_win.cc
index 50430a8e2f8f..424af4cb70f6 100644
index 6c72f29ee7ce..9b0114b2cfdc 100644
--- services/service_manager/sandbox/win/sandbox_win.cc
+++ services/service_manager/sandbox/win/sandbox_win.cc
@@ -865,10 +865,13 @@ sandbox::ResultCode SandboxWin::StartSandboxedProcess(

2
tools/patch_updater.bat Normal file
View File

@ -0,0 +1,2 @@
@echo off
python.bat %~dp0\patch_updater.py %*

View File

@ -108,6 +108,14 @@ parser.add_option(
type='string',
default=[],
help='optional patch name to process (multiples allowed)')
parser.add_option(
'--add',
action='extend',
dest='add',
type='string',
default=[],
help='optional relative file paths to add (multiples allowed). Used in ' +\
'combination with --resave and a single --patch value.')
(options, args) = parser.parse_args()
if options.resave and options.revert:
@ -115,6 +123,11 @@ if options.resave and options.revert:
parser.print_help(sys.stderr)
sys.exit()
if len(options.add) > 0 and (len(options.patch) != 1 or not options.resave):
print '--add can only be used with --resave and a single --patch value.'
parser.print_help(sys.stderr)
sys.exit()
# The CEF root directory is the parent directory of _this_ script.
cef_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))
src_dir = os.path.abspath(os.path.join(cef_dir, os.pardir))
@ -258,6 +271,17 @@ for patch in patches:
msg('No backup of %s' % patch_path_abs)
if (not options.revert and not options.reapply) or has_backup_changes:
if len(options.add) > 0:
# Add additional requested files to the patch.
for patch_path in options.add:
patch_path_abs = os.path.abspath(os.path.join(patch_root_abs, \
patch_path))
if os.path.exists(patch_path_abs):
msg('Adding file %s' % patch_path_abs)
patch_paths.append(patch_path)
else:
msg('Skipping non-existing file %s' % patch_path_abs)
msg('Saving changes to %s' % patch_file)
if added_paths:
# Inform git of the added paths so they appear in the patch file.

2
tools/patch_updater.sh Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
python tools/patch_updater.py $@