Update to Chromium version 84.0.4147.0 (#768962)

This commit is contained in:
Alexander Guettler 2020-06-09 13:48:00 -04:00 committed by Marshall Greenblatt
parent 640cd0f411
commit 790d248111
112 changed files with 756 additions and 713 deletions

View File

@ -788,7 +788,7 @@ static_library("libcef_static") {
"//components/visitedlink/renderer",
"//components/viz/service",
"//components/web_cache/renderer",
"//content/public/app:both",
"//content/public/app",
"//content/public/browser",
"//content/public/child",
"//content/public/common",

View File

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

View File

@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=71ba0e5714400e2bea3ca564cab4527d95e4b52c$
// $hash=06f1c03ba824052122c6217c1227931f15dadd08$
//
#ifndef CEF_INCLUDE_CAPI_VIEWS_CEF_TEXTFIELD_CAPI_H_
@ -219,16 +219,13 @@ typedef struct _cef_textfield_t {
// enabled. See additional comments on execute_command().
///
int(CEF_CALLBACK* is_command_enabled)(struct _cef_textfield_t* self,
int command_id);
cef_text_field_commands_t command_id);
///
// Performs the action associated with the specified command id. Valid values
// include IDS_APP_UNDO, IDS_APP_REDO, IDS_APP_CUT, IDS_APP_COPY,
// IDS_APP_PASTE, IDS_APP_DELETE, IDS_APP_SELECT_ALL, IDS_DELETE_* and
// IDS_MOVE_*. See include/cef_pack_strings.h for definitions.
// Performs the action associated with the specified command id.
///
void(CEF_CALLBACK* execute_command)(struct _cef_textfield_t* self,
int command_id);
cef_text_field_commands_t command_id);
///
// Clears Edit history.

View File

@ -3180,6 +3180,18 @@ typedef enum {
CEF_MSIT_TOTAL_COUNT, // The total number of values.
} cef_media_sink_icon_type_t;
///
// Represents commands available to TextField.
///
typedef enum {
CEF_TFC_CUT = 1,
CEF_TFC_COPY,
CEF_TFC_PASTE,
CEF_TFC_UNDO,
CEF_TFC_DELETE,
CEF_TFC_SELECT_ALL,
} cef_text_field_commands_t;
#ifdef __cplusplus
}
#endif

View File

@ -224,16 +224,13 @@ class CefTextfield : public CefView {
// enabled. See additional comments on ExecuteCommand().
///
/*--cef()--*/
virtual bool IsCommandEnabled(int command_id) = 0;
virtual bool IsCommandEnabled(cef_text_field_commands_t command_id) = 0;
///
// Performs the action associated with the specified command id. Valid values
// include IDS_APP_UNDO, IDS_APP_REDO, IDS_APP_CUT, IDS_APP_COPY,
// IDS_APP_PASTE, IDS_APP_DELETE, IDS_APP_SELECT_ALL, IDS_DELETE_* and
// IDS_MOVE_*. See include/cef_pack_strings.h for definitions.
// Performs the action associated with the specified command id.
///
/*--cef()--*/
virtual void ExecuteCommand(int command_id) = 0;
virtual void ExecuteCommand(cef_text_field_commands_t command_id) = 0;
///
// Clears Edit history.

View File

@ -41,9 +41,9 @@ void StreamCreatorHelper(
media::mojom::ReadOnlyAudioDataPipePtr data_pipe) {
mojo::Remote<mirroring::mojom::AudioStreamCreatorClient>
audio_client(std::move(client));
audio_client->StreamCreated(
std::move(stream), std::move(client_receiver),
std::move(data_pipe), false /* initially_muted */);
audio_client->StreamCreated(std::move(stream),
std::move(client_receiver),
std::move(data_pipe));
},
base::Passed(&client)));
}

View File

@ -307,8 +307,6 @@ void CefBrowserContext::Initialize() {
pref_service_ = browser_prefs::CreatePrefService(
this, cache_path_, !!settings_.persist_user_preferences);
content::BrowserContext::Initialize(this, cache_path_);
resource_context_.reset(new CefResourceContext(IsOffTheRecord()));
// This must be called before creating any services to avoid hitting
@ -560,7 +558,7 @@ HostContentSettingsMap* CefBrowserContext::GetHostContentSettingsMap() {
// that can be stored in the settings map (for example, default values set
// via DefaultProvider::SetWebsiteSetting).
host_content_settings_map_ =
new HostContentSettingsMap(GetPrefs(), false, false, false);
new HostContentSettingsMap(GetPrefs(), false, false, false, false);
// Change the default plugin policy.
const base::CommandLine* command_line =

View File

@ -71,10 +71,12 @@
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/render_widget_host.h"
#include "content/public/browser/render_widget_host_observer.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/process_manager.h"
#include "net/base/net_errors.h"
#include "third_party/blink/public/mojom/frame/find_in_page.mojom.h"
#include "third_party/blink/public/mojom/page/widget.mojom-test-utils.h"
#include "ui/events/base_event_utils.h"
#if defined(OS_MACOSX)
@ -195,6 +197,46 @@ void OnDownloadImage(uint32 max_image_size,
image_impl.get());
}
class CefWidgetHostInterceptor
: public blink::mojom::WidgetHostInterceptorForTesting,
public content::RenderWidgetHostObserver {
public:
CefWidgetHostInterceptor(CefBrowserHostImpl* browser,
content::RenderViewHost* render_view_host)
: browser_(browser),
render_widget_host_(
content::RenderWidgetHostImpl::From(render_view_host->GetWidget())),
impl_(render_widget_host_->widget_host_receiver_for_testing()
.SwapImplForTesting(this)) {
render_widget_host_->AddObserver(this);
}
blink::mojom::WidgetHost* GetForwardingInterface() override { return impl_; }
// WidgetHostInterceptorForTesting method:
void SetCursor(const ui::Cursor& cursor) override {
if (browser_->IsMouseCursorChangeDisabled()) {
// Don't change the cursor.
return;
}
GetForwardingInterface()->SetCursor(cursor);
}
// RenderWidgetHostObserver method:
void RenderWidgetHostDestroyed(
content::RenderWidgetHost* widget_host) override {
widget_host->RemoveObserver(this);
delete this;
}
private:
CefBrowserHostImpl* const browser_;
content::RenderWidgetHostImpl* const render_widget_host_;
blink::mojom::WidgetHost* const impl_;
DISALLOW_COPY_AND_ASSIGN(CefWidgetHostInterceptor);
};
static constexpr base::TimeDelta kRecentlyAudibleTimeout =
base::TimeDelta::FromSeconds(2);
@ -1026,6 +1068,8 @@ bool CefBrowserHostImpl::IsBackgroundHost() {
void CefBrowserHostImpl::SetMouseCursorChangeDisabled(bool disabled) {
base::AutoLock lock_scope(state_lock_);
if (mouse_cursor_change_disabled_ == disabled)
return;
mouse_cursor_change_disabled_ = disabled;
}
@ -2044,6 +2088,7 @@ bool CefBrowserHostImpl::ShouldTransferNavigation(
void CefBrowserHostImpl::AddNewContents(
content::WebContents* source,
std::unique_ptr<content::WebContents> new_contents,
const GURL& target_url,
WindowOpenDisposition disposition,
const gfx::Rect& initial_rect,
bool user_gesture,
@ -2057,7 +2102,7 @@ void CefBrowserHostImpl::AddNewContents(
}
if (extension_host_) {
extension_host_->AddNewContents(source, std::move(new_contents),
extension_host_->AddNewContents(source, std::move(new_contents), target_url,
disposition, initial_rect, user_gesture,
was_blocked);
}
@ -2543,6 +2588,8 @@ void CefBrowserHostImpl::RenderViewCreated(
// RenderFrameCreated is otherwise not called for new popup browsers.
RenderFrameCreated(render_view_host->GetMainFrame());
new CefWidgetHostInterceptor(this, render_view_host);
platform_delegate_->RenderViewCreated(render_view_host);
}
@ -2726,15 +2773,6 @@ void CefBrowserHostImpl::OnRecentlyAudibleTimerFired() {
audio_capturer_.reset();
}
bool CefBrowserHostImpl::OnMessageReceived(const IPC::Message& message) {
// Handle the cursor message here if mouse cursor change is disabled instead
// of propegating the message to the normal handler.
if (message.type() == WidgetHostMsg_SetCursor::ID)
return IsMouseCursorChangeDisabled();
return false;
}
bool CefBrowserHostImpl::OnMessageReceived(
const IPC::Message& message,
content::RenderFrameHost* render_frame_host) {

View File

@ -379,6 +379,7 @@ class CefBrowserHostImpl : public CefBrowserHost,
bool ShouldTransferNavigation(bool is_main_frame_navigation) override;
void AddNewContents(content::WebContents* source,
std::unique_ptr<content::WebContents> new_contents,
const GURL& target_url,
WindowOpenDisposition disposition,
const gfx::Rect& initial_rect,
bool user_gesture,
@ -488,7 +489,6 @@ class CefBrowserHostImpl : public CefBrowserHost,
void DidUpdateFaviconURL(
const std::vector<blink::mojom::FaviconURLPtr>& candidates) override;
void OnAudioStateChanged(bool audible) override;
bool OnMessageReceived(const IPC::Message& message) override;
bool OnMessageReceived(const IPC::Message& message,
content::RenderFrameHost* render_frame_host) override;
void OnFrameFocused(content::RenderFrameHost* render_frame_host) override;
@ -589,7 +589,6 @@ class CefBrowserHostImpl : public CefBrowserHost,
void ConfigureAutoResize();
void StartAudioCapturer();
void OnRecentlyAudibleTimerFired();
CefBrowserSettings settings_;

View File

@ -11,16 +11,16 @@ namespace browser_util {
bool GetCefKeyEvent(const content::NativeWebKeyboardEvent& event,
CefKeyEvent& cef_event) {
switch (event.GetType()) {
case blink::WebKeyboardEvent::kRawKeyDown:
case blink::WebKeyboardEvent::Type::kRawKeyDown:
cef_event.type = KEYEVENT_RAWKEYDOWN;
break;
case blink::WebKeyboardEvent::kKeyDown:
case blink::WebKeyboardEvent::Type::kKeyDown:
cef_event.type = KEYEVENT_KEYDOWN;
break;
case blink::WebKeyboardEvent::kKeyUp:
case blink::WebKeyboardEvent::Type::kKeyUp:
cef_event.type = KEYEVENT_KEYUP;
break;
case blink::WebKeyboardEvent::kChar:
case blink::WebKeyboardEvent::Type::kChar:
cef_event.type = KEYEVENT_CHAR;
break;
default:

View File

@ -309,12 +309,6 @@ ChromeBrowserProcessStub::safe_browsing_service() {
return nullptr;
}
safe_browsing::ClientSideDetectionService*
ChromeBrowserProcessStub::safe_browsing_detection_service() {
NOTREACHED();
return nullptr;
}
subresource_filter::RulesetService*
ChromeBrowserProcessStub::subresource_filter_ruleset_service() {
NOTREACHED();

View File

@ -78,8 +78,6 @@ class ChromeBrowserProcessStub : public BrowserProcess {
std::unique_ptr<BackgroundModeManager> manager) override;
StatusTray* status_tray() override;
safe_browsing::SafeBrowsingService* safe_browsing_service() override;
safe_browsing::ClientSideDetectionService* safe_browsing_detection_service()
override;
subresource_filter::RulesetService* subresource_filter_ruleset_service()
override;
optimization_guide::OptimizationGuideService* optimization_guide_service()

View File

@ -46,6 +46,13 @@ bool ChromeProfileStub::IsOffTheRecord() const {
return false;
}
const Profile::OTRProfileID& ChromeProfileStub::GetOTRProfileID() const {
NOTREACHED();
static base::NoDestructor<Profile::OTRProfileID> otr_profile_id(
"ProfileImp::NoOTRProfileID");
return *otr_profile_id;
}
variations::VariationsClient* ChromeProfileStub::GetVariationsClient() {
if (!variations_client_)
variations_client_ = std::make_unique<CefVariationsClient>(this);
@ -66,16 +73,27 @@ Profile::ProfileType ChromeProfileStub::GetProfileType() const {
return REGULAR_PROFILE;
}
Profile* ChromeProfileStub::GetOffTheRecordProfile() {
Profile* ChromeProfileStub::GetOffTheRecordProfile(
const Profile::OTRProfileID& otr_profile_id) {
NOTREACHED();
return nullptr;
}
void ChromeProfileStub::DestroyOffTheRecordProfile() {
std::vector<Profile*> ChromeProfileStub::GetAllOffTheRecordProfiles() {
NOTREACHED();
return {};
}
void ChromeProfileStub::DestroyOffTheRecordProfile(Profile* otr_profile) {
NOTREACHED();
}
bool ChromeProfileStub::HasOffTheRecordProfile() {
bool ChromeProfileStub::HasOffTheRecordProfile(
const Profile::OTRProfileID& otr_profile_id) {
return false;
}
bool ChromeProfileStub::HasAnyOffTheRecordProfile() {
return false;
}
@ -140,10 +158,6 @@ bool ChromeProfileStub::WasCreatedByVersionOrLater(const std::string& version) {
return false;
}
bool ChromeProfileStub::IsIndependentOffTheRecordProfile() {
return false;
}
void ChromeProfileStub::SetExitType(ExitType exit_type) {
NOTREACHED();
}

View File

@ -22,13 +22,18 @@ class ChromeProfileStub : public Profile {
// Profile methods.
bool IsOffTheRecord() override;
bool IsOffTheRecord() const override;
const OTRProfileID& GetOTRProfileID() const override;
variations::VariationsClient* GetVariationsClient() override;
scoped_refptr<base::SequencedTaskRunner> GetIOTaskRunner() override;
std::string GetProfileUserName() const override;
ProfileType GetProfileType() const override;
Profile* GetOffTheRecordProfile() override;
void DestroyOffTheRecordProfile() override;
bool HasOffTheRecordProfile() override;
Profile* GetOffTheRecordProfile(
const Profile::OTRProfileID& otr_profile_id) override;
std::vector<Profile*> GetAllOffTheRecordProfiles() override;
void DestroyOffTheRecordProfile(Profile* otr_profile) override;
bool HasOffTheRecordProfile(
const Profile::OTRProfileID& otr_profile_id) override;
bool HasAnyOffTheRecordProfile() override;
Profile* GetOriginalProfile() override;
const Profile* GetOriginalProfile() const override;
bool IsSupervised() const override;
@ -42,7 +47,6 @@ class ChromeProfileStub : public Profile {
void set_last_selected_directory(const base::FilePath& path) override;
GURL GetHomePage() override;
bool WasCreatedByVersionOrLater(const std::string& version) override;
bool IsIndependentOffTheRecordProfile() override;
void SetExitType(ExitType exit_type) override;
ExitType GetLastSessionExitType() override;
base::Time GetCreationTime() const override;

View File

@ -520,7 +520,7 @@ base::FilePath GetRootCachePath() {
// blink.mojom.[Name] for the frame/document scope" errors.
// Based on chrome/browser/chrome_browser_interface_binders.cc.
void PopulateChromeFrameBinders(
service_manager::BinderMapWithContext<content::RenderFrameHost*>* map) {
mojo::BinderMapWithContext<content::RenderFrameHost*>* map) {
map->Add<blink::mojom::InsecureInputService>(base::BindRepeating(
[](content::RenderFrameHost* frame_host,
mojo::PendingReceiver<blink::mojom::InsecureInputService> receiver) {
@ -1312,18 +1312,19 @@ void CefContentBrowserClient::OnNetworkServiceCreated(
network_service);
}
mojo::Remote<network::mojom::NetworkContext>
CefContentBrowserClient::CreateNetworkContext(
void CefContentBrowserClient::ConfigureNetworkContextParams(
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path) {
// This method may be called during shutdown when using multi-threaded
// message loop mode. In that case exit early to avoid crashes.
if (!SystemNetworkContextManager::GetInstance())
return mojo::Remote<network::mojom::NetworkContext>();
const base::FilePath& relative_partition_path,
network::mojom::NetworkContextParams* network_context_params,
network::mojom::CertVerifierCreationParams* cert_verifier_creation_params) {
Profile* profile = Profile::FromBrowserContext(context);
return profile->CreateNetworkContext(in_memory, relative_partition_path);
profile->ConfigureNetworkContextParams(in_memory, relative_partition_path,
network_context_params,
cert_verifier_creation_params);
// TODO(cef): Remove this and add required NetworkIsolationKeys,
// this is currently not the case and this was not required pre M84.
network_context_params->require_network_isolation_key = false;
}
// The sandbox may block read/write access from the NetworkService to
@ -1410,7 +1411,7 @@ CefContentBrowserClient::CreateWindowForPictureInPicture(
void CefContentBrowserClient::RegisterBrowserInterfaceBindersForFrame(
content::RenderFrameHost* render_frame_host,
service_manager::BinderMapWithContext<content::RenderFrameHost*>* map) {
mojo::BinderMapWithContext<content::RenderFrameHost*>* map) {
PopulateChromeFrameBinders(map);
if (!extensions::ExtensionsEnabled())
@ -1459,7 +1460,8 @@ std::string CefContentBrowserClient::GetUserAgent() {
blink::UserAgentMetadata CefContentBrowserClient::GetUserAgentMetadata() {
blink::UserAgentMetadata metadata;
metadata.brand = version_info::GetProductName();
metadata.brand_version_list = {blink::UserAgentBrandVersion{
version_info::GetProductName(), version_info::GetMajorVersionNumber()}};
metadata.full_version = version_info::GetVersionNumber();
metadata.platform = version_info::GetOSType();

View File

@ -173,10 +173,13 @@ class CefContentBrowserClient : public content::ContentBrowserClient {
network::mojom::URLLoaderFactoryOverridePtr* factory_override) override;
void OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) override;
mojo::Remote<network::mojom::NetworkContext> CreateNetworkContext(
void ConfigureNetworkContextParams(
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path) override;
const base::FilePath& relative_partition_path,
network::mojom::NetworkContextParams* network_context_params,
network::mojom::CertVerifierCreationParams* cert_verifier_creation_params)
override;
std::vector<base::FilePath> GetNetworkContextsParentDirectory() override;
bool HandleExternalProtocol(
const GURL& url,
@ -200,8 +203,7 @@ class CefContentBrowserClient : public content::ContentBrowserClient {
content::PictureInPictureWindowController* controller) override;
void RegisterBrowserInterfaceBindersForFrame(
content::RenderFrameHost* render_frame_host,
service_manager::BinderMapWithContext<content::RenderFrameHost*>* map)
override;
mojo::BinderMapWithContext<content::RenderFrameHost*>* map) override;
base::FilePath GetSandboxedStorageServiceDataDirectory() override;
std::string GetProduct() override;
std::string GetChromeProduct() override;

View File

@ -492,6 +492,12 @@ void CefExtensionSystem::InstallUpdate(
base::DeleteFile(temp_dir, true /* recursive */);
}
void CefExtensionSystem::PerformActionBasedOnOmahaAttributes(
const std::string& extension_id,
const base::Value& attributes) {
NOTREACHED();
}
bool CefExtensionSystem::FinishDelayedInstallationIfReady(
const std::string& extension_id,
bool install_immediately) {

View File

@ -115,6 +115,9 @@ class CefExtensionSystem : public ExtensionSystem {
const base::FilePath& temp_dir,
bool install_immediately,
InstallUpdateCallback install_update_callback) override;
void PerformActionBasedOnOmahaAttributes(
const std::string& extension_id,
const base::Value& attributes) override;
bool FinishDelayedInstallationIfReady(const std::string& extension_id,
bool install_immediately) override;

View File

@ -32,6 +32,7 @@
#include "extensions/browser/extension_host_delegate.h"
#include "extensions/browser/extensions_browser_interface_binders.h"
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
#include "extensions/browser/kiosk/kiosk_delegate.h"
#include "extensions/browser/url_request_util.h"
#include "extensions/common/api/mime_handler.mojom.h"
#include "extensions/common/constants.h"
@ -74,6 +75,18 @@ void BindBeforeUnloadControl(
guest_view->FuseBeforeUnloadControl(std::move(receiver));
}
// Dummy KiosDelegate that always returns false
class CefKioskDelegate : public extensions::KioskDelegate {
public:
CefKioskDelegate() = default;
~CefKioskDelegate() override = default;
// KioskDelegate overrides:
bool IsAutoLaunchedKioskApp(const ExtensionId& id) const override {
return false;
}
};
} // namespace
CefExtensionsBrowserClient::CefExtensionsBrowserClient()
@ -295,7 +308,7 @@ CefExtensionsBrowserClient::GetExtensionSystemFactory() {
}
void CefExtensionsBrowserClient::RegisterBrowserInterfaceBindersForFrame(
service_manager::BinderMapWithContext<content::RenderFrameHost*>* map,
mojo::BinderMapWithContext<content::RenderFrameHost*>* map,
content::RenderFrameHost* render_frame_host,
const Extension* extension) const {
PopulateExtensionFrameBinders(map, render_frame_host, extension);
@ -351,8 +364,9 @@ CefExtensionsBrowserClient::GetExtensionWebContentsObserver(
}
KioskDelegate* CefExtensionsBrowserClient::GetKioskDelegate() {
NOTREACHED();
return nullptr;
if (!kiosk_delegate_)
kiosk_delegate_.reset(new CefKioskDelegate());
return kiosk_delegate_.get();
}
bool CefExtensionsBrowserClient::IsLockScreenContext(

View File

@ -82,8 +82,7 @@ class CefExtensionsBrowserClient : public ExtensionsBrowserClient {
bool IsLoggedInAsPublicAccount() override;
ExtensionSystemProvider* GetExtensionSystemFactory() override;
void RegisterBrowserInterfaceBindersForFrame(
service_manager::BinderMapWithContext<content::RenderFrameHost*>*
binder_map,
mojo::BinderMapWithContext<content::RenderFrameHost*>* binder_map,
content::RenderFrameHost* render_frame_host,
const Extension* extension) const override;
std::unique_ptr<RuntimeAPIDelegate> CreateRuntimeAPIDelegate(
@ -111,6 +110,8 @@ class CefExtensionsBrowserClient : public ExtensionsBrowserClient {
// Resource manager used to supply resources from pak files.
std::unique_ptr<ComponentExtensionResourceManager> resource_manager_;
std::unique_ptr<KioskDelegate> kiosk_delegate_;
DISALLOW_COPY_AND_ASSIGN(CefExtensionsBrowserClient);
};

View File

@ -15,7 +15,9 @@
#include "base/message_loop/message_loop.h"
#include "content/public/common/menu_item.h"
#include "ui/base/accelerators/accelerator.h"
#include "ui/base/models/image_model.h"
#include "ui/gfx/geometry/point.h"
#include "ui/gfx/image/image.h"
namespace {
@ -104,7 +106,9 @@ class CefSimpleMenuModel : public ui::MenuModel {
return impl_->GetGroupIdAt(index);
}
bool GetIconAt(int index, gfx::Image* icon) const override { return false; }
ui::ImageModel GetIconAt(int index) const override {
return ui::ImageModel();
}
ui::ButtonMenuItemModel* GetButtonMenuItemAt(int index) const override {
return nullptr;

View File

@ -394,9 +394,9 @@ gfx::Size CefBrowserPlatformDelegateNativeMac::GetMaximumDialogSize() {
content::NativeWebKeyboardEvent
CefBrowserPlatformDelegateNativeMac::TranslateWebKeyEvent(
const CefKeyEvent& key_event) const {
content::NativeWebKeyboardEvent result(blink::WebInputEvent::kUndefined,
blink::WebInputEvent::kNoModifiers,
ui::EventTimeForNow());
content::NativeWebKeyboardEvent result(
blink::WebInputEvent::Type::kUndefined,
blink::WebInputEvent::Modifiers::kNoModifiers, ui::EventTimeForNow());
// Use a synthetic NSEvent in order to obtain the windowsKeyCode member from
// the NativeWebKeyboardEvent constructor. This is the only member which can
@ -444,7 +444,7 @@ CefBrowserPlatformDelegateNativeMac::TranslateWebKeyEvent(
result = content::NativeWebKeyboardEvent(synthetic_event);
if (key_event.type == KEYEVENT_CHAR)
result.SetType(blink::WebInputEvent::kChar);
result.SetType(blink::WebInputEvent::Type::kChar);
result.is_system_key = key_event.is_system_key;
@ -462,18 +462,18 @@ CefBrowserPlatformDelegateNativeMac::TranslateWebClickEvent(
switch (type) {
case MBT_LEFT:
result.SetType(mouseUp ? blink::WebInputEvent::kMouseUp
: blink::WebInputEvent::kMouseDown);
result.SetType(mouseUp ? blink::WebInputEvent::Type::kMouseUp
: blink::WebInputEvent::Type::kMouseDown);
result.button = blink::WebMouseEvent::Button::kLeft;
break;
case MBT_MIDDLE:
result.SetType(mouseUp ? blink::WebInputEvent::kMouseUp
: blink::WebInputEvent::kMouseDown);
result.SetType(mouseUp ? blink::WebInputEvent::Type::kMouseUp
: blink::WebInputEvent::Type::kMouseDown);
result.button = blink::WebMouseEvent::Button::kMiddle;
break;
case MBT_RIGHT:
result.SetType(mouseUp ? blink::WebInputEvent::kMouseUp
: blink::WebInputEvent::kMouseDown);
result.SetType(mouseUp ? blink::WebInputEvent::Type::kMouseUp
: blink::WebInputEvent::Type::kMouseDown);
result.button = blink::WebMouseEvent::Button::kRight;
break;
default:
@ -492,7 +492,7 @@ blink::WebMouseEvent CefBrowserPlatformDelegateNativeMac::TranslateWebMoveEvent(
TranslateWebMouseEvent(result, mouse_event);
if (!mouseLeave) {
result.SetType(blink::WebInputEvent::kMouseMove);
result.SetType(blink::WebInputEvent::Type::kMouseMove);
if (mouse_event.modifiers & EVENTFLAG_LEFT_MOUSE_BUTTON)
result.button = blink::WebMouseEvent::Button::kLeft;
else if (mouse_event.modifiers & EVENTFLAG_MIDDLE_MOUSE_BUTTON)
@ -502,7 +502,7 @@ blink::WebMouseEvent CefBrowserPlatformDelegateNativeMac::TranslateWebMoveEvent(
else
result.button = blink::WebMouseEvent::Button::kNoButton;
} else {
result.SetType(blink::WebInputEvent::kMouseLeave);
result.SetType(blink::WebInputEvent::Type::kMouseLeave);
result.button = blink::WebMouseEvent::Button::kNoButton;
}
@ -519,7 +519,7 @@ CefBrowserPlatformDelegateNativeMac::TranslateWebWheelEvent(
blink::WebMouseWheelEvent result;
TranslateWebMouseEvent(result, mouse_event);
result.SetType(blink::WebInputEvent::kMouseWheel);
result.SetType(blink::WebInputEvent::Type::kMouseWheel);
static const double scrollbarPixelsPerCocoaTick = 40.0;
result.delta_x = deltaX;

View File

@ -374,13 +374,13 @@ bool CefBrowserPlatformDelegateNativeWin::HandleKeyboardEvent(
return false;
switch (event.GetType()) {
case blink::WebInputEvent::kRawKeyDown:
case blink::WebInputEvent::Type::kRawKeyDown:
msg.message = event.is_system_key ? WM_SYSKEYDOWN : WM_KEYDOWN;
break;
case blink::WebInputEvent::kKeyUp:
case blink::WebInputEvent::Type::kKeyUp:
msg.message = event.is_system_key ? WM_SYSKEYUP : WM_KEYUP;
break;
case blink::WebInputEvent::kChar:
case blink::WebInputEvent::Type::kChar:
msg.message = event.is_system_key ? WM_SYSCHAR : WM_CHAR;
break;
default:

View File

@ -20,6 +20,7 @@
#include "ui/base/accelerators/accelerator.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/l10n/l10n_util_win.h"
#include "ui/base/models/image_model.h"
#include "ui/base/models/menu_model.h"
#include "ui/events/keycodes/keyboard_codes.h"
#include "ui/gfx/canvas.h"
@ -30,6 +31,7 @@
#include "ui/gfx/text_utils.h"
#include "ui/gfx/win/hwnd_util.h"
#include "ui/native_theme/native_theme.h"
#include "ui/native_theme/themed_vector_icon.h"
#include "ui/views/controls/menu/menu_config.h"
#include "ui/views/controls/menu/menu_insertion_delegate_win.h"
@ -288,10 +290,18 @@ class CefNativeMenuWin::MenuHostWindow {
// Draw the icon after the label, otherwise it would be covered
// by the label.
gfx::Image icon;
if (data->native_menu_win->model_->GetIconAt(data->model_index, &icon)) {
ui::ImageModel icon =
data->native_menu_win->model_->GetIconAt(data->model_index);
if (icon.IsImage() || icon.IsVectorIcon()) {
ui::NativeTheme* native_theme =
ui::NativeTheme::GetInstanceForNativeUi();
// We currently don't support items with both icons and checkboxes.
const gfx::ImageSkia skia_icon = icon.AsImageSkia();
const gfx::ImageSkia skia_icon =
icon.IsImage() ? icon.GetImage().AsImageSkia()
: ui::ThemedVectorIcon(icon.GetVectorIcon())
.GetImageSkia(native_theme, 16);
DCHECK(type != ui::MenuModel::TYPE_CHECK);
std::unique_ptr<SkCanvas> canvas = skia::CreatePlatformCanvas(
skia_icon.width(), skia_icon.height(), false);

View File

@ -9,8 +9,8 @@
#include "ui/base/x/x11_util.h"
#include "ui/events/platform/platform_event_source.h"
#include "ui/events/x/x11_event_translation.h"
#include "ui/platform_window/x11/x11_topmost_window_finder.h"
#include "ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h"
#include "ui/views/widget/desktop_aura/x11_topmost_window_finder.h"
#include <X11/Xatom.h>
#include <X11/Xlib.h>

View File

@ -256,8 +256,6 @@ class CefBrowserURLRequest::Context
resource_request->render_frame_id = render_frame_id;
// Behave the same as a subresource load.
resource_request->fetch_request_context_type =
static_cast<int>(blink::mojom::RequestContextType::SUBRESOURCE);
resource_request->resource_type =
static_cast<int>(blink::mojom::ResourceType::kSubResource);
@ -267,7 +265,7 @@ class CefBrowserURLRequest::Context
if (request_flags & UR_FLAG_ALLOW_STORED_CREDENTIALS) {
// Include SameSite cookies.
resource_request->attach_same_site_cookies = true;
resource_request->force_ignore_site_for_cookies = true;
resource_request->site_for_cookies =
net::SiteForCookies::FromOrigin(*resource_request->request_initiator);
}

View File

@ -125,7 +125,7 @@ void SaveCookiesOnUIThread(content::BrowserContext* browser_context,
for (const auto& cookie : cookies) {
progress->num_cookie_lines_left_++;
cookie_manager->SetCanonicalCookie(
cookie, url.scheme(), options,
cookie, url, options,
base::BindOnce(&SetCanonicalCookieCallback, base::Unretained(progress),
cookie));
}
@ -158,7 +158,7 @@ void LoadCookies(content::BrowserContext* browser_context,
options.set_same_site_cookie_context(
net::cookie_util::ComputeSameSiteContextForRequest(
request.method, request.url, request.site_for_cookies,
request.request_initiator, request.attach_same_site_cookies));
request.request_initiator, request.force_ignore_site_for_cookies));
CEF_POST_TASK(
CEF_UIT,
@ -192,7 +192,7 @@ void SaveCookies(content::BrowserContext* browser_context,
options.set_same_site_cookie_context(
net::cookie_util::ComputeSameSiteContextForRequest(
request.method, request.url, request.site_for_cookies,
request.request_initiator, request.attach_same_site_cookies));
request.request_initiator, request.force_ignore_site_for_cookies));
const base::StringPiece name(net_service::kHTTPSetCookieHeaderName);
std::string cookie_string;

View File

@ -276,7 +276,7 @@ bool CefCookieManagerImpl::SetCookie(const CefString& url,
return false;
GetCookieManager(browser_context)
->SetCanonicalCookie(*canonical_cookie, gurl.scheme(), options,
->SetCanonicalCookie(*canonical_cookie, gurl, options,
base::Bind(SetCookieCallbackImpl, callback));
return true;
}

View File

@ -158,9 +158,11 @@ class InterceptedRequest : public network::mojom::URLLoader,
void OnComplete(const network::URLLoaderCompletionStatus& status) override;
// mojom::URLLoader methods:
void FollowRedirect(const std::vector<std::string>& removed_headers,
const net::HttpRequestHeaders& modified_headers,
const base::Optional<GURL>& new_url) override;
void FollowRedirect(
const std::vector<std::string>& removed_headers,
const net::HttpRequestHeaders& modified_headers,
const net::HttpRequestHeaders& modified_cors_exempt_headers,
const base::Optional<GURL>& new_url) override;
void SetPriority(net::RequestPriority priority,
int32_t intra_priority_value) override;
void PauseReadingBodyFromNet() override;
@ -561,6 +563,7 @@ void InterceptedRequest::OnComplete(
void InterceptedRequest::FollowRedirect(
const std::vector<std::string>& removed_headers_ext,
const net::HttpRequestHeaders& modified_headers_ext,
const net::HttpRequestHeaders& modified_cors_exempt_headers,
const base::Optional<GURL>& new_url) {
std::vector<std::string> removed_headers = removed_headers_ext;
net::HttpRequestHeaders modified_headers = modified_headers_ext;
@ -642,14 +645,14 @@ void InterceptedRequest::InterceptResponseReceived(
if (request_.headers.GetHeader(net::HttpRequestHeaders::kOrigin, &origin) &&
origin != url::Origin().Serialize()) {
// Allow redirects of cross-origin resource loads.
headers->AddHeader(MakeHeader(
network::cors::header_names::kAccessControlAllowOrigin, origin));
headers->AddHeader(network::cors::header_names::kAccessControlAllowOrigin,
origin);
}
if (request_.credentials_mode ==
network::mojom::CredentialsMode::kInclude) {
headers->AddHeader(MakeHeader(
network::cors::header_names::kAccessControlAllowCredentials, "true"));
headers->AddHeader(
network::cors::header_names::kAccessControlAllowCredentials, "true");
}
const net::RedirectInfo& redirect_info =
@ -941,7 +944,7 @@ void InterceptedRequest::OnURLLoaderClientError() {
void InterceptedRequest::OnURLLoaderError(uint32_t custom_reason,
const std::string& description) {
if (custom_reason == network::mojom::URLLoader::kClientDisconnectReason)
SendErrorCallback(safe_browsing::GetNetErrorCodeForSafeBrowsing(), true);
SendErrorCallback(safe_browsing::kNetErrorCodeForSafeBrowsing, true);
got_loader_error_ = true;

View File

@ -557,6 +557,7 @@ void StreamReaderURLLoader::ContinueWithRequestHeaders(
void StreamReaderURLLoader::FollowRedirect(
const std::vector<std::string>& removed_headers,
const net::HttpRequestHeaders& modified_headers,
const net::HttpRequestHeaders& modified_cors_exempt_headers,
const base::Optional<GURL>& new_url) {
NOTREACHED();
}

View File

@ -171,9 +171,11 @@ class StreamReaderURLLoader : public network::mojom::URLLoader {
void ContinueResponse(bool was_redirected);
// network::mojom::URLLoader methods:
void FollowRedirect(const std::vector<std::string>& removed_headers,
const net::HttpRequestHeaders& modified_headers,
const base::Optional<GURL>& new_url) override;
void FollowRedirect(
const std::vector<std::string>& removed_headers,
const net::HttpRequestHeaders& modified_headers,
const net::HttpRequestHeaders& modified_cors_exempt_headers,
const base::Optional<GURL>& new_url) override;
void SetPriority(net::RequestPriority priority,
int intra_priority_value) override;
void PauseReadingBodyFromNet() override;

View File

@ -123,11 +123,11 @@ void CefMotionEventOSR::MarkUnchangedTouchPointsAsStationary(
blink::WebTouchEvent* event,
const CefTouchEvent& cef_event) {
int id = LookupId(cef_event.id);
if (event->GetType() == blink::WebInputEvent::kTouchMove ||
event->GetType() == blink::WebInputEvent::kTouchCancel) {
if (event->GetType() == blink::WebInputEvent::Type::kTouchMove ||
event->GetType() == blink::WebInputEvent::Type::kTouchCancel) {
for (size_t i = 0; i < event->touches_length; ++i) {
if (event->touches[i].id != id)
event->touches[i].state = blink::WebTouchPoint::kStateStationary;
event->touches[i].state = blink::WebTouchPoint::State::kStateStationary;
}
}
}

View File

@ -118,7 +118,7 @@ struct PopulateAxNodeAttributes {
case ax::mojom::IntAttribute::kDefaultActionVerb:
attributes->SetString(
ToString(attr.first),
ui::ActionVerbToUnlocalizedString(
ui::ToString(
static_cast<ax::mojom::DefaultActionVerb>(attr.second)));
break;
case ax::mojom::IntAttribute::kInvalidState: {

View File

@ -1086,11 +1086,12 @@ void CefRenderWidgetHostViewOSR::SendKeyEvent(
if (target_host && target_host->GetView()) {
// Direct routing requires that events go directly to the View.
target_host->ForwardKeyboardEventWithLatencyInfo(
event, ui::LatencyInfo(event.GetType() == blink::WebInputEvent::kChar ||
event.GetType() ==
blink::WebInputEvent::kRawKeyDown
? ui::SourceEventType::KEY_PRESS
: ui::SourceEventType::OTHER));
event,
ui::LatencyInfo(event.GetType() == blink::WebInputEvent::Type::kChar ||
event.GetType() ==
blink::WebInputEvent::Type::kRawKeyDown
? ui::SourceEventType::KEY_PRESS
: ui::SourceEventType::OTHER));
}
}
@ -1099,7 +1100,7 @@ void CefRenderWidgetHostViewOSR::SendMouseEvent(
TRACE_EVENT0("cef", "CefRenderWidgetHostViewOSR::SendMouseEvent");
if (!IsPopupWidget()) {
if (browser_impl_.get() &&
event.GetType() == blink::WebMouseEvent::kMouseDown) {
event.GetType() == blink::WebMouseEvent::Type::kMouseDown) {
browser_impl_->CancelContextMenu();
}
@ -1282,8 +1283,9 @@ void CefRenderWidgetHostViewOSR::SendTouchEvent(const CefTouchEvent& event) {
latency_info);
}
bool touch_end = touch_event.GetType() == blink::WebInputEvent::kTouchEnd ||
touch_event.GetType() == blink::WebInputEvent::kTouchCancel;
bool touch_end =
touch_event.GetType() == blink::WebInputEvent::Type::kTouchEnd ||
touch_event.GetType() == blink::WebInputEvent::Type::kTouchCancel;
if (touch_end && IsPopupWidget() && parent_host_view_ &&
parent_host_view_->popup_host_view_ == this) {
@ -1351,9 +1353,9 @@ void CefRenderWidgetHostViewOSR::OnUpdateTextInputStateCalled(
void CefRenderWidgetHostViewOSR::ProcessAckedTouchEvent(
const content::TouchEventWithLatencyInfo& touch,
content::InputEventAckState ack_result) {
blink::mojom::InputEventResultState ack_result) {
const bool event_consumed =
ack_result == content::INPUT_EVENT_ACK_STATE_CONSUMED;
ack_result == blink::mojom::InputEventResultState::kConsumed;
gesture_provider_.OnTouchEventAck(touch.event.unique_touch_event_id,
event_consumed, false);
}
@ -1371,7 +1373,7 @@ void CefRenderWidgetHostViewOSR::OnGestureEvent(
ui::CreateWebGestureEventFromGestureEventData(gesture);
// without this check, forwarding gestures does not work!
if (web_event.GetType() == blink::WebInputEvent::kUndefined)
if (web_event.GetType() == blink::WebInputEvent::Type::kUndefined)
return;
ui::LatencyInfo latency_info = CreateLatencyInfo(web_event);

View File

@ -28,7 +28,7 @@
#include "content/browser/renderer_host/render_widget_host_view_base.h"
#include "content/browser/renderer_host/text_input_manager.h"
#include "content/public/common/widget_type.h"
#include "ui/base/mojom/cursor_type.mojom-shared.h"
#include "ui/base/cursor/mojom/cursor_type.mojom-shared.h"
#include "ui/compositor/compositor.h"
#include "ui/events/base_event_utils.h"
#include "ui/events/gesture_detection/filtered_gesture_provider.h"
@ -197,8 +197,9 @@ class CefRenderWidgetHostViewOSR : public content::RenderWidgetHostViewBase,
bool did_update_state) override;
// ui::GestureProviderClient implementation.
void ProcessAckedTouchEvent(const content::TouchEventWithLatencyInfo& touch,
content::InputEventAckState ack_result) override;
void ProcessAckedTouchEvent(
const content::TouchEventWithLatencyInfo& touch,
blink::mojom::InputEventResultState ack_result) override;
void OnGestureEvent(const ui::GestureEventData& gesture) override;
bool InstallTransparency();

View File

@ -104,8 +104,6 @@ LPCWSTR ToCursorID(ui::mojom::CursorType type) {
return MAKEINTRESOURCE(IDC_VERTICALTEXT);
case ui::mojom::CursorType::kCell:
return MAKEINTRESOURCE(IDC_CELL);
case ui::mojom::CursorType::kContextMenu:
return IDC_ARROW;
case ui::mojom::CursorType::kAlias:
return MAKEINTRESOURCE(IDC_ALIAS);
case ui::mojom::CursorType::kProgress:
@ -114,8 +112,6 @@ LPCWSTR ToCursorID(ui::mojom::CursorType type) {
return IDC_NO;
case ui::mojom::CursorType::kCopy:
return MAKEINTRESOURCE(IDC_COPYCUR);
case ui::mojom::CursorType::kNone:
return MAKEINTRESOURCE(IDC_CURSOR_NONE);
case ui::mojom::CursorType::kNotAllowed:
return IDC_NO;
case ui::mojom::CursorType::kZoomIn:
@ -141,8 +137,11 @@ LPCWSTR ToCursorID(ui::mojom::CursorType type) {
return IDC_ARROW;
case ui::mojom::CursorType::kDndLink:
return IDC_ARROW;
case ui::mojom::CursorType::kContextMenu:
case ui::mojom::CursorType::kCustom:
break;
case ui::mojom::CursorType::kNone:
NOTIMPLEMENTED();
return IDC_ARROW;
}
NOTREACHED();
return NULL;
@ -156,6 +155,13 @@ bool IsSystemCursorID(LPCWSTR cursor_id) {
ui::PlatformCursor CefRenderWidgetHostViewOSR::GetPlatformCursor(
ui::mojom::CursorType type) {
// Using a dark 1x1 bit bmp kNone cursor may still cause DWM to do composition
// work unnecessarily. Better to totally remove it from the screen.
// crbug.com/1069698
if (type == ui::mojom::CursorType::kNone) {
return nullptr;
}
HMODULE module_handle = NULL;
const wchar_t* cursor_id = ToCursorID(type);
if (!IsSystemCursorID(cursor_id)) {

View File

@ -134,3 +134,5 @@ void CefVideoConsumerOSR::OnFrameCaptured(
}
void CefVideoConsumerOSR::OnStopped() {}
void CefVideoConsumerOSR::OnLog(const std::string& message) {}

View File

@ -27,6 +27,7 @@ class CefVideoConsumerOSR : public viz::mojom::FrameSinkVideoConsumer {
mojo::PendingRemote<viz::mojom::FrameSinkVideoConsumerFrameCallbacks>
callbacks) override;
void OnStopped() override;
void OnLog(const std::string& message) override;
CefRenderWidgetHostViewOSR* const view_;
std::unique_ptr<viz::ClientFrameSinkVideoCapturer> video_capturer_;

View File

@ -52,8 +52,6 @@ void CefWebContentsViewOSR::GetContainerBounds(gfx::Rect* out) const {
*out = GetViewBounds();
}
void CefWebContentsViewOSR::SizeContents(const gfx::Size& size) {}
void CefWebContentsViewOSR::Focus() {}
void CefWebContentsViewOSR::SetInitialFocus() {}

View File

@ -36,7 +36,6 @@ class CefWebContentsViewOSR : public content::WebContentsView,
gfx::NativeView GetContentNativeView() const override;
gfx::NativeWindow GetTopLevelNativeWindow() const override;
void GetContainerBounds(gfx::Rect* out) const override;
void SizeContents(const gfx::Size& size) override;
void Focus() override;
void SetInitialFocus() override;
void StoreFocus() override;

View File

@ -65,6 +65,11 @@ void CefPrefStore::SetValueSilently(const std::string& key,
committed_ = false;
}
void CefPrefStore::RemoveValuesByPrefixSilently(const std::string& prefix) {
prefs_.ClearWithPrefix(prefix);
committed_ = false;
}
void CefPrefStore::RemoveValue(const std::string& key, uint32_t flags) {
if (prefs_.RemoveValue(key)) {
committed_ = false;

View File

@ -40,6 +40,7 @@ class CefPrefStore : public PersistentPrefStore {
void SetValueSilently(const std::string& key,
std::unique_ptr<base::Value> value,
uint32_t flags) override;
void RemoveValuesByPrefixSilently(const std::string& prefix) override;
void RemoveValue(const std::string& key, uint32_t flags) override;
bool ReadOnly() const override;
PrefReadError GetReadError() const override;

View File

@ -6,6 +6,8 @@
#include "base/logging.h"
#include "printing/mojom/print.mojom.h"
CefPrintSettingsImpl::CefPrintSettingsImpl(
std::unique_ptr<printing::PrintSettings> settings,
bool read_only)
@ -140,7 +142,8 @@ int CefPrintSettingsImpl::GetCopies() {
void CefPrintSettingsImpl::SetDuplexMode(DuplexMode mode) {
CEF_VALUE_VERIFY_RETURN_VOID(true);
mutable_value()->set_duplex_mode(static_cast<printing::DuplexMode>(mode));
mutable_value()->set_duplex_mode(
static_cast<printing::mojom::DuplexMode>(mode));
}
CefPrintSettings::DuplexMode CefPrintSettingsImpl::GetDuplexMode() {

View File

@ -58,9 +58,11 @@ void FillInDictionaryFromPdfPrintSettings(
int request_id,
base::DictionaryValue& print_settings) {
// Fixed settings.
print_settings.SetIntKey(kSettingPrinterType, kPdfPrinter);
print_settings.SetIntKey(kSettingPrinterType,
static_cast<int>(PrinterType::kPdf));
print_settings.SetInteger(kSettingColor, GRAY);
print_settings.SetInteger(kSettingDuplexMode, SIMPLEX);
print_settings.SetInteger(kSettingDuplexMode,
static_cast<int>(mojom::DuplexMode::kSimplex));
print_settings.SetInteger(kSettingCopies, 1);
print_settings.SetBoolean(kSettingCollate, false);
print_settings.SetString(kSettingDeviceName, "");

View File

@ -100,7 +100,7 @@ class ResolveHostHelper : public network::ResolveHostClientBase {
host_resolver_->ResolveHost(
net::HostPortPair::FromURL(GURL(origin.ToString())),
net::NetworkIsolationKey::Todo(), nullptr,
net::NetworkIsolationKey::CreateTransient(), nullptr,
receiver_.BindNewPipeAndPassRemote());
}

View File

@ -211,7 +211,7 @@ bool CefBrowserViewImpl::HandleAccelerator(
// Previous calls to TranslateMessage can generate Char events as well as
// RawKeyDown events, even if the latter triggered an accelerator. In these
// cases, we discard the Char events.
if (event.GetType() == blink::WebInputEvent::kChar &&
if (event.GetType() == blink::WebInputEvent::Type::kChar &&
ignore_next_char_event_) {
ignore_next_char_event_ = false;
return true;
@ -221,7 +221,7 @@ bool CefBrowserViewImpl::HandleAccelerator(
// always generate a Char event.
ignore_next_char_event_ = false;
if (event.GetType() == blink::WebInputEvent::kRawKeyDown) {
if (event.GetType() == blink::WebInputEvent::Type::kRawKeyDown) {
ui::Accelerator accelerator =
ui::GetAcceleratorFromNativeWebKeyboardEvent(event);

View File

@ -6,6 +6,25 @@
#include "libcef/browser/thread_util.h"
namespace {
static int CefCommandIdToChromeId(cef_text_field_commands_t command_id) {
switch (command_id) {
case cef_text_field_commands_t::CEF_TFC_CUT:
return views::Textfield::kCut;
case cef_text_field_commands_t::CEF_TFC_COPY:
return views::Textfield::kCopy;
case cef_text_field_commands_t::CEF_TFC_PASTE:
return views::Textfield::kPaste;
case cef_text_field_commands_t::CEF_TFC_UNDO:
return views::Textfield::kUndo;
case cef_text_field_commands_t::CEF_TFC_DELETE:
return views::Textfield::kDelete;
case cef_text_field_commands_t::CEF_TFC_SELECT_ALL:
return views::Textfield::kSelectAll;
}
}
} // namespace
// static
CefRefPtr<CefTextfield> CefTextfield::CreateTextfield(
CefRefPtr<CefTextfieldDelegate> delegate) {
@ -154,15 +173,16 @@ void CefTextfieldImpl::ApplyTextStyle(cef_text_style_t style,
}
}
bool CefTextfieldImpl::IsCommandEnabled(int command_id) {
bool CefTextfieldImpl::IsCommandEnabled(cef_text_field_commands_t command_id) {
CEF_REQUIRE_VALID_RETURN(false);
return root_view()->IsCommandIdEnabled(command_id);
return root_view()->IsCommandIdEnabled(CefCommandIdToChromeId(command_id));
}
void CefTextfieldImpl::ExecuteCommand(int command_id) {
void CefTextfieldImpl::ExecuteCommand(cef_text_field_commands_t command_id) {
CEF_REQUIRE_VALID_RETURN_VOID();
if (root_view()->IsCommandIdEnabled(command_id))
root_view()->ExecuteCommand(command_id, ui::EF_NONE);
if (root_view()->IsCommandIdEnabled(CefCommandIdToChromeId(command_id)))
root_view()->ExecuteCommand(CefCommandIdToChromeId(command_id),
ui::EF_NONE);
}
void CefTextfieldImpl::ClearEditHistory() {

View File

@ -49,8 +49,8 @@ class CefTextfieldImpl
void ApplyTextStyle(cef_text_style_t style,
bool add,
const CefRange& range) override;
bool IsCommandEnabled(int command_id) override;
void ExecuteCommand(int command_id) override;
bool IsCommandEnabled(cef_text_field_commands_t command_id) override;
void ExecuteCommand(cef_text_field_commands_t command_id) override;
void ClearEditHistory() override;
void SetPlaceholderText(const CefString& text) override;
CefString GetPlaceholderText() override;

View File

@ -671,7 +671,7 @@ bool CefCrashReporterClient::IsRunningUnattended() {
}
#endif
std::string CefCrashReporterClient::GetCrashServerURL() {
std::string CefCrashReporterClient::GetUploadUrl() {
return server_url_;
}

View File

@ -74,7 +74,7 @@ class CefCrashReporterClient : public crash_reporter::CrashReporterClient {
bool IsRunningUnattended() override;
#endif
std::string GetCrashServerURL() override;
std::string GetUploadUrl() override;
void GetCrashOptionalArguments(std::vector<std::string>* arguments) override;
#if defined(OS_WIN)

View File

@ -130,7 +130,6 @@ void InitCrashReporter(const base::CommandLine& command_line,
g_crash_reporting_enabled = true;
#else // !defined(OS_MACOSX)
breakpad::SetCrashServerURL(crash_client->GetCrashServerURL());
if (process_type != service_manager::switches::kZygoteProcess) {
// Crash reporting for subprocesses created using the zygote will be

View File

@ -70,15 +70,6 @@ const char kHTTPSetCookieHeaderName[] = "Set-Cookie";
const char kContentTypeApplicationFormURLEncoded[] =
"application/x-www-form-urlencoded";
const char kHTTPHeaderSep[] = ": ";
std::string MakeHeader(const std::string& name, const std::string& value) {
std::string header(name);
header.append(kHTTPHeaderSep);
header.append(value);
return header;
}
std::string MakeStatusLine(int status_code,
const std::string& status_text,
bool for_replacement) {
@ -135,15 +126,15 @@ scoped_refptr<net::HttpResponseHeaders> MakeResponseHeaders(
status_code != net::HTTP_NO_CONTENT &&
status_code != net::HTTP_RESET_CONTENT) {
if (!mime_type.empty()) {
headers->AddHeader(MakeHeader(net::HttpRequestHeaders::kContentType,
MakeContentTypeValue(mime_type, charset)));
headers->AddHeader(net::HttpRequestHeaders::kContentType,
MakeContentTypeValue(mime_type, charset));
set_headers_lowercase.insert(
base::ToLowerASCII(net::HttpRequestHeaders::kContentType));
}
if (content_length >= 0) {
headers->AddHeader(MakeHeader(net::HttpRequestHeaders::kContentLength,
base::NumberToString(content_length)));
headers->AddHeader(net::HttpRequestHeaders::kContentLength,
base::NumberToString(content_length));
set_headers_lowercase.insert(
base::ToLowerASCII(net::HttpRequestHeaders::kContentLength));
}
@ -162,7 +153,7 @@ scoped_refptr<net::HttpResponseHeaders> MakeResponseHeaders(
}
}
headers->AddHeader(MakeHeader(pair.first, pair.second));
headers->AddHeader(pair.first, pair.second);
}
return headers;

View File

@ -34,9 +34,6 @@ extern const char kHTTPSetCookieHeaderName[];
// HTTP header values.
extern const char kContentTypeApplicationFormURLEncoded[];
// Make a header name/value pair.
std::string MakeHeader(const std::string& name, const std::string& value);
// Make an HTTP response status line.
// Set |for_replacement| to true if the result will be passed to
// HttpResponseHeaders::ReplaceStatusLine and false if the result will

View File

@ -152,7 +152,7 @@ v8::MaybeLocal<v8::Value> CallV8Function(v8::Local<v8::Context> context,
if (frame &&
frame->GetDocument()->CanExecuteScripts(blink::kAboutToExecuteScript)) {
func_rv = blink::V8ScriptRunner::CallFunction(
function, frame->GetDocument()->ToExecutionContext(), receiver, argc,
function, frame->GetDocument()->GetExecutionContext(), receiver, argc,
args, isolate);
}

View File

@ -63,7 +63,8 @@ class CefWebURLLoaderClient : public blink::WebURLLoaderClient {
network::mojom::ReferrerPolicy new_referrer_policy,
const WebString& new_method,
const WebURLResponse& passed_redirect_response,
bool& report_raw_headers) override;
bool& report_raw_headers,
std::vector<std::string>* removed_headers) override;
protected:
// The context_ pointer will outlive this object.
@ -119,8 +120,6 @@ class CefRenderURLRequest::Context
resource_request->priority = net::MEDIUM;
// Behave the same as a subresource load.
resource_request->fetch_request_context_type =
static_cast<int>(blink::mojom::RequestContextType::SUBRESOURCE);
resource_request->resource_type =
static_cast<int>(blink::mojom::ResourceType::kSubResource);
@ -134,7 +133,7 @@ class CefRenderURLRequest::Context
if (request_->GetFlags() & UR_FLAG_ALLOW_STORED_CREDENTIALS) {
// Include SameSite cookies.
resource_request->attach_same_site_cookies = true;
resource_request->force_ignore_site_for_cookies = true;
resource_request->site_for_cookies =
net::SiteForCookies::FromOrigin(*resource_request->request_initiator);
}
@ -429,7 +428,8 @@ bool CefWebURLLoaderClient::WillFollowRedirect(
network::mojom::ReferrerPolicy new_referrer_policy,
const WebString& new_method,
const WebURLResponse& passed_redirect_response,
bool& report_raw_headers) {
bool& report_raw_headers,
std::vector<std::string>* removed_headers) {
if (request_flags_ & UR_FLAG_STOP_ON_REDIRECT) {
context_->OnStopRedirect(new_url, passed_redirect_response);
return false;

View File

@ -9,7 +9,7 @@
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
// $hash=9ee756d7e93888230541b494da5559d736260b5c$
// $hash=d7188da59785fbdd640a0cfbe7728a95021ef2bd$
//
#include "libcef_dll/cpptoc/views/textfield_cpptoc.h"
@ -453,8 +453,9 @@ void CEF_CALLBACK textfield_apply_text_style(struct _cef_textfield_t* self,
rangeVal);
}
int CEF_CALLBACK textfield_is_command_enabled(struct _cef_textfield_t* self,
int command_id) {
int CEF_CALLBACK
textfield_is_command_enabled(struct _cef_textfield_t* self,
cef_text_field_commands_t command_id) {
shutdown_checker::AssertNotShutdown();
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
@ -470,8 +471,9 @@ int CEF_CALLBACK textfield_is_command_enabled(struct _cef_textfield_t* self,
return _retval;
}
void CEF_CALLBACK textfield_execute_command(struct _cef_textfield_t* self,
int command_id) {
void CEF_CALLBACK
textfield_execute_command(struct _cef_textfield_t* self,
cef_text_field_commands_t command_id) {
shutdown_checker::AssertNotShutdown();
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING

View File

@ -9,7 +9,7 @@
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
// $hash=0f677bbeb351b9d71e00c622971d4593c99b99d5$
// $hash=4a14bb6e1e703a28f4998baf4d575716ff6e1fea$
//
#include "libcef_dll/ctocpp/views/textfield_ctocpp.h"
@ -427,7 +427,8 @@ void CefTextfieldCToCpp::ApplyTextStyle(cef_text_style_t style,
}
NO_SANITIZE("cfi-icall")
bool CefTextfieldCToCpp::IsCommandEnabled(int command_id) {
bool CefTextfieldCToCpp::IsCommandEnabled(
cef_text_field_commands_t command_id) {
shutdown_checker::AssertNotShutdown();
cef_textfield_t* _struct = GetStruct();
@ -444,7 +445,7 @@ bool CefTextfieldCToCpp::IsCommandEnabled(int command_id) {
}
NO_SANITIZE("cfi-icall")
void CefTextfieldCToCpp::ExecuteCommand(int command_id) {
void CefTextfieldCToCpp::ExecuteCommand(cef_text_field_commands_t command_id) {
shutdown_checker::AssertNotShutdown();
cef_textfield_t* _struct = GetStruct();

View File

@ -9,7 +9,7 @@
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
// $hash=8c3c6f34acb740232874335312c7a28699f32806$
// $hash=f36dce02225c4f65de348862d8a8e4e99471129d$
//
#ifndef CEF_LIBCEF_DLL_CTOCPP_VIEWS_TEXTFIELD_CTOCPP_H_
@ -60,8 +60,8 @@ class CefTextfieldCToCpp : public CefCToCppRefCounted<CefTextfieldCToCpp,
void ApplyTextStyle(cef_text_style_t style,
bool add,
const CefRange& range) OVERRIDE;
bool IsCommandEnabled(int command_id) OVERRIDE;
void ExecuteCommand(int command_id) OVERRIDE;
bool IsCommandEnabled(cef_text_field_commands_t command_id) OVERRIDE;
void ExecuteCommand(cef_text_field_commands_t command_id) OVERRIDE;
void ClearEditHistory() OVERRIDE;
void SetPlaceholderText(const CefString& text) OVERRIDE;
CefString GetPlaceholderText() OVERRIDE;

View File

@ -320,10 +320,7 @@ patches = [
'name': 'printing_context_2196',
},
{
# Linux: Fix 32-bit build fails with ld.gold: internal error in
# get_section_contents, at icf.cc:467
# https://bitbucket.org/chromiumembedded/cef/issues/2256
# Win: remove llvmlibthin as the combine_libs.py can't handle those
# Windows: Remove llvmlibthin as the combine_libs.py can't handle those.
# https://bitbucket.org/chromiumembedded/cef/issues/2470
'name': 'build',
},

View File

@ -1,8 +1,8 @@
diff --git base/BUILD.gn base/BUILD.gn
index 8df68ae89306..aa23704044be 100644
index c3baf1ffdee3..6a4765994566 100644
--- base/BUILD.gn
+++ base/BUILD.gn
@@ -33,6 +33,7 @@ import("//build/config/sysroot.gni")
@@ -34,6 +34,7 @@ import("//build/config/sysroot.gni")
import("//build/config/ui.gni")
import("//build/nocompile.gni")
import("//build/timestamp.gni")
@ -10,7 +10,7 @@ index 8df68ae89306..aa23704044be 100644
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
import("//third_party/icu/config.gni")
@@ -1656,7 +1657,11 @@ jumbo_component("base") {
@@ -1665,7 +1666,11 @@ jumbo_component("base") {
"hash/md5_constexpr_internal.h",
"hash/sha1.h",
]

View File

@ -1,8 +1,8 @@
diff --git content/browser/child_process_security_policy_impl.cc content/browser/child_process_security_policy_impl.cc
index bcd42e788019..6a7a164a527a 100644
index c2b7778788b3..7723dfb98683 100644
--- content/browser/child_process_security_policy_impl.cc
+++ content/browser/child_process_security_policy_impl.cc
@@ -1469,6 +1469,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForOrigin(
@@ -1494,6 +1494,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForOrigin(
// DeclarativeApiTest.PersistRules.
if (actual_process_lock.SchemeIs(url::kDataScheme))
return true;

View File

@ -1,17 +1,8 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index 3d5e4dede0ba..63dde0c70634 100644
index 01d97a3605ff..bf0ef4f3cc30 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -163,7 +163,7 @@ declare_args() {
!use_clang_coverage && !(is_android && use_order_profiling) &&
(use_lld ||
(use_gold &&
- ((!is_android && linux_use_bundled_binutils) || is_chromeos ||
+ ((!is_android && linux_use_bundled_binutils && current_cpu != "x86") || is_chromeos ||
!(current_cpu == "x86" || current_cpu == "x64"))))
}
@@ -1740,8 +1740,6 @@ config("thin_archive") {
@@ -1718,8 +1718,6 @@ config("thin_archive") {
# archive names to 16 characters, which is not what we want).
if ((is_posix && !is_nacl && !is_mac && !is_ios) || is_fuchsia) {
arflags = [ "-T" ]

View File

@ -1,16 +1,16 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index 023024e81c99..1404e5aff399 100644
index ffbec39c3e56..573ee6f18653 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -11,6 +11,7 @@ import("//build/config/features.gni")
import("//build/config/jumbo.gni")
@@ -11,6 +11,7 @@ import("//build/config/crypto.gni")
import("//build/config/features.gni")
import("//build/config/linux/gtk/gtk.gni")
import("//build/config/ui.gni")
+import("//cef/libcef/features/features.gni")
import("//chrome/browser/buildflags.gni")
import("//chrome/browser/downgrade/buildflags.gni")
import("//chrome/common/features.gni")
@@ -1988,6 +1989,7 @@ jumbo_static_library("browser") {
@@ -1979,6 +1980,7 @@ static_library("browser") {
"//base/util/values:values_util",
"//build:branding_buildflags",
"//cc",
@ -18,7 +18,7 @@ index 023024e81c99..1404e5aff399 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2314,6 +2316,10 @@ jumbo_static_library("browser") {
@@ -2313,6 +2315,10 @@ 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 937b56a2e261..9e3877b06c59 100644
index bf7534ed9436..dbbc552ce1b3 100644
--- chrome/browser/content_settings/host_content_settings_map_factory.cc
+++ chrome/browser/content_settings/host_content_settings_map_factory.cc
@@ -8,6 +8,7 @@
@ -10,9 +10,9 @@ index 937b56a2e261..9e3877b06c59 100644
#include "chrome/browser/profiles/off_the_record_profile_impl.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search_engines/template_url_service_factory.h"
@@ -19,6 +20,10 @@
#include "content/public/browser/browser_thread.h"
@@ -20,6 +21,10 @@
#include "extensions/buildflags/buildflags.h"
#include "ui/webui/webui_allowlist_provider.h"
+#if BUILDFLAG(ENABLE_CEF)
+#include "cef/libcef/common/extensions/extensions_util.h"
@ -21,7 +21,7 @@ index 937b56a2e261..9e3877b06c59 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/extension_service.h"
#include "extensions/browser/extension_system.h"
@@ -47,8 +52,14 @@ HostContentSettingsMapFactory::HostContentSettingsMapFactory()
@@ -48,8 +53,14 @@ HostContentSettingsMapFactory::HostContentSettingsMapFactory()
DependsOn(SupervisedUserSettingsServiceFactory::GetInstance());
#endif
#if BUILDFLAG(ENABLE_EXTENSIONS)
@ -36,8 +36,8 @@ index 937b56a2e261..9e3877b06c59 100644
#endif
}
@@ -89,10 +100,16 @@ scoped_refptr<RefcountedKeyedService>
permissions::features::kPermissionDelegation)));
@@ -97,10 +108,16 @@ scoped_refptr<RefcountedKeyedService>
std::move(allowlist_provider));
#if BUILDFLAG(ENABLE_EXTENSIONS)
+#if BUILDFLAG(ENABLE_CEF)

View File

@ -1,16 +1,16 @@
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index dfffff81bcf2..a4518ba20aaf 100644
index 284154368652..cdd775136329 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -10,6 +10,7 @@ import("//build/config/features.gni")
import("//build/config/jumbo.gni")
@@ -9,6 +9,7 @@ import("//build/config/crypto.gni")
import("//build/config/features.gni")
import("//build/config/linux/gtk/gtk.gni")
import("//build/config/ui.gni")
+import("//cef/libcef/features/features.gni")
import("//chrome/browser/buildflags.gni")
import("//chrome/common/features.gni")
import("//chromeos/assistant/assistant.gni")
@@ -362,6 +363,10 @@ jumbo_static_library("ui") {
@@ -362,6 +363,10 @@ static_library("ui") {
"//build/config/compiler:wexit_time_destructors",
]
@ -21,7 +21,7 @@ index dfffff81bcf2..a4518ba20aaf 100644
# Since browser and browser_ui actually depend on each other,
# we must omit the dependency from browser_ui to browser.
# However, this means browser_ui and browser should more or less
@@ -383,6 +388,7 @@ jumbo_static_library("ui") {
@@ -383,6 +388,7 @@ static_library("ui") {
"//base/allocator:buildflags",
"//build:branding_buildflags",
"//cc/paint",
@ -29,16 +29,16 @@ index dfffff81bcf2..a4518ba20aaf 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -1470,6 +1476,7 @@ jumbo_static_library("ui") {
@@ -1489,6 +1495,7 @@ static_library("ui") {
"//components/keep_alive_registry",
"//components/network_session_configurator/common",
"//components/page_load_metrics/browser",
+ "//components/printing/common:mojo_interfaces",
"//components/profile_metrics",
"//components/safety_check",
"//components/search_provider_logos",
"//components/ui_metrics",
diff --git chrome/browser/ui/webui/net_export_ui.cc chrome/browser/ui/webui/net_export_ui.cc
index 93bfc84f49a1..eeee229e943f 100644
index f27414c41891..b42478315ac0 100644
--- chrome/browser/ui/webui/net_export_ui.cc
+++ chrome/browser/ui/webui/net_export_ui.cc
@@ -21,13 +21,12 @@
@ -184,7 +184,7 @@ index 93bfc84f49a1..eeee229e943f 100644
file_writer_->StopNetLog(std::move(ui_thread_polled_data));
}
@@ -272,6 +301,7 @@ void NetExportMessageHandler::OnShowFile(const base::ListValue* list) {
base::Bind(&NetExportMessageHandler::ShowFileInShell, AsWeakPtr()));
base::BindOnce(&NetExportMessageHandler::ShowFileInShell, AsWeakPtr()));
}
+#if !BUILDFLAG(ENABLE_CEF)

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
index b7ff92ae4e58..6c3773b92454 100644
index dd86e2e35910..624904c5fef2 100644
--- chrome/browser/chrome_content_browser_client.cc
+++ chrome/browser/chrome_content_browser_client.cc
@@ -996,10 +996,6 @@ void LaunchURL(const GURL& url,
@@ -1001,10 +1001,6 @@ void LaunchURL(const GURL& url,
}
}
@ -13,9 +13,9 @@ index b7ff92ae4e58..6c3773b92454 100644
void MaybeAppendSecureOriginsAllowlistSwitch(base::CommandLine* cmdline) {
// |allowlist| combines pref/policy + cmdline switch in the browser process.
// For renderer and utility (e.g. NetworkService) processes the switch is the
@@ -1094,6 +1090,14 @@ void MaybeRecordSameSiteCookieEngagementHistogram(
} // namespace
@@ -1171,6 +1167,14 @@ const blink::UserAgentBrandList& GetBrandVersionList() {
return *greased_brand_version_list;
}
+std::string GetProduct() {
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
@ -29,10 +29,10 @@ index b7ff92ae4e58..6c3773b92454 100644
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
if (command_line->HasSwitch(switches::kUserAgent)) {
diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h
index ae86be8afe0f..61be54670431 100644
index cd96f6bf1cb7..007d024f7dc8 100644
--- chrome/browser/chrome_content_browser_client.h
+++ chrome/browser/chrome_content_browser_client.h
@@ -91,7 +91,8 @@ class ChromeXrIntegrationClient;
@@ -90,7 +90,8 @@ class ChromeXrIntegrationClient;
}
#endif

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
index bd8f77e07208..325f4ba698ec 100644
index 8ce681f0d694..9bc310da1695 100644
--- chrome/browser/profiles/profile_manager.cc
+++ chrome/browser/profiles/profile_manager.cc
@@ -364,7 +364,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
@@ -378,7 +378,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
registrar_.Add(this, chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED,
content::NotificationService::AllSources());

View File

@ -1,12 +1,12 @@
diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn
index 14bef91c5370..cb1faba7c23e 100644
index d041bd3f61a8..5f2feb9cd4c5 100644
--- chrome/browser/safe_browsing/BUILD.gn
+++ chrome/browser/safe_browsing/BUILD.gn
@@ -246,6 +246,7 @@ jumbo_static_library("safe_browsing") {
@@ -248,6 +248,7 @@ static_library("safe_browsing") {
"//chrome/common/safe_browsing:download_type_util",
"//chrome/services/file_util/public/cpp",
"//components/content_settings/core/browser",
+ "//components/gcm_driver:gcm_buildflags",
"//components/language/core/common",
"//components/prefs",
"//components/safe_browsing/core:webprotect_proto",
"//components/safe_browsing/core:client_model_proto",

View File

@ -1,16 +1,16 @@
diff --git chrome/browser/themes/theme_service_factory.cc chrome/browser/themes/theme_service_factory.cc
index 5a0d5e736cb9..f1c9da3f73b1 100644
index caec77bbe3ba..1640307eef65 100644
--- chrome/browser/themes/theme_service_factory.cc
+++ chrome/browser/themes/theme_service_factory.cc
@@ -7,6 +7,7 @@
#include "base/logging.h"
@@ -6,6 +6,7 @@
#include "base/no_destructor.h"
#include "build/build_config.h"
+#include "cef/libcef/features/features.h"
#include "chrome/browser/extensions/extension_system_factory.h"
#include "chrome/browser/profiles/incognito_helpers.h"
#include "chrome/browser/profiles/profile.h"
@@ -42,6 +43,10 @@ const ThemeHelper& GetThemeHelper() {
@@ -41,6 +42,10 @@ const ThemeHelper& GetThemeHelper() {
} // namespace
@ -21,7 +21,7 @@ index 5a0d5e736cb9..f1c9da3f73b1 100644
// static
ThemeService* ThemeServiceFactory::GetForProfile(Profile* profile) {
return static_cast<ThemeService*>(
@@ -71,7 +76,13 @@ ThemeServiceFactory::ThemeServiceFactory()
@@ -70,7 +75,13 @@ ThemeServiceFactory::ThemeServiceFactory()
BrowserContextDependencyManager::GetInstance()) {
DependsOn(extensions::ExtensionRegistryFactory::GetInstance());
DependsOn(extensions::ExtensionPrefsFactory::GetInstance());

View File

@ -165,7 +165,7 @@ index 4e64db143b8a..71322b0261a1 100644
Profile* profile = Profile::FromBrowserContext(browser_context);
std::vector<std::string> whitelist = MimeTypesHandler::GetMIMETypeWhitelist();
diff --git chrome/common/google_url_loader_throttle.cc chrome/common/google_url_loader_throttle.cc
index bcb97138c321..df6792bd5317 100644
index a9ee607a2cb0..347261030e0e 100644
--- chrome/common/google_url_loader_throttle.cc
+++ chrome/common/google_url_loader_throttle.cc
@@ -5,10 +5,15 @@
@ -184,7 +184,7 @@ index bcb97138c321..df6792bd5317 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "extensions/common/extension_urls.h"
#endif
@@ -116,6 +121,11 @@ void GoogleURLLoaderThrottle::WillProcessResponse(
@@ -126,6 +131,11 @@ void GoogleURLLoaderThrottle::WillProcessResponse(
const GURL& response_url,
network::mojom::URLResponseHead* response_head,
bool* defer) {
@ -197,18 +197,18 @@ index bcb97138c321..df6792bd5317 100644
GURL webstore_url(extension_urls::GetWebstoreLaunchURL());
if (response_url.SchemeIsHTTPOrHTTPS() &&
diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc
index b96048aec4f7..edaa78c59fe8 100644
index c1d92ae00fe5..2574fb1430ed 100644
--- chrome/renderer/chrome_content_renderer_client.cc
+++ chrome/renderer/chrome_content_renderer_client.cc
@@ -813,6 +813,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -831,6 +831,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
if ((status == chrome::mojom::PluginStatus::kUnauthorized ||
status == chrome::mojom::PluginStatus::kBlocked) &&
+ content_settings_agent &&
content_settings_agent->IsPluginTemporarilyAllowed(identifier)) {
+ content_settings_agent_delegate &&
content_settings_agent_delegate->IsPluginTemporarilyAllowed(
identifier)) {
status = chrome::mojom::PluginStatus::kAllowed;
}
@@ -1015,7 +1016,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1034,7 +1035,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
plugin_auth_host.BindNewEndpointAndPassReceiver());
plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier);
@ -218,7 +218,7 @@ index b96048aec4f7..edaa78c59fe8 100644
break;
}
case chrome::mojom::PluginStatus::kBlocked: {
@@ -1024,7 +1026,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1043,7 +1045,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name));
placeholder->AllowLoading();
RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked"));
@ -228,7 +228,7 @@ index b96048aec4f7..edaa78c59fe8 100644
break;
}
case chrome::mojom::PluginStatus::kBlockedByPolicy: {
@@ -1034,7 +1037,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1053,7 +1056,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
group_name));
RenderThread::Get()->RecordAction(
UserMetricsAction("Plugin_BlockedByPolicy"));
@ -238,7 +238,7 @@ index b96048aec4f7..edaa78c59fe8 100644
break;
}
case chrome::mojom::PluginStatus::kBlockedNoLoading: {
@@ -1042,7 +1046,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1061,7 +1065,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
IDR_BLOCKED_PLUGIN_HTML,
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED_NO_LOADING,
group_name));
@ -249,17 +249,17 @@ index b96048aec4f7..edaa78c59fe8 100644
}
case chrome::mojom::PluginStatus::kComponentUpdateRequired: {
diff --git chrome/renderer/plugins/chrome_plugin_placeholder.cc chrome/renderer/plugins/chrome_plugin_placeholder.cc
index 8a7d7402a48c..4dde943d0222 100644
index 4410ede5cb61..b15fa6406a9d 100644
--- chrome/renderer/plugins/chrome_plugin_placeholder.cc
+++ chrome/renderer/plugins/chrome_plugin_placeholder.cc
@@ -359,8 +359,11 @@ void ChromePluginPlaceholder::OnBlockedContent(
@@ -360,8 +360,11 @@ void ChromePluginPlaceholder::OnBlockedContent(
if (status ==
content::RenderFrame::PeripheralContentStatus::CONTENT_STATUS_TINY) {
- ContentSettingsAgentImpl::Get(render_frame())
- content_settings::ContentSettingsAgentImpl::Get(render_frame())
- ->DidBlockContentType(ContentSettingsType::PLUGINS);
+ ContentSettingsAgentImpl *content_settings_agent =
+ ContentSettingsAgentImpl::Get(render_frame());
+ content_settings::ContentSettingsAgentImpl *content_settings_agent =
+ content_settings::ContentSettingsAgentImpl::Get(render_frame());
+ if (content_settings_agent) {
+ content_settings_agent->DidBlockContentType(ContentSettingsType::PLUGINS);
+ }

View File

@ -1,24 +1,24 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index 88cbad65b714..2d899f1805e2 100644
index 2ea489762ef5..707431840be8 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -5,6 +5,7 @@
@@ -4,6 +4,7 @@
import("//build/config/buildflags_paint_preview.gni")
import("//build/config/features.gni")
import("//build/config/jumbo.gni")
+import("//cef/libcef/features/features.gni")
import("//chrome/common/features.gni")
import("//components/nacl/features.gni")
import("//components/offline_pages/buildflags/features.gni")
@@ -129,6 +130,7 @@ jumbo_static_library("renderer") {
defines = []
@@ -128,6 +129,7 @@ static_library("renderer") {
public_deps = [ "//components/contextual_search:buildflags" ]
deps = [
+ "//cef/libcef/features",
"//chrome:resources",
"//chrome:strings",
"//chrome/common",
@@ -193,6 +195,10 @@ jumbo_static_library("renderer") {
@@ -192,6 +194,10 @@ static_library("renderer") {
configs += [ "//build/config/compiler:wexit_time_destructors" ]

View File

@ -1,5 +1,5 @@
diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h
index 35726bdf4303..e0da57f2275b 100644
index e15c71b22a5d..2aee7bcdb149 100644
--- content/browser/devtools/devtools_instrumentation.h
+++ content/browser/devtools/devtools_instrumentation.h
@@ -12,6 +12,7 @@
@ -10,9 +10,9 @@ index 35726bdf4303..e0da57f2275b 100644
#include "content/common/navigation_params.mojom.h"
#include "content/public/browser/certificate_request_result_type.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
@@ -54,7 +55,7 @@ void ApplyNetworkRequestOverrides(FrameTreeNode* frame_tree_node,
mojom::BeginNavigationParams* begin_params,
bool* report_raw_headers);
@@ -68,7 +69,7 @@ bool ApplyUserAgentMetadataOverrides(
FrameTreeNode* frame_tree_node,
base::Optional<blink::UserAgentMetadata>* override_out);
-bool WillCreateURLLoaderFactory(
+CONTENT_EXPORT bool WillCreateURLLoaderFactory(
@ -20,10 +20,10 @@ index 35726bdf4303..e0da57f2275b 100644
bool is_navigation,
bool is_download,
diff --git content/browser/renderer_host/input/synthetic_gesture_target_base.h content/browser/renderer_host/input/synthetic_gesture_target_base.h
index a1f57138a24f..f6dd542ab89e 100644
index 4dd9b2645d60..23b46ce1a43a 100644
--- content/browser/renderer_host/input/synthetic_gesture_target_base.h
+++ content/browser/renderer_host/input/synthetic_gesture_target_base.h
@@ -8,6 +8,7 @@
@@ -9,6 +9,7 @@
#include "base/macros.h"
#include "base/time/time.h"
#include "content/browser/renderer_host/input/synthetic_gesture_target.h"
@ -31,7 +31,7 @@ index a1f57138a24f..f6dd542ab89e 100644
#include "ui/gfx/geometry/point_f.h"
namespace ui {
@@ -25,7 +26,8 @@ namespace content {
@@ -26,7 +27,8 @@ namespace content {
class RenderWidgetHostImpl;
@ -76,10 +76,10 @@ index ea7f0d6dbdac..d586c2900861 100644
if (is_linux) {
diff --git ui/events/keycodes/BUILD.gn ui/events/keycodes/BUILD.gn
index 772d0ef90e03..7d6d9aaf8014 100644
index 0068238c9f9f..67c3632e6239 100644
--- ui/events/keycodes/BUILD.gn
+++ ui/events/keycodes/BUILD.gn
@@ -16,6 +16,8 @@ jumbo_source_set("xkb") {
@@ -17,6 +17,8 @@ jumbo_source_set("xkb") {
public_deps = [ "//ui/base:buildflags" ]

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/download/download_target_determiner.cc chrome/browser/download/download_target_determiner.cc
index 1b5b71193d02..05dad7a969d5 100644
index 16c71312d84f..1a706a8d2018 100644
--- chrome/browser/download/download_target_determiner.cc
+++ chrome/browser/download/download_target_determiner.cc
@@ -657,7 +657,7 @@ void IsHandledBySafePlugin(int render_process_id,
@ -49,7 +49,7 @@ index 5b780f8bf34c..a75d0da983b4 100644
false /* allow_wildcard */, is_stale, &plugin_info,
nullptr /* actual_mime_type */);
diff --git chrome/browser/ui/views/frame/browser_root_view.cc chrome/browser/ui/views/frame/browser_root_view.cc
index 2277ac1008af..db0c90677538 100644
index d20d6f084b67..13f655dbceaa 100644
--- chrome/browser/ui/views/frame/browser_root_view.cc
+++ chrome/browser/ui/views/frame/browser_root_view.cc
@@ -76,7 +76,7 @@ void OnFindURLMimeType(const GURL& url,
@ -75,10 +75,10 @@ index 4956b35c1278..2f9c0621f53e 100644
GetContentClient()->browser()->GetUserAgent());
version.SetString("V8-Version", V8_VERSION_STRING);
diff --git content/browser/frame_host/render_frame_message_filter.cc content/browser/frame_host/render_frame_message_filter.cc
index f6511e22ab05..0ccf811d7b22 100644
index 33e2c5f972de..9dd9cd29baa4 100644
--- content/browser/frame_host/render_frame_message_filter.cc
+++ content/browser/frame_host/render_frame_message_filter.cc
@@ -298,6 +298,7 @@ void RenderFrameMessageFilter::OnCreateChildFrame(
@@ -301,6 +301,7 @@ void RenderFrameMessageFilter::OnCreateChildFrame(
void RenderFrameMessageFilter::OnGetPluginInfo(
int render_frame_id,
const GURL& url,
@ -86,7 +86,7 @@ index f6511e22ab05..0ccf811d7b22 100644
const url::Origin& main_frame_origin,
const std::string& mime_type,
bool* found,
@@ -305,8 +306,9 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
@@ -308,8 +309,9 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
std::string* actual_mime_type) {
bool allow_wildcard = true;
*found = plugin_service_->GetPluginInfo(
@ -99,7 +99,7 @@ index f6511e22ab05..0ccf811d7b22 100644
void RenderFrameMessageFilter::OnOpenChannelToPepperPlugin(
diff --git content/browser/frame_host/render_frame_message_filter.h content/browser/frame_host/render_frame_message_filter.h
index 451bfecfa4b1..b7cddcbaca66 100644
index 8d1c932e9f3a..e6a2c525da06 100644
--- content/browser/frame_host/render_frame_message_filter.h
+++ content/browser/frame_host/render_frame_message_filter.h
@@ -83,6 +83,7 @@ class CONTENT_EXPORT RenderFrameMessageFilter : public BrowserMessageFilter {
@ -111,10 +111,10 @@ index 451bfecfa4b1..b7cddcbaca66 100644
const std::string& mime_type,
bool* found,
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
index 2be5d4400de9..14ece86df0e3 100644
index 9ecb16d776d8..db2373890942 100644
--- content/browser/loader/navigation_url_loader_impl.cc
+++ content/browser/loader/navigation_url_loader_impl.cc
@@ -722,6 +722,13 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
@@ -735,6 +735,13 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
resource_request_->has_user_gesture,
resource_request_->request_initiator, &loader_factory);
@ -128,7 +128,7 @@ index 2be5d4400de9..14ece86df0e3 100644
if (loader_factory) {
factory =
base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>(
@@ -932,7 +939,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
@@ -945,7 +952,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
frame_tree_node->current_frame_host()->GetProcess()->GetID();
int routing_id = frame_tree_node->current_frame_host()->GetRoutingID();
bool has_plugin = PluginService::GetInstance()->GetPluginInfo(
@ -138,7 +138,7 @@ index 2be5d4400de9..14ece86df0e3 100644
if (stale) {
diff --git content/browser/plugin_service_impl.cc content/browser/plugin_service_impl.cc
index 8f0f145f9760..49f0698c89f5 100644
index b8800c3381ef..e260d7e56554 100644
--- content/browser/plugin_service_impl.cc
+++ content/browser/plugin_service_impl.cc
@@ -340,6 +340,7 @@ bool PluginServiceImpl::GetPluginInfoArray(
@ -224,10 +224,10 @@ index 632ae86c6fd6..55b749ec1242 100644
const std::vector<WebPluginInfo>& all_plugins);
diff --git content/common/frame_messages.h content/common/frame_messages.h
index 118765f9323f..614830e4f406 100644
index 0821c7061118..fed37861b6b2 100644
--- content/common/frame_messages.h
+++ content/common/frame_messages.h
@@ -687,9 +687,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
@@ -615,9 +615,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
// type. If there is no matching plugin, |found| is false.
// |actual_mime_type| is the actual mime type supported by the
// found plugin.
@ -240,31 +240,31 @@ index 118765f9323f..614830e4f406 100644
std::string /* mime_type */,
bool /* found */,
diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc
index 89f33b33f8c8..30512bab9b12 100644
index 5c344d9b9ff7..776e506d2a10 100644
--- content/public/browser/content_browser_client.cc
+++ content/public/browser/content_browser_client.cc
@@ -9,7 +9,7 @@
// declarations instead of including more headers. If that is infeasible, adjust
// the limit. For more info, see
// https://chromium.googlesource.com/chromium/src/+/HEAD/docs/wmax_tokens.md
-#pragma clang max_tokens_here 820000
+// #pragma clang max_tokens_here 820000
-#pragma clang max_tokens_here 840000
+// #pragma clang max_tokens_here 840000
#include <utility>
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index 26cd6d1afcb8..5ac45c794daf 100644
index d6c203ab546d..621bf11f32e9 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -26,6 +26,7 @@
#include "content/common/content_export.h"
@@ -28,6 +28,7 @@
#include "content/public/browser/allow_service_worker_result.h"
#include "content/public/browser/certificate_request_result_type.h"
#include "content/public/browser/generated_code_cache_settings.h"
+#include "content/public/browser/web_contents.h"
#include "content/public/common/page_visibility_state.h"
#include "content/public/common/previews_state.h"
#include "content/public/common/window_container_type.mojom-forward.h"
@@ -1631,6 +1632,14 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1624,6 +1625,14 @@ class CONTENT_EXPORT ContentBrowserClient {
const base::Optional<url::Origin>& initiating_origin,
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory);
@ -279,7 +279,7 @@ index 26cd6d1afcb8..5ac45c794daf 100644
// Creates an OverlayWindow to be used for Picture-in-Picture. This window
// will house the content shown when in Picture-in-Picture mode. This will
// return a new OverlayWindow.
@@ -1699,6 +1708,10 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1692,6 +1701,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Used as part of the user agent string.
virtual std::string GetProduct();
@ -315,10 +315,10 @@ index 98c59005599e..69752184745d 100644
WebPluginInfo* plugin) = 0;
diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h
index 764556d80f1b..7267aa6c26f6 100644
index 7da02ee54143..6436dc300c43 100644
--- content/public/renderer/content_renderer_client.h
+++ content/public/renderer/content_renderer_client.h
@@ -81,6 +81,9 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -85,6 +85,9 @@ class CONTENT_EXPORT ContentRendererClient {
// binding requests from RenderProcessHost::BindReceiver().
virtual void ExposeInterfacesToBrowser(mojo::BinderMap* binders) {}
@ -328,7 +328,7 @@ index 764556d80f1b..7267aa6c26f6 100644
// Notifies that a new RenderFrame has been created.
virtual void RenderFrameCreated(RenderFrame* render_frame) {}
@@ -310,6 +313,10 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -326,6 +329,10 @@ class CONTENT_EXPORT ContentRendererClient {
// This method may invalidate the frame.
virtual void RunScriptsAtDocumentIdle(RenderFrame* render_frame) {}
@ -340,10 +340,10 @@ index 764556d80f1b..7267aa6c26f6 100644
// started.
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
index 2ab5e79b71cc..51cd9556a884 100644
index 34cdad7f7205..60042cb8b4e6 100644
--- content/renderer/render_frame_impl.cc
+++ content/renderer/render_frame_impl.cc
@@ -3742,7 +3742,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
@@ -3663,7 +3663,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
std::string mime_type;
bool found = false;
Send(new FrameHostMsg_GetPluginInfo(
@ -354,10 +354,10 @@ index 2ab5e79b71cc..51cd9556a884 100644
if (!found)
return nullptr;
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index 76176518dfe4..b7d8dc75a23a 100644
index 3b99b09c45e9..a6b9562d1c5c 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -630,6 +630,8 @@ void RenderThreadImpl::Init() {
@@ -633,6 +633,8 @@ void RenderThreadImpl::Init() {
GetContentClient()->renderer()->CreateURLLoaderThrottleProvider(
URLLoaderThrottleProviderType::kFrame);
@ -367,10 +367,10 @@ index 76176518dfe4..b7d8dc75a23a 100644
&RenderThreadImpl::OnRendererInterfaceReceiver, base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index 8c641e6e3a6f..d2d1a7c2b6de 100644
index 9b6fb9c13ed5..0bc31784d5be 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -899,6 +899,15 @@ RendererBlinkPlatformImpl::GetGpuFactories() {
@@ -898,6 +898,15 @@ RendererBlinkPlatformImpl::GetGpuFactories() {
//------------------------------------------------------------------------------

View File

@ -1,5 +1,5 @@
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
index bb72915a26e2..9fbafc0643e1 100644
index 01327e6e6c53..d7b737592833 100644
--- content/app/content_main_runner_impl.cc
+++ content/app/content_main_runner_impl.cc
@@ -44,6 +44,7 @@
@ -10,7 +10,7 @@ index bb72915a26e2..9fbafc0643e1 100644
#include "base/trace_event/trace_event.h"
#include "components/discardable_memory/service/discardable_shared_memory_manager.h"
#include "components/download/public/common/download_task_runner.h"
@@ -1016,6 +1017,11 @@ void ContentMainRunnerImpl::Shutdown() {
@@ -974,6 +975,11 @@ void ContentMainRunnerImpl::Shutdown() {
is_shutdown_ = true;
}
@ -23,7 +23,7 @@ index bb72915a26e2..9fbafc0643e1 100644
ContentMainRunner* ContentMainRunner::Create() {
return ContentMainRunnerImpl::Create();
diff --git content/app/content_main_runner_impl.h content/app/content_main_runner_impl.h
index 4632e35eaf65..c74d9ca750c7 100644
index 299af2871498..8639eb8843f7 100644
--- content/app/content_main_runner_impl.h
+++ content/app/content_main_runner_impl.h
@@ -51,6 +51,8 @@ class ContentMainRunnerImpl : public ContentMainRunner {
@ -33,8 +33,8 @@ index 4632e35eaf65..c74d9ca750c7 100644
+ void ShutdownOnUIThread();
+
private:
#if !defined(CHROME_MULTIPLE_DLL_CHILD)
int RunServiceManager(MainFunctionParams& main_function_params,
bool start_service_manager_only);
diff --git content/app/content_service_manager_main_delegate.cc content/app/content_service_manager_main_delegate.cc
index 86d0a470a7c2..5e4b91d31e3f 100644
--- content/app/content_service_manager_main_delegate.cc

View File

@ -81,7 +81,7 @@ index 42a4bfcdb856..9f674625a155 100644
g_crash_helper_enabled = true;
return true;
diff --git chrome/common/crash_keys.cc chrome/common/crash_keys.cc
index f9a6c6b6ae2d..3701b4423899 100644
index 0c5f0f9af928..b27599cc1494 100644
--- chrome/common/crash_keys.cc
+++ chrome/common/crash_keys.cc
@@ -4,6 +4,8 @@
@ -92,8 +92,8 @@ index f9a6c6b6ae2d..3701b4423899 100644
+
#include "base/base_switches.h"
#include "base/command_line.h"
#include "base/logging.h"
@@ -28,7 +30,7 @@
#include "base/stl_util.h"
@@ -27,7 +29,7 @@
namespace crash_keys {
// Return true if we DON'T want to upload this flag to the crash server.
@ -102,7 +102,7 @@ index f9a6c6b6ae2d..3701b4423899 100644
static const char* const kIgnoreSwitches[] = {
switches::kEnableLogging,
switches::kFlagSwitchesBegin,
@@ -83,7 +85,7 @@ static bool IsBoringSwitch(const std::string& flag) {
@@ -82,7 +84,7 @@ static bool IsBoringSwitch(const std::string& flag) {
}
void SetCrashKeysFromCommandLine(const base::CommandLine& command_line) {
@ -127,7 +127,7 @@ index bcf172e645a2..f879aa745adf 100644
// on the given |command_line|.
void SetCrashKeysFromCommandLine(const base::CommandLine& command_line);
diff --git components/crash/core/app/breakpad_linux.cc components/crash/core/app/breakpad_linux.cc
index 192b0a7f137f..d53b90173ae2 100644
index 8ca43e2a8a10..5425a33709bb 100644
--- components/crash/core/app/breakpad_linux.cc
+++ components/crash/core/app/breakpad_linux.cc
@@ -28,6 +28,7 @@
@ -138,42 +138,25 @@ index 192b0a7f137f..d53b90173ae2 100644
#include "base/files/file_path.h"
#include "base/lazy_instance.h"
#include "base/linux_util.h"
@@ -104,6 +105,7 @@ namespace {
uint64_t g_crash_loop_before_time = 0;
#else
const char kUploadURL[] = "https://clients2.google.com/cr/report";
+const char* g_crash_server_url = kUploadURL;
#endif
bool g_is_crash_reporter_enabled = false;
@@ -717,7 +719,7 @@ bool CrashDone(const MinidumpDescriptor& minidump,
@@ -721,7 +722,7 @@ bool CrashDone(const MinidumpDescriptor& minidump,
info.process_type_length = 7;
info.distro = base::g_linux_distro;
info.distro_length = my_strlen(base::g_linux_distro);
- info.upload = upload;
+ info.upload = upload && g_crash_server_url;
+ info.upload = upload && g_upload_url;
info.process_start_time = g_process_start_time;
info.oom_size = base::g_oom_size;
info.pid = g_pid;
@@ -1404,7 +1406,7 @@ void ExecUploadProcessOrTerminate(const BreakpadInfo& info,
header_content_encoding,
header_content_type,
post_file,
- kUploadURL,
+ g_crash_server_url,
"--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.
@@ -1744,10 +1746,19 @@ void HandleCrashDump(const BreakpadInfo& info) {
@@ -1748,10 +1749,19 @@ void HandleCrashDump(const BreakpadInfo& info) {
GetCrashReporterClient()->GetProductNameAndVersion(&product_name, &version);
writer.AddBoundary();
- writer.AddPairString("prod", product_name);
+ writer.AddPairString("product", product_name);
+ writer.AddBoundary();
+ writer.AddPairString("version", version);
writer.AddBoundary();
- writer.AddPairString("ver", version);
+ writer.AddPairString("version", version);
writer.AddBoundary();
+
+#if defined(ARCH_CPU_32_BITS)
+ const char* platform = "linux32";
@ -181,12 +164,12 @@ index 192b0a7f137f..d53b90173ae2 100644
+ const char* platform = "linux64";
+#endif
+ writer.AddPairString("platform", platform);
writer.AddBoundary();
+ writer.AddBoundary();
+
if (info.pid > 0) {
char pid_value_buf[kUint64StringSize];
uint64_t pid_value_len = my_uint64_len(info.pid);
@@ -1864,6 +1875,9 @@ void HandleCrashDump(const BreakpadInfo& info) {
@@ -1868,6 +1878,9 @@ void HandleCrashDump(const BreakpadInfo& info) {
crash_reporter::internal::TransitionalCrashKeyStorage;
CrashKeyStorage::Iterator crash_key_iterator(*info.crash_keys);
const CrashKeyStorage::Entry* entry;
@ -196,7 +179,7 @@ index 192b0a7f137f..d53b90173ae2 100644
while ((entry = crash_key_iterator.Next())) {
if (g_use_crash_key_white_list && !IsInWhiteList(entry->key))
continue;
@@ -1876,7 +1890,13 @@ void HandleCrashDump(const BreakpadInfo& info) {
@@ -1880,7 +1893,13 @@ void HandleCrashDump(const BreakpadInfo& info) {
? CrashKeyStorage::value_size - 1
: my_strlen(entry->value);
@ -211,24 +194,6 @@ index 192b0a7f137f..d53b90173ae2 100644
writer.AddBoundary();
writer.Flush();
}
@@ -2088,6 +2108,17 @@ void SetChannelCrashKey(const std::string& channel) {
channel_key.Set(channel);
}
+void SetCrashServerURL(const std::string& url) {
+ if (url.empty()) {
+ g_crash_server_url = nullptr;
+ } else {
+ char* new_url = new char[url.size() + 1];
+ ANNOTATE_LEAKING_OBJECT_PTR(new_url);
+ strcpy(new_url, url.c_str());
+ g_crash_server_url = new_url;
+ }
+}
+
#if defined(OS_ANDROID)
void InitNonBrowserCrashReporterForAndroid(const std::string& process_type) {
SanitizationInfo sanitization_info;
diff --git components/crash/core/app/breakpad_linux.h components/crash/core/app/breakpad_linux.h
index 9ea80370a842..3043f7d32f33 100644
--- components/crash/core/app/breakpad_linux.h
@ -244,7 +209,7 @@ index 9ea80370a842..3043f7d32f33 100644
extern void InitCrashKeysForTesting();
diff --git components/crash/core/app/crash_reporter_client.cc components/crash/core/app/crash_reporter_client.cc
index e778f68af30f..d2a2a6bf1f67 100644
index 44e81b2f95f6..bfa419e46bc8 100644
--- components/crash/core/app/crash_reporter_client.cc
+++ components/crash/core/app/crash_reporter_client.cc
@@ -88,7 +88,7 @@ int CrashReporterClient::GetResultCodeRespawnFailed() {
@ -272,7 +237,7 @@ index e778f68af30f..d2a2a6bf1f67 100644
#if defined(OS_WIN)
bool CrashReporterClient::GetCrashDumpLocation(base::string16* crash_dir) {
@@ -148,6 +150,32 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) {
@@ -148,6 +150,28 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) {
return false;
}
@ -281,10 +246,6 @@ index e778f68af30f..d2a2a6bf1f67 100644
+ return false;
+}
+
+std::string CrashReporterClient::GetCrashServerURL() {
+ return std::string();
+}
+
+void CrashReporterClient::GetCrashOptionalArguments(
+ std::vector<std::string>* arguments) {
+}
@ -305,7 +266,7 @@ index e778f68af30f..d2a2a6bf1f67 100644
#if defined(OS_ANDROID)
unsigned int CrashReporterClient::GetCrashDumpPercentage() {
return 100;
@@ -200,9 +228,11 @@ bool CrashReporterClient::ShouldMonitorCrashHandlerExpensively() {
@@ -210,9 +234,11 @@ bool CrashReporterClient::ShouldMonitorCrashHandlerExpensively() {
return false;
}
@ -321,7 +282,7 @@ index e778f68af30f..d2a2a6bf1f67 100644
} // namespace crash_reporter
diff --git components/crash/core/app/crash_reporter_client.h components/crash/core/app/crash_reporter_client.h
index 9cc78fc25840..f54cdbdf2fc4 100644
index 05538423d0b9..60b3403b4b0e 100644
--- components/crash/core/app/crash_reporter_client.h
+++ components/crash/core/app/crash_reporter_client.h
@@ -5,7 +5,9 @@
@ -334,7 +295,7 @@ index 9cc78fc25840..f54cdbdf2fc4 100644
#include "base/strings/string16.h"
#include "build/build_config.h"
@@ -91,7 +93,7 @@ class CrashReporterClient {
@@ -88,7 +90,7 @@ class CrashReporterClient {
virtual int GetResultCodeRespawnFailed();
#endif
@ -343,7 +304,7 @@ index 9cc78fc25840..f54cdbdf2fc4 100644
// Returns a textual description of the product type and version to include
// in the crash report. Neither out parameter should be set to NULL.
// TODO(jperaza): Remove the 2-parameter overload of this method once all
@@ -102,6 +104,7 @@ class CrashReporterClient {
@@ -99,6 +101,7 @@ class CrashReporterClient {
std::string* version,
std::string* channel);
@ -351,7 +312,7 @@ index 9cc78fc25840..f54cdbdf2fc4 100644
virtual base::FilePath GetReporterLogFilename();
// Custom crash minidump handler after the minidump is generated.
@@ -111,6 +114,7 @@ class CrashReporterClient {
@@ -108,6 +111,7 @@ class CrashReporterClient {
// libc nor allocate memory normally.
virtual bool HandleCrashDump(const char* crashdump_filename,
uint64_t crash_pid);
@ -359,14 +320,11 @@ index 9cc78fc25840..f54cdbdf2fc4 100644
#endif
// The location where minidump files should be written. Returns true if
@@ -210,6 +214,30 @@ class CrashReporterClient {
@@ -210,6 +214,27 @@ class CrashReporterClient {
// Returns true if breakpad should run in the given process type.
virtual bool EnableBreakpadForProcess(const std::string& process_type);
+
+ // Returns the URL for submitting crash reports.
+ virtual std::string GetCrashServerURL();
+
+ // Populate |arguments| with additional optional arguments.
+ virtual void GetCrashOptionalArguments(std::vector<std::string>* arguments);
+
@ -405,11 +363,11 @@ index 290b4692c16f..ef91dbdc369d 100644
->set_system_crash_reporter_forwarding(crashpad::TriState::kDisabled);
}
diff --git components/crash/core/app/crashpad_mac.mm components/crash/core/app/crashpad_mac.mm
index b579521d5586..644756cf710c 100644
index 0b594d053d7c..c79b69a31dd1 100644
--- components/crash/core/app/crashpad_mac.mm
+++ components/crash/core/app/crashpad_mac.mm
@@ -16,12 +16,15 @@
#include "base/logging.h"
#include "base/files/file_path.h"
#include "base/mac/bundle_locations.h"
#include "base/mac/foundation_util.h"
+#include "base/path_service.h"
@ -491,16 +449,7 @@ index b579521d5586..644756cf710c 100644
// Is there a way to recover if this fails?
CrashReporterClient* crash_reporter_client = GetCrashReporterClient();
@@ -138,7 +158,7 @@ base::FilePath PlatformCrashpadInitialization(
// crash server won't have symbols for any other build types.
std::string url = "https://clients2.google.com/cr/report";
#else
- std::string url;
+ std::string url = crash_reporter_client->GetCrashServerURL();
#endif
std::vector<std::string> arguments;
@@ -161,6 +181,12 @@ base::FilePath PlatformCrashpadInitialization(
@@ -155,6 +175,12 @@ base::FilePath PlatformCrashpadInitialization(
"--reset-own-crash-exception-port-to-system-default");
}
@ -514,7 +463,7 @@ index b579521d5586..644756cf710c 100644
handler_path, database_path, metrics_path, url,
GetProcessSimpleAnnotations(), arguments, true, false);
diff --git components/crash/core/app/crashpad_win.cc components/crash/core/app/crashpad_win.cc
index 669f5bea844d..734163c0aad1 100644
index c199b467ffeb..1037a285b74c 100644
--- components/crash/core/app/crashpad_win.cc
+++ components/crash/core/app/crashpad_win.cc
@@ -36,8 +36,8 @@ void GetPlatformCrashpadAnnotations(
@ -550,24 +499,19 @@ index 669f5bea844d..734163c0aad1 100644
std::unique_ptr<base::Environment> env(base::Environment::Create());
CrashReporterClient* crash_reporter_client = GetCrashReporterClient();
@@ -87,13 +89,13 @@ base::FilePath PlatformCrashpadInitialization(
@@ -87,9 +89,11 @@ base::FilePath PlatformCrashpadInitialization(
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
std::string url = "https://clients2.google.com/cr/report";
-#else
- std::string url;
-#endif
std::string url = crash_reporter_client->GetUploadUrl();
+#if defined(GOOGLE_CHROME_BUILD)
// Allow the crash server to be overridden for testing. If the variable
// isn't present in the environment then the default URL will remain.
env->GetVar(kServerUrlVar, &url);
+#else
+ std::string url = crash_reporter_client->GetCrashServerURL();
+#endif
base::FilePath exe_file(exe_path);
if (exe_file.empty()) {
@@ -104,13 +106,14 @@ base::FilePath PlatformCrashpadInitialization(
@@ -100,13 +104,14 @@ base::FilePath PlatformCrashpadInitialization(
exe_file = base::FilePath(exe_file_path);
}
@ -587,7 +531,7 @@ index 669f5bea844d..734163c0aad1 100644
if (!user_data_dir.empty()) {
start_arguments.push_back(std::string("--user-data-dir=") +
user_data_dir);
@@ -121,9 +124,12 @@ base::FilePath PlatformCrashpadInitialization(
@@ -117,9 +122,12 @@ base::FilePath PlatformCrashpadInitialization(
start_arguments.push_back("/prefetch:7");
} else {
base::FilePath exe_dir = exe_file.DirName();

View File

@ -40,15 +40,15 @@ index 07a70980f12a..ddf7f17325fe 100644
virtual ~PruneCondition() {}
diff --git third_party/crashpad/crashpad/client/settings.cc third_party/crashpad/crashpad/client/settings.cc
index db9dface43f8..e5bdfebf8403 100644
index 0aa525f1b4c0..2ddb73e7dd0c 100644
--- third_party/crashpad/crashpad/client/settings.cc
+++ third_party/crashpad/crashpad/client/settings.cc
@@ -86,7 +86,7 @@ void ScopedLockedFileHandleTraits::Free(FileHandle handle) {
struct Settings::Data {
static const uint32_t kSettingsMagic = 'CPds';
- static const uint32_t kSettingsVersion = 1;
+ static const uint32_t kSettingsVersion = 2;
static constexpr uint32_t kSettingsMagic = 'CPds';
- static constexpr uint32_t kSettingsVersion = 1;
+ static constexpr uint32_t kSettingsVersion = 2;
enum Options : uint32_t {
kUploadsEnabled = 1 << 0,
@ -146,7 +146,7 @@ index 5761c6b965b5..aee4e6c96033 100644
struct Data;
diff --git third_party/crashpad/crashpad/handler/BUILD.gn third_party/crashpad/crashpad/handler/BUILD.gn
index ff9f5d1f2c47..c7935c4d65a7 100644
index b314e0a11b92..a374df4728c0 100644
--- third_party/crashpad/crashpad/handler/BUILD.gn
+++ third_party/crashpad/crashpad/handler/BUILD.gn
@@ -12,6 +12,7 @@
@ -157,7 +157,7 @@ index ff9f5d1f2c47..c7935c4d65a7 100644
import("../build/crashpad_buildconfig.gni")
static_library("handler") {
@@ -74,6 +75,17 @@ static_library("handler") {
@@ -65,6 +66,17 @@ static_library("handler") {
]
}
@ -175,7 +175,7 @@ index ff9f5d1f2c47..c7935c4d65a7 100644
public_configs = [ "..:crashpad_config" ]
public_deps = [
@@ -86,6 +98,7 @@ static_library("handler") {
@@ -77,6 +89,7 @@ static_library("handler") {
"../minidump",
"../snapshot",
"../tools:tool_support",
@ -248,7 +248,7 @@ index 2ec1147d2620..8ff9a72e0bd7 100644
//! \brief Calls ProcessPendingReports() in response to ReportPending() having
//! been called on any thread, as well as periodically on a timer.
diff --git third_party/crashpad/crashpad/handler/handler_main.cc third_party/crashpad/crashpad/handler/handler_main.cc
index e0a262cd1f38..2949e3ac1739 100644
index d56857ff9042..69fc74639431 100644
--- third_party/crashpad/crashpad/handler/handler_main.cc
+++ third_party/crashpad/crashpad/handler/handler_main.cc
@@ -36,8 +36,10 @@
@ -262,7 +262,7 @@ index e0a262cd1f38..2949e3ac1739 100644
#include "client/crash_report_database.h"
#include "client/crashpad_client.h"
#include "client/crashpad_info.h"
@@ -100,6 +102,10 @@
@@ -91,6 +93,10 @@
#include "handler/linux/exception_handler_server.h"
#endif // OS_MACOSX
@ -273,7 +273,7 @@ index e0a262cd1f38..2949e3ac1739 100644
namespace crashpad {
namespace {
@@ -215,6 +221,9 @@ struct Options {
@@ -206,6 +212,9 @@ struct Options {
bool periodic_tasks;
bool rate_limit;
bool upload_gzip;
@ -283,7 +283,7 @@ index e0a262cd1f38..2949e3ac1739 100644
#if defined(OS_CHROMEOS)
bool use_cros_crash_reporter = false;
base::FilePath minidump_dir_for_tests;
@@ -577,6 +586,9 @@ int HandlerMain(int argc,
@@ -552,6 +561,9 @@ int HandlerMain(int argc,
kOptionTraceParentWithException,
#endif
kOptionURL,
@ -293,7 +293,7 @@ index e0a262cd1f38..2949e3ac1739 100644
#if defined(OS_CHROMEOS)
kOptionUseCrosCrashReporter,
kOptionMinidumpDirForTests,
@@ -675,6 +687,9 @@ int HandlerMain(int argc,
@@ -650,6 +662,9 @@ int HandlerMain(int argc,
#endif // OS_ANDROID
{"help", no_argument, nullptr, kOptionHelp},
{"version", no_argument, nullptr, kOptionVersion},
@ -303,7 +303,7 @@ index e0a262cd1f38..2949e3ac1739 100644
{nullptr, 0, nullptr, 0},
};
@@ -823,6 +838,27 @@ int HandlerMain(int argc,
@@ -798,6 +813,27 @@ int HandlerMain(int argc,
options.url = optarg;
break;
}
@ -331,7 +331,7 @@ index e0a262cd1f38..2949e3ac1739 100644
#if defined(OS_CHROMEOS)
case kOptionUseCrosCrashReporter: {
options.use_cros_crash_reporter = true;
@@ -972,8 +1008,14 @@ int HandlerMain(int argc,
@@ -947,8 +983,14 @@ int HandlerMain(int argc,
upload_thread_options.upload_gzip = options.upload_gzip;
upload_thread_options.watch_pending_reports = options.periodic_tasks;
@ -346,7 +346,7 @@ index e0a262cd1f38..2949e3ac1739 100644
upload_thread.Get()->Start();
}
@@ -1043,7 +1085,8 @@ int HandlerMain(int argc,
@@ -1014,7 +1056,8 @@ int HandlerMain(int argc,
ScopedStoppable prune_thread;
if (options.periodic_tasks) {
prune_thread.Reset(new PruneCrashReportThread(

View File

@ -27,7 +27,7 @@ index bb4af725af9f..a1389be84f6e 100644
auto* browser_context = web_contents->GetBrowserContext();
diff --git extensions/browser/extension_host.cc extensions/browser/extension_host.cc
index 01fbe50e48a9..3977d27e813d 100644
index da431bd8ecc5..587952b1af1c 100644
--- extensions/browser/extension_host.cc
+++ extensions/browser/extension_host.cc
@@ -66,11 +66,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
@ -97,7 +97,7 @@ index 01fbe50e48a9..3977d27e813d 100644
ExtensionRegistry::Get(browser_context_)->RemoveObserver(this);
diff --git extensions/browser/extension_host.h extensions/browser/extension_host.h
index b5d2c7652cae..2e11775e5db3 100644
index 3b4afb96942f..ae832c720dd8 100644
--- extensions/browser/extension_host.h
+++ extensions/browser/extension_host.h
@@ -52,13 +52,19 @@ class ExtensionHost : public DeferredStartRenderHost,
@ -121,7 +121,7 @@ index b5d2c7652cae..2e11775e5db3 100644
content::RenderViewHost* render_view_host() const;
content::RenderProcessHost* render_process_host() const;
bool has_loaded_once() const { return has_loaded_once_; }
@@ -176,7 +182,8 @@ class ExtensionHost : public DeferredStartRenderHost,
@@ -177,7 +183,8 @@ class ExtensionHost : public DeferredStartRenderHost,
content::BrowserContext* browser_context_;
// The host for our HTML content.
@ -132,7 +132,7 @@ index b5d2c7652cae..2e11775e5db3 100644
// A weak pointer to the current or pending RenderViewHost. We don't access
// this through the host_contents because we want to deal with the pending
diff --git extensions/browser/extensions_browser_client.h extensions/browser/extensions_browser_client.h
index c2d64706c1db..4d5c75dd035f 100644
index e2723b1a42e3..cb176afba5aa 100644
--- extensions/browser/extensions_browser_client.h
+++ extensions/browser/extensions_browser_client.h
@@ -56,6 +56,7 @@ class ComponentExtensionResourceManager;
@ -159,7 +159,7 @@ index c2d64706c1db..4d5c75dd035f 100644
// once each time the extensions system is loaded per browser_context. The
// implementation may wish to use the BrowserContext to record the current
diff --git extensions/browser/process_manager.cc extensions/browser/process_manager.cc
index bc06d55da961..64f513b54fe3 100644
index 374f722809b4..c0e22f4ad697 100644
--- extensions/browser/process_manager.cc
+++ extensions/browser/process_manager.cc
@@ -386,9 +386,16 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,

View File

@ -1,8 +1,8 @@
diff --git .gn .gn
index c7296bb80f62..a64c7c42720a 100644
index b6d50b724d74..f6f87492bd93 100644
--- .gn
+++ .gn
@@ -642,6 +642,8 @@ exec_script_whitelist =
@@ -638,6 +638,8 @@ exec_script_whitelist =
"//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn",
@ -12,10 +12,10 @@ index c7296bb80f62..a64c7c42720a 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index 72ae0d476511..1f8c6244e2a3 100644
index 97494c0a0782..da1c1eeabd85 100644
--- BUILD.gn
+++ BUILD.gn
@@ -222,6 +222,7 @@ group("gn_all") {
@@ -223,6 +223,7 @@ group("gn_all") {
if (!is_ios && !is_fuchsia) {
deps += [
@ -56,10 +56,10 @@ index 982fbe8d3f0d..e757be4688f1 100644
+ "studio path")
}
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
index ddfc4bd551d1..0e9157969deb 100644
index deef406b9273..2dfd2cd8c2ef 100644
--- chrome/chrome_paks.gni
+++ chrome/chrome_paks.gni
@@ -297,7 +297,7 @@ template("chrome_paks") {
@@ -303,7 +303,7 @@ template("chrome_paks") {
}
input_locales = locales
@ -69,7 +69,7 @@ index ddfc4bd551d1..0e9157969deb 100644
if (is_mac) {
output_locales = locales_as_mac_outputs
diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn
index b2c99d4721dd..c8f870fa4a06 100644
index 056d425c4194..dd1a5094ec8d 100644
--- chrome/installer/mini_installer/BUILD.gn
+++ chrome/installer/mini_installer/BUILD.gn
@@ -134,7 +134,7 @@ template("generate_mini_installer") {

View File

@ -1,8 +1,8 @@
diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec
index 730e3209ec95..39257ae244de 100644
index 535829b4eed3..1f9dfcb571de 100644
--- tools/gritsettings/resource_ids.spec
+++ tools/gritsettings/resource_ids.spec
@@ -601,4 +601,13 @@
@@ -611,4 +611,13 @@
# 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

@ -25,10 +25,10 @@ index 0aaed76c1dda..517c3d8b5772 100644
if (base::PathExists(sandbox_candidate))
sandbox_binary = sandbox_candidate;
diff --git ui/gl/init/gl_initializer_x11.cc ui/gl/init/gl_initializer_x11.cc
index d9190a957ca2..50bb49eaf56c 100644
index d76d146b0d86..f4d9b4d748bb 100644
--- ui/gl/init/gl_initializer_x11.cc
+++ ui/gl/init/gl_initializer_x11.cc
@@ -86,7 +86,7 @@ bool InitializeStaticEGLInternal(GLImplementation implementation) {
@@ -87,7 +87,7 @@ bool InitializeStaticEGLInternal(GLImplementation implementation) {
if (implementation == kGLImplementationSwiftShaderGL) {
#if BUILDFLAG(ENABLE_SWIFTSHADER)
base::FilePath module_path;
@ -37,7 +37,7 @@ index d9190a957ca2..50bb49eaf56c 100644
return false;
module_path = module_path.Append("swiftshader/");
@@ -97,7 +97,7 @@ bool InitializeStaticEGLInternal(GLImplementation implementation) {
@@ -98,7 +98,7 @@ bool InitializeStaticEGLInternal(GLImplementation implementation) {
#endif
} else if (implementation == kGLImplementationEGLANGLE) {
base::FilePath module_path;

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
index 55026be5292d..589e2c3afd28 100644
index b0f91ff72823..ba0660ffcdc2 100644
--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
+++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
@@ -45,7 +45,7 @@ ChromeBrowserMainExtraPartsViewsLinux::
@@ -48,7 +48,7 @@ ChromeBrowserMainExtraPartsViewsLinux::
}
void ChromeBrowserMainExtraPartsViewsLinux::ToolkitInitialized() {

View File

@ -43,7 +43,7 @@ index 61b8c6fcc42d..d439b00a87bb 100644
#if !defined(OS_NACL)
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
index c50e34f6da1b..40dcc66ed82a 100644
index 83cbec19c292..a890a324c8db 100644
--- base/message_loop/message_pump_win.cc
+++ base/message_loop/message_pump_win.cc
@@ -2,6 +2,7 @@
@ -54,8 +54,8 @@ index c50e34f6da1b..40dcc66ed82a 100644
#include "base/message_loop/message_pump_win.h"
#include <algorithm>
@@ -493,10 +494,18 @@ bool MessagePumpForUI::ProcessPumpReplacementMessage() {
// asynchronous to this thread!!
@@ -550,10 +551,18 @@ bool MessagePumpForUI::ProcessPumpReplacementMessage() {
state_->delegate->BeforeDoInternalWork();
MSG msg;
- const bool have_message =

View File

@ -1,8 +1,8 @@
diff --git base/message_loop/message_pump_mac.mm base/message_loop/message_pump_mac.mm
index bb9e6d30bedd..e5ef7077c9de 100644
index cbda789a0d23..1a99b274abeb 100644
--- base/message_loop/message_pump_mac.mm
+++ base/message_loop/message_pump_mac.mm
@@ -785,7 +785,8 @@ void MessagePumpUIApplication::Detach() {
@@ -786,7 +786,8 @@ void MessagePumpUIApplication::Detach() {
#else
ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
@ -12,7 +12,7 @@ index bb9e6d30bedd..e5ef7077c9de 100644
DCHECK_EQ(kNSApplicationModalSafeModeMask, g_app_pump->GetModeMask());
// Pumping events in private runloop modes is known to interact badly with
// app modal windows like NSAlert.
@@ -797,7 +798,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
@@ -798,7 +799,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
}
ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() {

View File

@ -1,5 +1,5 @@
diff --git content/browser/web_contents/web_contents_view.h content/browser/web_contents/web_contents_view.h
index c0cd19506973..956d80443c11 100644
index 2277fc44cf2f..42cf0b8db757 100644
--- content/browser/web_contents/web_contents_view.h
+++ content/browser/web_contents/web_contents_view.h
@@ -23,7 +23,7 @@ struct DropData;
@ -12,7 +12,7 @@ index c0cd19506973..956d80443c11 100644
virtual ~WebContentsView() {}
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 068b22336fac..a970f5be0428 100644
index e1789871c949..61d3ae65a5ea 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
@@ -207,6 +207,8 @@ void MimeHandlerViewGuest::CreateWebContents(

View File

@ -41,11 +41,11 @@ index cc4b13a7b9c6..84f3b9ed7cf4 100644
} // namespace content
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
index 5ad66a6af94f..501a4dc07a9f 100644
index bb483be1fbfb..d33a95e2dee3 100644
--- content/browser/renderer_host/render_widget_host_impl.cc
+++ content/browser/renderer_host/render_widget_host_impl.cc
@@ -2746,6 +2746,11 @@ void RenderWidgetHostImpl::DidStartScrollingViewport() {
view_->set_is_currently_scrolling_viewport(true);
@@ -2735,6 +2735,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() {
GetProcess(), bad_message::INPUT_ROUTER_INVALID_EVENT_SOURCE);
}
+void RenderWidgetHostImpl::SetCompositorForFlingScheduler(ui::Compositor* compositor)
@ -57,10 +57,10 @@ index 5ad66a6af94f..501a4dc07a9f 100644
const WebInputEvent& event) {
if ((base::FeatureList::IsEnabled(
diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h
index 013b2165038f..28d33768143f 100644
index 7200b0616892..733833deb5e0 100644
--- content/browser/renderer_host/render_widget_host_impl.h
+++ content/browser/renderer_host/render_widget_host_impl.h
@@ -731,6 +731,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
@@ -741,6 +741,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
void ProgressFlingIfNeeded(base::TimeTicks current_time);
void StopFling();

View File

@ -1,8 +1,8 @@
diff --git content/public/common/common_param_traits_macros.h content/public/common/common_param_traits_macros.h
index 0e67ad3c7431..de0bb8e1a824 100644
index c7a871602f5b..e208e699836f 100644
--- content/public/common/common_param_traits_macros.h
+++ content/public/common/common_param_traits_macros.h
@@ -177,6 +177,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
@@ -178,6 +178,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
IPC_STRUCT_TRAITS_MEMBER(main_frame_resizes_are_orientation_changes)
IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale)
IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled)
@ -11,7 +11,7 @@ index 0e67ad3c7431..de0bb8e1a824 100644
IPC_STRUCT_TRAITS_MEMBER(navigate_on_drag_drop)
IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled)
diff --git content/public/common/web_preferences.cc content/public/common/web_preferences.cc
index 13999e87c780..3494c1c762cc 100644
index eac2562c779e..249b5c51ad1d 100644
--- content/public/common/web_preferences.cc
+++ content/public/common/web_preferences.cc
@@ -165,6 +165,7 @@ WebPreferences::WebPreferences()
@ -23,10 +23,10 @@ index 13999e87c780..3494c1c762cc 100644
record_whole_document(false),
cookie_enabled(true),
diff --git content/public/common/web_preferences.h content/public/common/web_preferences.h
index 6c6420ec70bf..256923855837 100644
index 4ba03d3a6219..0996e06eb683 100644
--- content/public/common/web_preferences.h
+++ content/public/common/web_preferences.h
@@ -181,6 +181,7 @@ struct CONTENT_EXPORT WebPreferences {
@@ -182,6 +182,7 @@ struct CONTENT_EXPORT WebPreferences {
bool spatial_navigation_enabled;
bool caret_browsing_enabled;
bool navigate_on_drag_drop;
@ -35,10 +35,10 @@ index 6c6420ec70bf..256923855837 100644
bool record_whole_document;
diff --git content/renderer/render_view_impl.cc content/renderer/render_view_impl.cc
index f0cb4833442b..1f80fefaa124 100644
index 6fc04eb140eb..019295dd241a 100644
--- content/renderer/render_view_impl.cc
+++ content/renderer/render_view_impl.cc
@@ -971,6 +971,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
@@ -972,6 +972,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
#endif
WebRuntimeFeatures::EnableTranslateService(prefs.translate_service_available);

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/download/download_prefs.cc chrome/browser/download/download_prefs.cc
index 00d1c0fa2b00..45dcadc79fb2 100644
index a996e15eeba1..76191e5ffa14 100644
--- chrome/browser/download/download_prefs.cc
+++ chrome/browser/download/download_prefs.cc
@@ -22,6 +22,7 @@
@@ -23,6 +23,7 @@
#include "base/strings/sys_string_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
@ -10,7 +10,7 @@ index 00d1c0fa2b00..45dcadc79fb2 100644
#include "chrome/browser/download/chrome_download_manager_delegate.h"
#include "chrome/browser/download/download_core_service_factory.h"
#include "chrome/browser/download/download_core_service_impl.h"
@@ -53,6 +54,10 @@
@@ -56,6 +57,10 @@
#include "chrome/browser/ui/pdf/adobe_reader_info_win.h"
#endif
@ -21,7 +21,7 @@ index 00d1c0fa2b00..45dcadc79fb2 100644
using content::BrowserContext;
using content::BrowserThread;
using content::DownloadManager;
@@ -309,7 +314,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager(
@@ -340,7 +345,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager(
// static
DownloadPrefs* DownloadPrefs::FromBrowserContext(
content::BrowserContext* context) {
@ -73,20 +73,20 @@ index 56a6a8d8ee67..5fecf7ad1780 100644
$i18n{cancel}
</cr-button>
diff --git chrome/browser/resources/print_preview/ui/destination_select.html chrome/browser/resources/print_preview/ui/destination_select.html
index c93947a7634c..c60cada63ef8 100644
index 4ec05c3fe7ba..90ff40b337bf 100644
--- chrome/browser/resources/print_preview/ui/destination_select.html
+++ chrome/browser/resources/print_preview/ui/destination_select.html
@@ -31,10 +31,6 @@
hidden$="[[pdfPrinterDisabled]]">
$i18n{printToPDF}
</option>
- <option value="[[getGoogleDriveDestinationKey_(activeUser)]]"
- hidden$="[[!driveDestinationReady]]">
- $i18n{printToGoogleDrive}
- </option>
<option value="noDestinations"
hidden$="[[!noDestinations]]" selected$="[[noDestinations]]">
$i18n{noDestinationsMessage}
@@ -19,10 +19,6 @@
<option value="[[pdfDestinationKey_]]" hidden$="[[pdfPrinterDisabled]]">
$i18n{printToPDF}
</option>
- <option value="[[driveDestinationKey]]"
- hidden$="[[!driveDestinationKey]]">
- $i18n{printToGoogleDrive}
- </option>
<option value="noDestinations"
hidden$="[[!noDestinations]]" selected$="[[noDestinations]]">
$i18n{noDestinationsMessage}
diff --git chrome/browser/ui/webui/constrained_web_dialog_ui.cc chrome/browser/ui/webui/constrained_web_dialog_ui.cc
index b59728f623e3..6fd443962836 100644
--- chrome/browser/ui/webui/constrained_web_dialog_ui.cc
@ -112,7 +112,7 @@ index b59728f623e3..6fd443962836 100644
ConstrainedWebDialogUI::~ConstrainedWebDialogUI() {
diff --git chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
index 394ce8f66012..fe0e14e27fd1 100644
index c3a1e237fd6c..7f1e500f853c 100644
--- chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
+++ chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
@@ -178,8 +178,10 @@ PdfPrinterHandler::PdfPrinterHandler(
@ -262,63 +262,45 @@ index 0881b3dd9303..4df6883d4d05 100644
Profile* const profile_;
PrintPreviewStickySettings* const sticky_settings_;
diff --git chrome/browser/ui/webui/print_preview/print_preview_handler.cc chrome/browser/ui/webui/print_preview/print_preview_handler.cc
index 113d34201f90..4a75044c2bb7 100644
index 1d2254cefc2c..7aa5fe7f11a4 100644
--- chrome/browser/ui/webui/print_preview/print_preview_handler.cc
+++ chrome/browser/ui/webui/print_preview/print_preview_handler.cc
@@ -27,6 +27,7 @@
#include "base/metrics/histogram_macros.h"
@@ -24,6 +24,7 @@
#include "base/memory/ref_counted_memory.h"
#include "base/values.h"
#include "build/build_config.h"
+#include "cef/libcef/features/features.h"
#include "chrome/browser/app_mode/app_mode_utils.h"
#include "chrome/browser/bad_message.h"
#include "chrome/browser/browser_process.h"
@@ -1146,7 +1147,7 @@ void PrintPreviewHandler::SendInitialSettings(
initial_settings.SetKey(kPolicies, std::move(policies));
if (IsCloudPrintEnabled() &&
- !base::FeatureList::IsEnabled(features::kCloudPrinterHandler)) {
+ !base::FeatureList::IsEnabled(::features::kCloudPrinterHandler)) {
initial_settings.SetStringKey(
kCloudPrintURL, GURL(cloud_devices::GetCloudPrintURL()).spec());
}
@@ -1403,7 +1404,7 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
@@ -1243,7 +1244,7 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
}
return extension_printer_handler_.get();
}
-#if BUILDFLAG(ENABLE_SERVICE_DISCOVERY)
+#if BUILDFLAG(ENABLE_SERVICE_DISCOVERY) && !BUILDFLAG(ENABLE_CEF)
if (printer_type == PrinterType::kPrivetPrinter) {
if (printer_type == PrinterType::kPrivet) {
if (!privet_printer_handler_) {
privet_printer_handler_ =
@@ -1411,6 +1412,9 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
@@ -1251,6 +1252,9 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
}
return privet_printer_handler_.get();
}
+#else // !BUILDFLAG(ENABLE_SERVICE_DISCOVERY)
+ if (printer_type == PrinterType::kPrivetPrinter)
+ if (printer_type == PrinterType::kPrivet)
+ return nullptr;
#endif
if (printer_type == PrinterType::kPdfPrinter) {
if (printer_type == PrinterType::kPdf) {
if (!pdf_printer_handler_) {
@@ -1430,7 +1434,7 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
if (printer_type == PrinterType::kCloudPrinter) {
// This printer handler is currently experimental. Ensure it is never
// created unless the flag is enabled.
- CHECK(base::FeatureList::IsEnabled(features::kCloudPrinterHandler));
+ CHECK(base::FeatureList::IsEnabled(::features::kCloudPrinterHandler));
if (!cloud_printer_handler_)
cloud_printer_handler_ = PrinterHandler::CreateForCloudPrinters();
return cloud_printer_handler_.get();
@@ -1493,6 +1497,7 @@ void PrintPreviewHandler::OnPrintResult(const std::string& callback_id,
@@ -1323,6 +1327,7 @@ void PrintPreviewHandler::OnPrintResult(const std::string& callback_id,
}
void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
+#if !BUILDFLAG(ENABLE_CEF)
DCHECK(!identity_manager_);
cloud_print_enabled_ =
!base::Contains(printer_type_deny_list_, kCloudPrinter) &&
@@ -1509,6 +1514,7 @@ void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
!base::Contains(printer_type_deny_list_, PrinterType::kCloud) &&
@@ -1339,6 +1344,7 @@ void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
identity_manager_ = IdentityManagerFactory::GetForProfile(profile);
identity_manager_->AddObserver(this);
@ -327,18 +309,18 @@ index 113d34201f90..4a75044c2bb7 100644
void PrintPreviewHandler::UnregisterForGaiaCookieChanges() {
diff --git chrome/browser/ui/webui/print_preview/print_preview_ui.cc chrome/browser/ui/webui/print_preview/print_preview_ui.cc
index cf3c71f478da..8438a234eb8b 100644
index 43cddc1495e9..c4307c9f7292 100644
--- chrome/browser/ui/webui/print_preview/print_preview_ui.cc
+++ chrome/browser/ui/webui/print_preview/print_preview_ui.cc
@@ -24,6 +24,7 @@
#include "base/synchronization/lock.h"
@@ -28,6 +28,7 @@
#include "base/task/post_task.h"
#include "base/values.h"
#include "build/build_config.h"
+#include "cef/libcef/features/features.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_platform_part.h"
#include "chrome/browser/printing/background_printing_manager.h"
@@ -76,12 +77,16 @@ namespace printing {
@@ -84,12 +85,16 @@ namespace printing {
namespace {
@ -355,12 +337,3 @@ index cf3c71f478da..8438a234eb8b 100644
#if !BUILDFLAG(OPTIMIZE_WEBUI)
constexpr char kGeneratedPath[] =
@@ -332,7 +337,7 @@ void AddPrintPreviewFlags(content::WebUIDataSource* source, Profile* profile) {
source->AddBoolean("isEnterpriseManaged", enterprise_managed);
bool cloud_printer_handler_enabled =
- base::FeatureList::IsEnabled(features::kCloudPrinterHandler);
+ base::FeatureList::IsEnabled(::features::kCloudPrinterHandler);
source->AddBoolean("cloudPrinterHandlerEnabled",
cloud_printer_handler_enabled);
}

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/printing/print_job_worker.cc chrome/browser/printing/print_job_worker.cc
index 33e17f0df356..04dd4798755c 100644
index 9122bbf4f15c..b6a190193a87 100644
--- chrome/browser/printing/print_job_worker.cc
+++ chrome/browser/printing/print_job_worker.cc
@@ -134,6 +134,7 @@ PrintJobWorker::PrintJobWorker(int render_process_id, int render_frame_id)

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc
index 01a4e3dc134b..cddb71886d4f 100644
index 8c6deced5a7a..5bded2a7e8f1 100644
--- content/browser/renderer_host/render_view_host_impl.cc
+++ content/browser/renderer_host/render_view_host_impl.cc
@@ -455,6 +455,8 @@ bool RenderViewHostImpl::IsRenderViewLive() {
@@ -487,6 +487,8 @@ bool RenderViewHostImpl::IsRenderViewLive() {
}
void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {

View File

@ -28,10 +28,10 @@ index 133540ca848f..d442344715af 100644
void ResourceBundle::InitSharedInstance(Delegate* delegate) {
DCHECK(g_shared_instance_ == nullptr) << "ResourceBundle initialized twice";
diff --git ui/base/resource/resource_bundle.h ui/base/resource/resource_bundle.h
index 3daa73bdc6d5..3d2f9232870d 100644
index 0b62c5dba949..ddcb938a26ed 100644
--- ui/base/resource/resource_bundle.h
+++ ui/base/resource/resource_bundle.h
@@ -158,6 +158,11 @@ class UI_BASE_EXPORT ResourceBundle {
@@ -159,6 +159,11 @@ class UI_BASE_EXPORT ResourceBundle {
// Return the global resource loader instance.
static ResourceBundle& GetSharedInstance();

View File

@ -1,5 +1,5 @@
diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py
index 2ab240da4548..b8eec0aa2383 100644
index 9c936c69d684..13be02ae33f8 100644
--- build/toolchain/win/setup_toolchain.py
+++ build/toolchain/win/setup_toolchain.py
@@ -142,22 +142,25 @@ def _LoadToolchainEnv(cpu, sdk_dir, target_store):
@ -43,7 +43,7 @@ index 2ab240da4548..b8eec0aa2383 100644
diff --git build/vs_toolchain.py build/vs_toolchain.py
index 97600e73ba10..36773b159453 100755
index f3557ad32eea..b3e056acccdb 100755
--- build/vs_toolchain.py
+++ build/vs_toolchain.py
@@ -89,9 +89,16 @@ def SetEnvironmentAndGetRuntimeDllDirs():

View File

@ -1,5 +1,5 @@
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
index f7f9dafb9798..a378394c2d41 100644
index f22bf4255266..3b1025cd1a8f 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -745,10 +745,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc
index 44ce8ba980a6..1dbbf0aa2341 100644
index 75a5ee192358..bc97cbf684c0 100644
--- chrome/browser/net/profile_network_context_service.cc
+++ chrome/browser/net/profile_network_context_service.cc
@@ -18,6 +18,7 @@
@ -10,7 +10,7 @@ index 44ce8ba980a6..1dbbf0aa2341 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/content_settings/cookie_settings_factory.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
@@ -681,9 +682,22 @@ ProfileNetworkContextService::CreateNetworkContextParams(
@@ -661,9 +662,22 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
network_context_params->cookie_manager_params =
CreateCookieManagerParams(profile_, *cookie_settings_);
@ -33,7 +33,7 @@ index 44ce8ba980a6..1dbbf0aa2341 100644
PrefService* local_state = g_browser_process->local_state();
// Configure the HTTP cache path and size.
base::FilePath base_cache_path;
@@ -696,6 +710,7 @@ ProfileNetworkContextService::CreateNetworkContextParams(
@@ -676,6 +690,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
base_cache_path.Append(chrome::kCacheDirname);
network_context_params->http_cache_max_size =
local_state->GetInteger(prefs::kDiskCacheSize);
@ -42,10 +42,10 @@ index 44ce8ba980a6..1dbbf0aa2341 100644
// Currently this just contains HttpServerProperties, but that will likely
// change.
diff --git chrome/browser/profiles/profile.h chrome/browser/profiles/profile.h
index ee2f1e1baf51..4d53c655d723 100644
index a48ead96b3f7..967a5975c330 100644
--- chrome/browser/profiles/profile.h
+++ chrome/browser/profiles/profile.h
@@ -375,6 +375,11 @@ class Profile : public content::BrowserContext {
@@ -464,6 +464,11 @@ class Profile : public content::BrowserContext {
virtual bool ShouldRestoreOldSessionCookies();
virtual bool ShouldPersistSessionCookies();
@ -54,11 +54,11 @@ index ee2f1e1baf51..4d53c655d723 100644
+ return base::nullopt;
+ }
+
// Creates NetworkContext for the specified isolated app (or for the profile
// itself, if |relative_path| is empty).
virtual mojo::Remote<network::mojom::NetworkContext> CreateNetworkContext(
// Configures NetworkContextParams and CertVerifierCreationParams for the
// specified isolated app (or for the profile itself, if |relative_path| is
// empty).
diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc
index 783485c013df..bf115fd4d63a 100644
index 69652bdb5952..f1554d00df7b 100644
--- net/cookies/cookie_monster.cc
+++ net/cookies/cookie_monster.cc
@@ -476,6 +476,25 @@ void CookieMonster::SetCookieableSchemes(
@ -88,7 +88,7 @@ index 783485c013df..bf115fd4d63a 100644
void CookieMonster::SetPersistSessionCookies(bool persist_session_cookies) {
DCHECK(thread_checker_.CalledOnValidThread());
diff --git net/cookies/cookie_monster.h net/cookies/cookie_monster.h
index 431fab884a5f..eeed129b49f2 100644
index 46001bd4e4e1..7ac1fc4f49ce 100644
--- net/cookies/cookie_monster.h
+++ net/cookies/cookie_monster.h
@@ -180,6 +180,8 @@ class NET_EXPORT CookieMonster : public CookieStore {
@ -101,7 +101,7 @@ index 431fab884a5f..eeed129b49f2 100644
// Enables writing session cookies into the cookie database. If this this
// method is called, it must be called before first use of the instance
diff --git net/cookies/cookie_store.h net/cookies/cookie_store.h
index 996ad7d14dfb..5c8e43c1d29c 100644
index 4157f0ce83a5..1a0966ce73c8 100644
--- net/cookies/cookie_store.h
+++ net/cookies/cookie_store.h
@@ -148,6 +148,11 @@ class NET_EXPORT CookieStore {
@ -117,7 +117,7 @@ index 996ad7d14dfb..5c8e43c1d29c 100644
virtual void DumpMemoryStats(base::trace_event::ProcessMemoryDump* pmd,
const std::string& parent_absolute_name) const;
diff --git services/network/cookie_manager.cc services/network/cookie_manager.cc
index d1bf7a4d1f6d..772e08ee8916 100644
index 1d988375b00a..e71cbc3b612f 100644
--- services/network/cookie_manager.cc
+++ services/network/cookie_manager.cc
@@ -228,14 +228,9 @@ void CookieManager::FlushCookieStore(FlushCookieStoreCallback callback) {
@ -139,10 +139,10 @@ index d1bf7a4d1f6d..772e08ee8916 100644
void CookieManager::SetForceKeepSessionState() {
diff --git services/network/network_context.cc services/network/network_context.cc
index 5e37a45a033a..ca44461120a8 100644
index 2c3f75ea4ad1..2e639893913b 100644
--- services/network/network_context.cc
+++ services/network/network_context.cc
@@ -1795,6 +1795,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext() {
@@ -1746,6 +1746,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext() {
}
scoped_refptr<SessionCleanupCookieStore> session_cleanup_cookie_store;
@ -150,7 +150,7 @@ index 5e37a45a033a..ca44461120a8 100644
if (params_->cookie_path) {
scoped_refptr<base::SequencedTaskRunner> client_task_runner =
base::ThreadTaskRunnerHandle::Get();
@@ -1821,18 +1822,26 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext() {
@@ -1772,18 +1773,26 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext() {
session_cleanup_cookie_store =
base::MakeRefCounted<SessionCleanupCookieStore>(sqlite_store);
@ -181,10 +181,10 @@ index 5e37a45a033a..ca44461120a8 100644
trust_token_store_ = std::make_unique<PendingTrustTokenStore>();
diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom
index 9515fe92e0b1..e659550debd2 100644
index 6589fe215cfa..481fabeef3a1 100644
--- services/network/public/mojom/network_context.mojom
+++ services/network/public/mojom/network_context.mojom
@@ -219,6 +219,9 @@ struct NetworkContextParams {
@@ -258,6 +258,9 @@ struct NetworkContextParams {
// cookies. Otherwise it should be false.
bool persist_session_cookies = false;

View File

@ -1,8 +1,8 @@
diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
index 66a4f7c28b4f..92cb66c1dc38 100644
index f06c5b512342..1e8d5eef47fc 100644
--- content/browser/storage_partition_impl.cc
+++ content/browser/storage_partition_impl.cc
@@ -797,10 +797,6 @@ class LoginHandlerDelegate {
@@ -489,10 +489,6 @@ class LoginHandlerDelegate {
}
WebContents* web_contents = web_contents_getter_.Run();
@ -13,7 +13,7 @@ index 66a4f7c28b4f..92cb66c1dc38 100644
// WeakPtr is not strictly necessary here due to OnRequestCancelled.
creating_login_delegate_ = true;
@@ -857,12 +853,6 @@ void OnAuthRequiredContinuation(
@@ -549,12 +545,6 @@ void OnAuthRequiredContinuation(
web_contents_getter =
base::BindRepeating(GetWebContents, process_id, routing_id);
}
@ -26,22 +26,24 @@ index 66a4f7c28b4f..92cb66c1dc38 100644
new LoginHandlerDelegate(std::move(auth_challenge_responder),
std::move(web_contents_getter), auth_info,
is_request_for_main_frame, process_id, routing_id,
@@ -2603,15 +2593,21 @@ void StoragePartitionImpl::GetQuotaSettings(
@@ -2363,8 +2353,12 @@ void StoragePartitionImpl::GetQuotaSettings(
return;
}
+ // CEF always returns false for IsOffTheRecord(), so also check the path.
+ const bool is_incognito = browser_context_->IsOffTheRecord() ||
+ browser_context_->GetPath().empty();
+
storage::GetNominalDynamicSettings(
- GetPath(), browser_context_->IsOffTheRecord(),
+ GetPath(), is_incognito,
storage::GetDefaultDeviceInfoHelper(), std::move(callback));
}
void StoragePartitionImpl::InitNetworkContext() {
network_context_ = GetContentClient()->browser()->CreateNetworkContext(
browser_context_, is_in_memory_, relative_partition_path_);
@@ -2387,7 +2381,10 @@ void StoragePartitionImpl::InitNetworkContext() {
network_context_.reset();
GetNetworkService()->CreateNetworkContext(
network_context_.BindNewPipeAndPassReceiver(), std::move(context_params));
- DCHECK(network_context_);
+ if (!network_context_) {
+ // May happen during shutdown.

View File

@ -1,5 +1,5 @@
diff --git ui/views/controls/native/native_view_host.cc ui/views/controls/native/native_view_host.cc
index b29553ae8f7b..c31233db9ab2 100644
index 4779e4f07d92..13b98f8cc6a7 100644
--- ui/views/controls/native/native_view_host.cc
+++ ui/views/controls/native/native_view_host.cc
@@ -154,7 +154,7 @@ void NativeViewHost::OnPaint(gfx::Canvas* canvas) {

View File

@ -13,18 +13,10 @@ index f90e9fce0675..33551a2874bc 100644
{base::MayBlock(), base::TaskPriority::USER_VISIBLE,
base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN});
diff --git content/browser/browser_context.cc content/browser/browser_context.cc
index 25afe1eda95e..78310ebd061d 100644
index 05473c622dbd..9cd0e465fd2d 100644
--- content/browser/browser_context.cc
+++ content/browser/browser_context.cc
@@ -58,6 +58,7 @@
#include "content/public/common/content_switches.h"
#include "content/public/common/service_manager_connection.h"
#include "content/public/common/service_names.mojom.h"
+#include "media/capabilities/in_memory_video_decode_stats_db_impl.h"
#include "media/base/media_switches.h"
#include "media/capabilities/in_memory_video_decode_stats_db_impl.h"
#include "media/capabilities/video_decode_stats_db_impl.h"
@@ -169,7 +170,7 @@ StoragePartition* GetStoragePartitionFromConfig(
@@ -129,7 +129,7 @@ StoragePartition* GetStoragePartitionFromConfig(
StoragePartitionImplMap* partition_map =
GetStoragePartitionMap(browser_context);
@ -33,7 +25,7 @@ index 25afe1eda95e..78310ebd061d 100644
in_memory = true;
return partition_map->Get(partition_domain, partition_name, in_memory,
@@ -673,7 +674,7 @@ media::VideoDecodePerfHistory* BrowserContext::GetVideoDecodePerfHistory() {
@@ -543,7 +543,7 @@ media::VideoDecodePerfHistory* BrowserContext::GetVideoDecodePerfHistory() {
kUseInMemoryDBDefault);
std::unique_ptr<media::VideoDecodeStatsDB> stats_db;
@ -43,7 +35,7 @@ index 25afe1eda95e..78310ebd061d 100644
std::make_unique<media::InMemoryVideoDecodeStatsDBImpl>(nullptr);
} else {
diff --git storage/browser/database/database_tracker.cc storage/browser/database/database_tracker.cc
index 41dc6c9ac188..b125c1d2bcc8 100644
index ecc6a0d2b8e5..b120add8abab 100644
--- storage/browser/database/database_tracker.cc
+++ storage/browser/database/database_tracker.cc
@@ -506,7 +506,7 @@ bool DatabaseTracker::LazyInit() {
@ -51,7 +43,7 @@ index 41dc6c9ac188..b125c1d2bcc8 100644
is_initialized_ =
- base::CreateDirectory(db_dir_) &&
+ (is_incognito_ ? true : base::CreateDirectory(db_dir_)) &&
+ (is_off_the_record_ ? true : base::CreateDirectory(db_dir_)) &&
(db_->is_open() ||
(is_incognito_ ? db_->OpenInMemory() :
db_->Open(kTrackerDatabaseFullPath))) &&
(is_off_the_record_ ? db_->OpenInMemory()
: db_->Open(kTrackerDatabaseFullPath))) &&

View File

@ -1,8 +1,8 @@
diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h
index ac67c35bbcb0..f1ebee76b00d 100644
index 7ce21d4711b6..a1a9008f9887 100644
--- base/trace_event/builtin_categories.h
+++ base/trace_event/builtin_categories.h
@@ -52,6 +52,8 @@
@@ -58,6 +58,8 @@
X("cc") \
X("cc.debug") \
X("cdp.perf") \

View File

@ -1,8 +1,8 @@
diff --git ui/base/x/x11_os_exchange_data_provider.cc ui/base/x/x11_os_exchange_data_provider.cc
index 41190f9f56a9..dcb869d1e2f5 100644
index 88a24bab57b5..d130fcc0eca8 100644
--- ui/base/x/x11_os_exchange_data_provider.cc
+++ ui/base/x/x11_os_exchange_data_provider.cc
@@ -127,7 +127,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url,
@@ -134,7 +134,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url,
format_map_.Insert(gfx::GetAtom(kMimeTypeMozillaURL), mem);
// Set a string fallback as well.

View File

@ -1,16 +1,20 @@
diff --git ui/base/models/menu_model.h ui/base/models/menu_model.h
index 5bcc6204c2b5..1bf18609d150 100644
index 887eee64e27f..31d4d453a481 100644
--- ui/base/models/menu_model.h
+++ ui/base/models/menu_model.h
@@ -16,6 +16,7 @@
@@ -12,8 +12,11 @@
#include "ui/base/ui_base_export.h"
#include "ui/gfx/native_widget_types.h"
+#include "third_party/skia/include/core/SkColor.h"
+
namespace gfx {
class FontList;
class Image;
+class Point;
struct VectorIcon;
}
@@ -125,6 +126,27 @@ class UI_BASE_EXPORT MenuModel : public base::SupportsWeakPtr<MenuModel> {
namespace ui {
@@ -119,6 +122,27 @@ class UI_BASE_EXPORT MenuModel : public base::SupportsWeakPtr<MenuModel> {
// |event_flags| is a bit mask of ui::EventFlags.
virtual void ActivatedAt(int index, int event_flags);
@ -39,10 +43,10 @@ index 5bcc6204c2b5..1bf18609d150 100644
virtual void MenuWillShow() {}
diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc
index 7d5fb0c4d6e6..79e59cd87f91 100644
index ddbad437878c..4e86541fb68b 100644
--- ui/gfx/render_text.cc
+++ ui/gfx/render_text.cc
@@ -609,6 +609,14 @@ void RenderText::SetWhitespaceElision(base::Optional<bool> whitespace_elision) {
@@ -610,6 +610,14 @@ void RenderText::SetWhitespaceElision(base::Optional<bool> whitespace_elision) {
}
}
@ -57,7 +61,7 @@ index 7d5fb0c4d6e6..79e59cd87f91 100644
void RenderText::SetDisplayRect(const Rect& r) {
if (r != display_rect_) {
display_rect_ = r;
@@ -1973,6 +1981,19 @@ void RenderText::OnTextAttributeChanged() {
@@ -1990,6 +1998,19 @@ void RenderText::OnTextAttributeChanged() {
layout_text_up_to_date_ = false;
@ -78,7 +82,7 @@ index 7d5fb0c4d6e6..79e59cd87f91 100644
}
diff --git ui/gfx/render_text.h ui/gfx/render_text.h
index 892b32910b77..0d3c4ef5cafa 100644
index 8cfbd5c5c4af..80a6c8a8674c 100644
--- ui/gfx/render_text.h
+++ ui/gfx/render_text.h
@@ -324,6 +324,10 @@ class GFX_EXPORT RenderText {
@ -92,7 +96,7 @@ index 892b32910b77..0d3c4ef5cafa 100644
const Rect& display_rect() const { return display_rect_; }
void SetDisplayRect(const Rect& r);
@@ -1006,6 +1010,8 @@ class GFX_EXPORT RenderText {
@@ -1015,6 +1019,8 @@ class GFX_EXPORT RenderText {
// Tell whether or not the |layout_text_| needs an update or is up to date.
mutable bool layout_text_up_to_date_ = false;
@ -146,7 +150,7 @@ index ac348aa7dd46..88ab098daddc 100644
ImageView* image() const { return image_; }
Label* label() const { return label_; }
diff --git ui/views/controls/label.cc ui/views/controls/label.cc
index c15c27ae75b6..325eec4939de 100644
index ad6af149e286..bef8ab77d961 100644
--- ui/views/controls/label.cc
+++ ui/views/controls/label.cc
@@ -53,6 +53,20 @@ bool IsOpaque(SkColor color) {
@ -207,10 +211,10 @@ index c15c27ae75b6..325eec4939de 100644
render_text->SetMultiline(multiline);
render_text->SetMaxLines(multiline ? GetMaxLines() : 0);
diff --git ui/views/controls/label.h ui/views/controls/label.h
index 4cb533caa9c7..63eac79c878c 100644
index dc690b22dc25..d07d1df9aa2f 100644
--- ui/views/controls/label.h
+++ ui/views/controls/label.h
@@ -177,6 +177,10 @@ class VIEWS_EXPORT Label : public View,
@@ -183,6 +183,10 @@ class VIEWS_EXPORT Label : public View,
gfx::ElideBehavior GetElideBehavior() const;
void SetElideBehavior(gfx::ElideBehavior elide_behavior);
@ -221,7 +225,7 @@ index 4cb533caa9c7..63eac79c878c 100644
// Gets/Sets the tooltip text. Default behavior for a label (single-line) is
// to show the full text if it is wider than its bounds. Calling this
// overrides the default behavior and lets you set a custom tooltip. To
@@ -413,6 +417,7 @@ class VIEWS_EXPORT Label : public View,
@@ -416,6 +420,7 @@ class VIEWS_EXPORT Label : public View,
bool collapse_when_hidden_ = false;
int fixed_width_ = 0;
int max_width_ = 0;
@ -230,10 +234,10 @@ index 4cb533caa9c7..63eac79c878c 100644
std::unique_ptr<SelectionController> selection_controller_;
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
index d8c09129ad9a..7c28530fa7dd 100644
index d9938916a535..bc7eaa23c9c6 100644
--- ui/views/controls/menu/menu_controller.cc
+++ ui/views/controls/menu/menu_controller.cc
@@ -2638,8 +2638,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
@@ -2651,8 +2651,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
void MenuController::OpenSubmenuChangeSelectionIfCan() {
MenuItemView* item = pending_state_.item;
@ -248,7 +252,7 @@ index d8c09129ad9a..7c28530fa7dd 100644
MenuItemView* to_select = nullptr;
if (!item->GetSubmenu()->GetMenuItems().empty())
to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN);
@@ -2658,8 +2663,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
@@ -2671,8 +2676,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
void MenuController::CloseSubmenu() {
MenuItemView* item = state_.item;
DCHECK(item);
@ -300,7 +304,7 @@ index 2a03ff43f4a6..c12d68eb212c 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 6f45e5ac5d1c..d8a0eee3fedd 100644
index d00618f37c3a..3157ba4f219b 100644
--- ui/views/controls/menu/menu_item_view.cc
+++ ui/views/controls/menu/menu_item_view.cc
@@ -987,6 +987,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
@ -334,10 +338,10 @@ index 6f45e5ac5d1c..d8a0eee3fedd 100644
GetMenuController() && GetMenuController()->use_touchable_layout()
? style::CONTEXT_TOUCH_MENU
diff --git ui/views/controls/menu/menu_model_adapter.cc ui/views/controls/menu/menu_model_adapter.cc
index 88a868cf6f98..b7c10dc5613c 100644
index 79af9195b11f..a30375d1a6ed 100644
--- ui/views/controls/menu/menu_model_adapter.cc
+++ ui/views/controls/menu/menu_model_adapter.cc
@@ -230,6 +230,77 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
@@ -233,6 +233,77 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
return false;
}
@ -441,10 +445,10 @@ index 78f832fd3acf..cb030c991614 100644
void WillHideMenu(MenuItemView* menu) override;
void OnMenuClosed(MenuItemView* menu) override;
diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc
index 7a9d15cb2066..abfe73a68ace 100644
index 3ba6950690e3..f500022cc083 100644
--- ui/views/controls/menu/menu_scroll_view_container.cc
+++ ui/views/controls/menu/menu_scroll_view_container.cc
@@ -189,6 +189,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
@@ -199,6 +199,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
scroll_down_button_ =
AddChildView(std::make_unique<MenuScrollButton>(content_view, false));
@ -457,10 +461,10 @@ index 7a9d15cb2066..abfe73a68ace 100644
content_view_->GetMenuItem()->GetMenuController()->GetAnchorPosition());
diff --git ui/views/test/ui_controls_factory_desktop_aurax11.cc ui/views/test/ui_controls_factory_desktop_aurax11.cc
index 82a2d7a7827f..082c614e57a9 100644
index 0ba3742be89f..6187478ecfc7 100644
--- ui/views/test/ui_controls_factory_desktop_aurax11.cc
+++ ui/views/test/ui_controls_factory_desktop_aurax11.cc
@@ -139,10 +139,6 @@ class UIControlsDesktopX11 : public UIControlsAura {
@@ -150,10 +150,6 @@ class UIControlsDesktopX11 : public UIControlsAura {
aura::test::QueryLatestMousePositionRequestInHost(host);
host->ConvertPixelsToDIP(&root_current_location);
@ -472,7 +476,7 @@ index 82a2d7a7827f..082c614e57a9 100644
// Move the cursor because EnterNotify/LeaveNotify are generated with the
// current mouse position as a result of XGrabPointer()
diff --git ui/views/view.h ui/views/view.h
index b1dfe17e2b28..87480a766437 100644
index 1f4f1eb78fe2..15bda55cb8f9 100644
--- ui/views/view.h
+++ ui/views/view.h
@@ -23,6 +23,7 @@

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
index 19c6b2e5c705..b48d5c04ae0e 100644
index 403a8c870a59..da2ced627c2f 100644
--- content/browser/renderer_host/render_widget_host_view_base.cc
+++ content/browser/renderer_host/render_widget_host_view_base.cc
@@ -568,6 +568,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() {
@@ -558,6 +558,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() {
return screen_info.device_scale_factor;
}
@ -18,7 +18,7 @@ index 19c6b2e5c705..b48d5c04ae0e 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 27133fd98354..2552750935af 100644
index 39f1c8d6ee46..503fe5668de3 100644
--- content/browser/renderer_host/render_widget_host_view_base.h
+++ content/browser/renderer_host/render_widget_host_view_base.h
@@ -65,6 +65,7 @@ class CursorManager;
@ -48,7 +48,7 @@ index 27133fd98354..2552750935af 100644
TouchSelectionControllerClientManager*
GetTouchSelectionControllerClientManager() override;
void SetRecordContentToVisibleTimeRequest(
@@ -444,6 +450,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -435,6 +441,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
// helps to position the full screen widget on the correct monitor.
virtual void InitAsFullscreen(RenderWidgetHostView* reference_host_view) = 0;
@ -61,7 +61,7 @@ index 27133fd98354..2552750935af 100644
// Sets the cursor for this view to the one associated with the specified
// cursor_type.
virtual void UpdateCursor(const WebCursor& cursor) = 0;
@@ -608,6 +620,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -600,6 +612,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
bool is_currently_scrolling_viewport_ = false;
@ -73,7 +73,7 @@ index 27133fd98354..2552750935af 100644
FRIEND_TEST_ALL_PREFIXES(
BrowserSideFlingBrowserTest,
diff --git content/browser/renderer_host/render_widget_host_view_event_handler.cc content/browser/renderer_host/render_widget_host_view_event_handler.cc
index 4b2067bc7f26..3f483ff54365 100644
index a21600fc77a3..08bc5f01702b 100644
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
@@ -33,6 +33,10 @@
@ -122,10 +122,10 @@ index 3e5bf09f1cf7..bc8ea335d501 100644
// Set the view's active state (i.e., tint state of controls).
virtual void SetActive(bool active) = 0;
diff --git ui/base/x/x11_window.cc ui/base/x/x11_window.cc
index 62c8122e05ad..ff44d464a7b0 100644
index 70f520bccd47..361e99d462a1 100644
--- ui/base/x/x11_window.cc
+++ ui/base/x/x11_window.cc
@@ -256,8 +256,12 @@ void XWindow::Init(const Configuration& config) {
@@ -255,8 +255,12 @@ void XWindow::Init(const Configuration& config) {
attribute_mask |= CWBorderPixel;
swa.border_pixel = 0;
@ -140,7 +140,7 @@ index 62c8122e05ad..ff44d464a7b0 100644
bounds_in_pixels_.height(),
0, // border width
diff --git ui/base/x/x11_window.h ui/base/x/x11_window.h
index d0f852b1d69d..7d3ea8779fd1 100644
index feec9b62e6d7..62a509218b57 100644
--- ui/base/x/x11_window.h
+++ ui/base/x/x11_window.h
@@ -19,6 +19,7 @@
@ -160,7 +160,7 @@ index d0f852b1d69d..7d3ea8779fd1 100644
XWindow();
diff --git ui/platform_window/x11/x11_window.cc ui/platform_window/x11/x11_window.cc
index 98b442ee756d..d3ad9f8995cc 100644
index c9fc5e2670dd..b3d591e516d4 100644
--- ui/platform_window/x11/x11_window.cc
+++ ui/platform_window/x11/x11_window.cc
@@ -85,6 +85,7 @@ ui::XWindow::Configuration ConvertInitPropertiesToXWindowConfig(
@ -172,23 +172,23 @@ index 98b442ee756d..d3ad9f8995cc 100644
config.background_color = properties.background_color;
return config;
diff --git ui/views/widget/desktop_aura/desktop_screen_win.cc ui/views/widget/desktop_aura/desktop_screen_win.cc
index 70553b153c44..ecd99bc78373 100644
index 963e7053e7ac..b734cbef7c81 100644
--- ui/views/widget/desktop_aura/desktop_screen_win.cc
+++ ui/views/widget/desktop_aura/desktop_screen_win.cc
@@ -30,6 +30,8 @@ display::Display DesktopScreenWin::GetDisplayMatching(
}
@@ -16,6 +16,8 @@ DesktopScreenWin::DesktopScreenWin() = default;
DesktopScreenWin::~DesktopScreenWin() = default;
HWND DesktopScreenWin::GetHWNDFromNativeView(gfx::NativeView window) const {
HWND DesktopScreenWin::GetHWNDFromNativeWindow(gfx::NativeWindow window) const {
+ if (!window)
+ return NULL;
+ return nullptr;
aura::WindowTreeHost* host = window->GetHost();
return host ? host->GetAcceleratedWidget() : nullptr;
}
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
index 91cfaf77bb31..f369314e02f4 100644
index 4168fa1a51f1..98367686fba0 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
@@ -348,6 +348,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
@@ -332,6 +332,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
properties->wm_class_class = params.wm_class_class;
properties->wm_role_name = params.wm_role_name;
@ -198,10 +198,10 @@ index 91cfaf77bb31..f369314e02f4 100644
properties->x11_extension_delegate = this;
}
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index 6f576d95707d..dacd02f13012 100644
index 6051aadee62e..fc5b7a2f64b7 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -133,8 +133,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
@@ -134,8 +134,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
native_widget_delegate_);
HWND parent_hwnd = nullptr;
@ -215,7 +215,7 @@ index 6f576d95707d..dacd02f13012 100644
remove_standard_frame_ = params.remove_standard_frame;
has_non_client_view_ = Widget::RequiresNonClientView(params.type);
@@ -909,11 +913,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
@@ -912,11 +916,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
}
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
@ -234,7 +234,7 @@ index 6f576d95707d..dacd02f13012 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 4b217541512c..1940da51d5c6 100644
index 75ca9e99f2ca..416fe48ff90a 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
@@ -288,6 +288,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
@ -249,10 +249,10 @@ index 4b217541512c..1940da51d5c6 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 2c94941cf273..9512335908cf 100644
index 44e9eef3492e..ddf197d53b8c 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
@@ -83,6 +83,9 @@ DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() {
@@ -77,6 +77,9 @@ DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() = default;
// DesktopWindowTreeHostX11, DesktopWindowTreeHost implementation:
void DesktopWindowTreeHostX11::Init(const Widget::InitParams& params) {
@ -262,7 +262,7 @@ index 2c94941cf273..9512335908cf 100644
DesktopWindowTreeHostLinux::Init(params);
// Set XEventDelegate to receive selection, drag&drop and raw key events.
@@ -134,6 +137,18 @@ void DesktopWindowTreeHostX11::EndMoveLoop() {
@@ -101,6 +104,18 @@ DesktopWindowTreeHostX11::CreateDragDropClient(
////////////////////////////////////////////////////////////////////////////////
// DesktopWindowTreeHostX11 implementation:
@ -282,10 +282,10 @@ index 2c94941cf273..9512335908cf 100644
DCHECK(xev);
DCHECK(drag_drop_client_);
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
index 53da309c14d3..7a50560c8abc 100644
index 8cd6b80ee1ea..442c33c77d92 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
@@ -31,6 +31,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
@@ -30,12 +30,21 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
DesktopNativeWidgetAura* desktop_native_widget_aura);
~DesktopWindowTreeHostX11() override;
@ -298,16 +298,16 @@ index 53da309c14d3..7a50560c8abc 100644
protected:
// Overridden from DesktopWindowTreeHost:
void Init(const Widget::InitParams& params) override;
@@ -42,6 +48,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
Widget::MoveLoopSource source,
Widget::MoveLoopEscapeBehavior escape_behavior) override;
void EndMoveLoop() override;
std::unique_ptr<aura::client::DragDropClient> CreateDragDropClient(
DesktopNativeCursorManager* cursor_manager) override;
+ gfx::Rect GetWindowBoundsInScreen() const override;
+ gfx::Point GetLocationOnScreenInPixels() const override;
+
private:
friend class DesktopWindowTreeHostX11HighDPITest;
@@ -56,10 +64,20 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
@@ -49,8 +58,18 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
// directly. See https://crbug.com/990756.
const ui::XWindow* GetXWindow() const;
@ -320,8 +320,6 @@ index 53da309c14d3..7a50560c8abc 100644
+
DesktopDragDropClientAuraX11* drag_drop_client_ = nullptr;
std::unique_ptr<X11DesktopWindowMoveClient> x11_window_move_client_;
+ // True if the xwindow has already been destroyed.
+ bool xwindow_destroyed_ = false;
+
@ -329,10 +327,10 @@ index 53da309c14d3..7a50560c8abc 100644
};
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
index 6472b4210a0a..390758b017be 100644
index ecd7be9185fd..d03a5bcf8e7c 100644
--- ui/views/widget/widget.cc
+++ ui/views/widget/widget.cc
@@ -289,7 +289,8 @@ void Widget::Init(InitParams params) {
@@ -287,7 +287,8 @@ void Widget::Init(InitParams params) {
params.name = params.delegate->GetContentsView()->GetClassName();
params.child |= (params.type == InitParams::TYPE_CONTROL);
@ -342,7 +340,7 @@ index 6472b4210a0a..390758b017be 100644
if (params.opacity == views::Widget::InitParams::WindowOpacity::kInferred &&
params.type != views::Widget::InitParams::TYPE_WINDOW) {
@@ -371,7 +372,12 @@ void Widget::Init(InitParams params) {
@@ -369,7 +370,12 @@ void Widget::Init(InitParams params) {
}
} else if (delegate) {
SetContentsView(delegate->GetContentsView());
@ -356,7 +354,7 @@ index 6472b4210a0a..390758b017be 100644
}
observer_manager_.Add(GetNativeTheme());
@@ -1156,10 +1162,16 @@ void Widget::OnNativeWidgetDestroyed() {
@@ -1154,10 +1160,16 @@ void Widget::OnNativeWidgetDestroyed() {
}
gfx::Size Widget::GetMinimumSize() const {
@ -374,10 +372,10 @@ index 6472b4210a0a..390758b017be 100644
}
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
index 105fc39ed5ec..a4e227167dbd 100644
index 0cbc349dd3d1..3dd288962851 100644
--- ui/views/widget/widget.h
+++ ui/views/widget/widget.h
@@ -312,6 +312,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -311,6 +311,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// the concept with bubble anchoring a la BubbleDialogDelegateView.
gfx::NativeView parent = nullptr;
@ -387,12 +385,12 @@ index 105fc39ed5ec..a4e227167dbd 100644
// the NativeWidget may specify a default size. If the parent is specified,
// |bounds| is in the parent's coordinate system. If the parent is not
diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h
index a3ec229f11cb..714f608b7b58 100644
index 23396ad8c3a9..d30f71cedc1c 100644
--- ui/views/widget/widget_delegate.h
+++ ui/views/widget/widget_delegate.h
@@ -202,6 +202,10 @@ class VIEWS_EXPORT WidgetDelegate {
// be cycled through with keyboard focus.
virtual void GetAccessiblePanes(std::vector<View*>* panes) {}
@@ -263,6 +263,10 @@ class VIEWS_EXPORT WidgetDelegate {
bool focus_traverses_out() const { return params_.focus_traverses_out; }
+ // CEF supports override of min/max size values.
+ virtual bool MaybeGetMinimumSize(gfx::Size* size) const { return false; }
@ -415,10 +413,10 @@ index 40e66a212e3e..08ee8523ab15 100644
if (native_widget_delegate->IsDialogBox()) {
*style |= DS_MODALFRAME;
diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc
index e18afe3c8c28..3b8b21eee322 100644
index c981cfc6b0ac..2b0dafd7b2ab 100644
--- ui/views/win/hwnd_message_handler.cc
+++ ui/views/win/hwnd_message_handler.cc
@@ -3005,10 +3005,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -3034,10 +3034,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
} else if (event.type() == ui::ET_MOUSEWHEEL) {
ui::MouseWheelEvent mouse_wheel_event(msg);
// Reroute the mouse wheel to the window under the pointer if applicable.

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