Update to Chromium version 72.0.3599.0 (#604791)

This commit is contained in:
Marshall Greenblatt 2018-11-02 21:15:09 -04:00
parent 07f57223a8
commit a7e997e524
82 changed files with 852 additions and 621 deletions

View File

@ -212,11 +212,11 @@ if (is_mac) {
# Read file lists from gypi files. The gypi_to_gn.py script does not support
# variable references so all required variables must be explicitly specified in
# the below configurations.
gypi_paths = exec_script("//build/gypi_to_gn.py",
gypi_paths = exec_script("//cef/tools/gypi_to_gn.py",
[ rebase_path("cef_paths.gypi") ],
"scope",
[ "cef_paths.gypi" ])
gypi_paths2 = exec_script("//build/gypi_to_gn.py",
gypi_paths2 = exec_script("//cef/tools/gypi_to_gn.py",
[ rebase_path("cef_paths2.gypi") ],
"scope",
[ "cef_paths2.gypi" ])

View File

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

View File

@ -2449,15 +2449,15 @@ KeyboardEventProcessingResult CefBrowserHostImpl::PreHandleKeyboardEvent(
return KeyboardEventProcessingResult::NOT_HANDLED;
}
void CefBrowserHostImpl::HandleKeyboardEvent(
bool CefBrowserHostImpl::HandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) {
// Check to see if event should be ignored.
if (event.skip_in_browser)
return;
return false;
if (!platform_delegate_)
return;
return false;
if (client_.get()) {
CefRefPtr<CefKeyboardHandler> handler = client_->GetKeyboardHandler();
@ -2468,12 +2468,12 @@ void CefBrowserHostImpl::HandleKeyboardEvent(
CefEventHandle event_handle = platform_delegate_->GetEventHandle(event);
if (handler->OnKeyEvent(this, cef_event, event_handle))
return;
return true;
}
}
}
platform_delegate_->HandleKeyboardEvent(event);
return platform_delegate_->HandleKeyboardEvent(event);
}
bool CefBrowserHostImpl::PreHandleGestureEvent(

View File

@ -425,7 +425,7 @@ class CefBrowserHostImpl : public CefBrowserHost,
content::KeyboardEventProcessingResult PreHandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) override;
void HandleKeyboardEvent(
bool HandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) override;
bool PreHandleGestureEvent(content::WebContents* source,

View File

@ -176,7 +176,7 @@ class CefBrowserPlatformDelegate {
// Forward the keyboard event to the application or frame window to allow
// processing of shortcut keys.
virtual void HandleKeyboardEvent(
virtual bool HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) = 0;
// Invoke platform specific handling for the external protocol.

View File

@ -608,12 +608,10 @@ void CefContentBrowserClient::SiteInstanceDeleting(
void CefContentBrowserClient::RegisterInProcessServices(
StaticServiceMap* services,
content::ServiceManagerConnection* connection) {
{
// For spell checking.
service_manager::EmbeddedServiceInfo info;
info.factory = ChromeService::GetInstance()->CreateChromeServiceFactory();
services->insert(std::make_pair(chrome::mojom::kServiceName, info));
}
// For spell checking.
connection->AddServiceRequestHandler(
chrome::mojom::kServiceName,
ChromeService::GetInstance()->CreateChromeServiceRequestHandler());
}
void CefContentBrowserClient::RegisterOutOfProcessServices(
@ -816,6 +814,17 @@ CefContentBrowserClient::CreateSpeechRecognitionManagerDelegate() {
return NULL;
}
content::GeneratedCodeCacheSettings
CefContentBrowserClient::GetGeneratedCodeCacheSettings(
content::BrowserContext* context) {
// If we pass 0 for size, disk_cache will pick a default size using the
// heuristics based on available disk size. These are implemented in
// disk_cache::PreferredCacheSize in net/disk_cache/cache_util.cc.
const base::FilePath& cache_path = context->GetPath();
return content::GeneratedCodeCacheSettings(!cache_path.empty() /* enabled */,
0 /* size */, cache_path);
}
void CefContentBrowserClient::AllowCertificateError(
content::WebContents* web_contents,
int cert_error,

View File

@ -72,6 +72,8 @@ class CefContentBrowserClient : public content::ContentBrowserClient {
content::MediaObserver* GetMediaObserver() override;
content::SpeechRecognitionManagerDelegate*
CreateSpeechRecognitionManagerDelegate() override;
content::GeneratedCodeCacheSettings GetGeneratedCodeCacheSettings(
content::BrowserContext* context) override;
void AllowCertificateError(
content::WebContents* web_contents,
int cert_error,

View File

@ -332,7 +332,7 @@ void CefSetOSModalLoop(bool osModalLoop) {
}
if (CEF_CURRENTLY_ON_UIT())
base::MessageLoop::current()->set_os_modal_loop(osModalLoop);
base::MessageLoopCurrent::Get()->set_os_modal_loop(osModalLoop);
else
CEF_POST_TASK(CEF_UIT, base::Bind(CefSetOSModalLoop, osModalLoop));
#endif // defined(OS_WIN)

View File

@ -80,9 +80,10 @@ void CefBrowserPlatformDelegateBackground::ViewText(const std::string& text) {
native_delegate_->ViewText(text);
}
void CefBrowserPlatformDelegateBackground::HandleKeyboardEvent(
bool CefBrowserPlatformDelegateBackground::HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) {
// Nothing to do here.
return false;
}
void CefBrowserPlatformDelegateBackground::HandleExternalProtocol(

View File

@ -31,7 +31,7 @@ class CefBrowserPlatformDelegateBackground
void SendFocusEvent(bool setFocus) override;
gfx::Point GetScreenPoint(const gfx::Point& view) const override;
void ViewText(const std::string& text) override;
void HandleKeyboardEvent(
bool HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) override;
void HandleExternalProtocol(const GURL& url) override;
void TranslateKeyEvent(content::NativeWebKeyboardEvent& result,

View File

@ -92,7 +92,7 @@ class CefGetExtensionLoadFileCallbackImpl
static std::unique_ptr<std::string> LoadFileFromStream(
const std::string& file,
CefRefPtr<CefStreamReader> stream) {
base::AssertBlockingAllowed();
base::AssertBlockingAllowedDeprecated();
// Move to the end of the stream.
stream->Seek(0, SEEK_END);

View File

@ -13,6 +13,7 @@
#include "libcef/browser/native/window_x11.h"
#include "libcef/browser/thread_util.h"
#include "base/no_destructor.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/public/browser/native_web_keyboard_event.h"
#include "content/public/browser/render_view_host.h"
@ -103,15 +104,14 @@ bool CefBrowserPlatformDelegateNativeLinux::CreateHostWindow() {
prefs->inactive_selection_fg_color = SkColorSetRGB(50, 50, 50);
// Set font-related attributes.
CR_DEFINE_STATIC_LOCAL(
const gfx::FontRenderParams, params,
(gfx::GetFontRenderParams(gfx::FontRenderParamsQuery(), NULL)));
prefs->should_antialias_text = params.antialiasing;
prefs->use_subpixel_positioning = params.subpixel_positioning;
prefs->hinting = params.hinting;
prefs->use_autohinter = params.autohinter;
prefs->use_bitmaps = params.use_bitmaps;
prefs->subpixel_rendering = params.subpixel_rendering;
static const base::NoDestructor<gfx::FontRenderParams> params(
gfx::GetFontRenderParams(gfx::FontRenderParamsQuery(), nullptr));
prefs->should_antialias_text = params->antialiasing;
prefs->use_subpixel_positioning = params->subpixel_positioning;
prefs->hinting = params->hinting;
prefs->use_autohinter = params->autohinter;
prefs->use_bitmaps = params->use_bitmaps;
prefs->subpixel_rendering = params->subpixel_rendering;
browser_->web_contents()->GetRenderViewHost()->SyncRendererPrefs();
@ -228,9 +228,10 @@ void CefBrowserPlatformDelegateNativeLinux::ViewText(const std::string& text) {
ALLOW_UNUSED_LOCAL(result);
}
void CefBrowserPlatformDelegateNativeLinux::HandleKeyboardEvent(
bool CefBrowserPlatformDelegateNativeLinux::HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) {
// TODO(cef): Is something required here to handle shortcut keys?
return false;
}
void CefBrowserPlatformDelegateNativeLinux::HandleExternalProtocol(

View File

@ -27,7 +27,7 @@ class CefBrowserPlatformDelegateNativeLinux
void SizeTo(int width, int height) override;
gfx::Point GetScreenPoint(const gfx::Point& view) const override;
void ViewText(const std::string& text) override;
void HandleKeyboardEvent(
bool HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) override;
void HandleExternalProtocol(const GURL& url) override;
void TranslateKeyEvent(content::NativeWebKeyboardEvent& result,

View File

@ -22,7 +22,7 @@ class CefBrowserPlatformDelegateNativeMac
void SendFocusEvent(bool setFocus) override;
gfx::Point GetScreenPoint(const gfx::Point& view) const override;
void ViewText(const std::string& text) override;
void HandleKeyboardEvent(
bool HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) override;
void HandleExternalProtocol(const GURL& url) override;
void TranslateKeyEvent(content::NativeWebKeyboardEvent& result,

View File

@ -221,7 +221,8 @@ bool CefBrowserPlatformDelegateNativeMac::CreateHostWindow() {
// Parent the TabContents to the browser view.
const NSRect bounds = [browser_view bounds];
NSView* native_view = browser_->web_contents()->GetNativeView();
NSView* native_view =
browser_->web_contents()->GetNativeView().GetNativeNSView();
[browser_view addSubview:native_view];
[native_view setFrame:bounds];
[native_view setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)];
@ -261,7 +262,8 @@ void CefBrowserPlatformDelegateNativeMac::SendFocusEvent(bool setFocus) {
if (setFocus) {
// Give keyboard focus to the native view.
NSView* view = browser_->web_contents()->GetContentNativeView();
NSView* view =
browser_->web_contents()->GetContentNativeView().GetNativeNSView();
DCHECK([view canBecomeKeyView]);
[[view window] makeFirstResponder:view];
}
@ -290,11 +292,12 @@ void CefBrowserPlatformDelegateNativeMac::ViewText(const std::string& text) {
NOTIMPLEMENTED();
}
void CefBrowserPlatformDelegateNativeMac::HandleKeyboardEvent(
bool CefBrowserPlatformDelegateNativeMac::HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) {
// Give the top level menu equivalents a chance to handle the event.
if ([event.os_event type] == NSKeyDown)
[[NSApp mainMenu] performKeyEquivalent:event.os_event];
return [[NSApp mainMenu] performKeyEquivalent:event.os_event];
return false;
}
void CefBrowserPlatformDelegateNativeMac::HandleExternalProtocol(

View File

@ -339,19 +339,19 @@ void CefBrowserPlatformDelegateNativeWin::ViewText(const std::string& text) {
CEF_POST_USER_VISIBLE_TASK(base::Bind(WriteTempFileAndView, str_ref));
}
void CefBrowserPlatformDelegateNativeWin::HandleKeyboardEvent(
bool CefBrowserPlatformDelegateNativeWin::HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) {
// Any unhandled keyboard/character messages are sent to DefWindowProc so that
// shortcut keys work correctly.
if (event.os_event) {
const MSG& msg = event.os_event->native_event();
DefWindowProc(msg.hwnd, msg.message, msg.wParam, msg.lParam);
return !DefWindowProc(msg.hwnd, msg.message, msg.wParam, msg.lParam);
} else {
MSG msg = {};
msg.hwnd = GetHostWindowHandle();
if (!msg.hwnd)
return;
return false;
switch (event.GetType()) {
case blink::WebInputEvent::kRawKeyDown:
@ -365,7 +365,7 @@ void CefBrowserPlatformDelegateNativeWin::HandleKeyboardEvent(
break;
default:
NOTREACHED();
return;
return false;
}
msg.wParam = event.windows_key_code;
@ -376,7 +376,7 @@ void CefBrowserPlatformDelegateNativeWin::HandleKeyboardEvent(
if (event.GetModifiers() & content::NativeWebKeyboardEvent::kAltKey)
msg.lParam |= (1 << 29);
DefWindowProc(msg.hwnd, msg.message, msg.wParam, msg.lParam);
return !DefWindowProc(msg.hwnd, msg.message, msg.wParam, msg.lParam);
}
}

View File

@ -29,7 +29,7 @@ class CefBrowserPlatformDelegateNativeWin
void SizeTo(int width, int height) override;
gfx::Point GetScreenPoint(const gfx::Point& view) const override;
void ViewText(const std::string& text) override;
void HandleKeyboardEvent(
bool HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) override;
void HandleExternalProtocol(const GURL& url) override;
void TranslateKeyEvent(content::NativeWebKeyboardEvent& result,

View File

@ -56,7 +56,8 @@ bool CefMenuRunnerMac::RunContextMenu(
atLocation:screen_position
inView:nil];
} else {
NSView* parent_view = browser->web_contents()->GetContentNativeView();
NSView* parent_view =
browser->web_contents()->GetContentNativeView().GetNativeNSView();
// Synthesize an event for the click, as there is no certainty that
// [NSApp currentEvent] will return a valid event.

View File

@ -223,19 +223,6 @@ class CefAuthCallbackImpl : public CefAuthCallback {
IMPLEMENT_REFCOUNTING(CefAuthCallbackImpl);
};
// Match the logic from ChromeNetworkDelegate and
// RenderFrameMessageFilter::OnSetCookie.
bool AreExperimentalCookieFeaturesEnabled() {
static bool initialized = false;
static bool enabled = false;
if (!initialized) {
enabled = base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableExperimentalWebPlatformFeatures);
initialized = true;
}
return enabled;
}
} // namespace
CefNetworkDelegate::CefNetworkDelegate() : force_google_safesearch_(nullptr) {}
@ -514,7 +501,3 @@ bool CefNetworkDelegate::OnCanAccessFile(
const base::FilePath& absolute_path) const {
return true;
}
bool CefNetworkDelegate::OnAreExperimentalCookieFeaturesEnabled() const {
return ::AreExperimentalCookieFeaturesEnabled();
}

View File

@ -50,7 +50,6 @@ class CefNetworkDelegate : public net::NetworkDelegateImpl {
bool OnCanAccessFile(const net::URLRequest& request,
const base::FilePath& original_path,
const base::FilePath& absolute_path) const override;
bool OnAreExperimentalCookieFeaturesEnabled() const override;
// Weak, owned by our owner (CefURLRequestContextGetterImpl).
BooleanPrefMember* force_google_safesearch_;

View File

@ -132,9 +132,9 @@ void CefBrowserPlatformDelegateOsr::ViewText(const std::string& text) {
native_delegate_->ViewText(text);
}
void CefBrowserPlatformDelegateOsr::HandleKeyboardEvent(
bool CefBrowserPlatformDelegateOsr::HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) {
native_delegate_->HandleKeyboardEvent(event);
return native_delegate_->HandleKeyboardEvent(event);
}
void CefBrowserPlatformDelegateOsr::HandleExternalProtocol(const GURL& url) {

View File

@ -38,7 +38,7 @@ class CefBrowserPlatformDelegateOsr
void SendFocusEvent(bool setFocus) override;
gfx::Point GetScreenPoint(const gfx::Point& view) const override;
void ViewText(const std::string& text) override;
void HandleKeyboardEvent(
bool HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) override;
void HandleExternalProtocol(const GURL& url) override;
void TranslateKeyEvent(content::NativeWebKeyboardEvent& result,

View File

@ -176,15 +176,10 @@ struct PopulateAxNodeAttributes {
}
} break;
case ax::mojom::IntAttribute::kTextStyle: {
auto text_style = static_cast<ax::mojom::TextStyle>(attr.second);
if (text_style == ax::mojom::TextStyle::kNone)
break;
static ax::mojom::TextStyle textStyleArr[] = {
ax::mojom::TextStyle::kTextStyleBold,
ax::mojom::TextStyle::kTextStyleItalic,
ax::mojom::TextStyle::kTextStyleUnderline,
ax::mojom::TextStyle::kTextStyleLineThrough};
ax::mojom::TextStyle::kBold, ax::mojom::TextStyle::kItalic,
ax::mojom::TextStyle::kUnderline,
ax::mojom::TextStyle::kLineThrough};
CefRefPtr<CefListValue> list = CefListValue::Create();
int index = 0;

View File

@ -138,9 +138,6 @@ class CefDelegatedFrameHostClient : public content::DelegatedFrameHostClient {
return *view_->GetBackgroundColor();
}
void OnFirstSurfaceActivation(const viz::SurfaceInfo& surface_info) override {
}
void OnBeginFrame(base::TimeTicks frame_time) override {
// TODO(cef): Maybe we can use this method in combination with
// OnSetNeedsBeginFrames() instead of using CefBeginFrameTimer.
@ -155,6 +152,8 @@ class CefDelegatedFrameHostClient : public content::DelegatedFrameHostClient {
return view_->GetDeviceScaleFactor();
}
void WasEvicted() override {}
private:
CefRenderWidgetHostViewOSR* const view_;
@ -343,7 +342,8 @@ CefRenderWidgetHostViewOSR::CefRenderWidgetHostViewOSR(
}
#if !defined(OS_MACOSX)
local_surface_id_ = local_surface_id_allocator_.GenerateId();
local_surface_id_allocator_.GenerateId();
local_surface_id_ = local_surface_id_allocator_.GetCurrentLocalSurfaceId();
delegated_frame_host_client_.reset(new CefDelegatedFrameHostClient(this));
// Matching the attributes from BrowserCompositorMac.
@ -1597,11 +1597,13 @@ void CefRenderWidgetHostViewOSR::ResizeRootLayer(bool force) {
const gfx::Size& size_in_pixels =
gfx::ConvertSizeToPixel(current_device_scale_factor_, size);
local_surface_id_ = local_surface_id_allocator_.GenerateId();
local_surface_id_allocator_.GenerateId();
local_surface_id_ = local_surface_id_allocator_.GetCurrentLocalSurfaceId();
if (GetCompositor()) {
GetCompositor()->SetScaleAndSize(current_device_scale_factor_,
size_in_pixels, local_surface_id_);
size_in_pixels, local_surface_id_,
base::TimeTicks());
}
PlatformResizeCompositorWidget(size_in_pixels);

View File

@ -49,11 +49,14 @@ class MacHelper : public content::BrowserCompositorMacClient,
bool SynchronizeVisualProperties(
const base::Optional<viz::LocalSurfaceId>&
child_allocated_local_surface_id) override {
child_allocated_local_surface_id,
const base::Optional<base::TimeTicks>&
child_local_surface_id_allocation_time) override {
auto* browser_compositor = view_->browser_compositor();
if (child_allocated_local_surface_id) {
browser_compositor->UpdateRendererLocalSurfaceIdFromChild(
*child_allocated_local_surface_id);
*child_allocated_local_surface_id,
*child_local_surface_id_allocation_time);
} else {
browser_compositor->AllocateNewRendererLocalSurfaceId();
}
@ -125,7 +128,9 @@ void CefRenderWidgetHostViewOSR::OnDidUpdateVisualPropertiesComplete(
DCHECK_EQ(current_device_scale_factor_, metadata.device_scale_factor);
browser_compositor_->SynchronizeVisualProperties(
metadata.device_scale_factor, metadata.viewport_size_in_pixels,
metadata.local_surface_id.value_or(viz::LocalSurfaceId()));
metadata.local_surface_id.value_or(viz::LocalSurfaceId()),
metadata.local_surface_id_allocation_time_from_child.value_or(
base::TimeTicks()));
}
const viz::LocalSurfaceId& CefRenderWidgetHostViewOSR::GetLocalSurfaceId()

View File

@ -111,10 +111,6 @@ CefStoragePartitionProxy::GetPlatformNotificationContext() {
return parent_->GetPlatformNotificationContext();
}
content::WebPackageContext* CefStoragePartitionProxy::GetWebPackageContext() {
return parent_->GetWebPackageContext();
}
void CefStoragePartitionProxy::ClearDataForOrigin(
uint32_t remove_mask,
uint32_t quota_storage_remove_mask,
@ -123,16 +119,14 @@ void CefStoragePartitionProxy::ClearDataForOrigin(
storage_origin);
}
void CefStoragePartitionProxy::ClearData(
uint32_t remove_mask,
uint32_t quota_storage_remove_mask,
const GURL& storage_origin,
const OriginMatcherFunction& origin_matcher,
const base::Time begin,
const base::Time end,
base::OnceClosure callback) {
void CefStoragePartitionProxy::ClearData(uint32_t remove_mask,
uint32_t quota_storage_remove_mask,
const GURL& storage_origin,
const base::Time begin,
const base::Time end,
base::OnceClosure callback) {
parent_->ClearData(remove_mask, quota_storage_remove_mask, storage_origin,
origin_matcher, begin, end, std::move(callback));
begin, end, std::move(callback));
}
void CefStoragePartitionProxy::ClearData(
@ -140,12 +134,13 @@ void CefStoragePartitionProxy::ClearData(
uint32_t quota_storage_remove_mask,
const OriginMatcherFunction& origin_matcher,
network::mojom::CookieDeletionFilterPtr cookie_deletion_filter,
bool perform_cleanup,
const base::Time begin,
const base::Time end,
base::OnceClosure callback) {
parent_->ClearData(remove_mask, quota_storage_remove_mask, origin_matcher,
std::move(cookie_deletion_filter), begin, end,
std::move(callback));
std::move(cookie_deletion_filter), perform_cleanup, begin,
end, std::move(callback));
}
void CefStoragePartitionProxy::ClearHttpAndMediaCaches(
@ -157,6 +152,10 @@ void CefStoragePartitionProxy::ClearHttpAndMediaCaches(
std::move(callback));
}
void CefStoragePartitionProxy::ClearCodeCaches(base::OnceClosure callback) {
parent_->ClearCodeCaches(std::move(callback));
}
void CefStoragePartitionProxy::Flush() {
parent_->Flush();
}

View File

@ -46,14 +46,12 @@ class CefStoragePartitionProxy : public content::StoragePartition {
content::ZoomLevelDelegate* GetZoomLevelDelegate() override;
content::PlatformNotificationContext* GetPlatformNotificationContext()
override;
content::WebPackageContext* GetWebPackageContext() override;
void ClearDataForOrigin(uint32_t remove_mask,
uint32_t quota_storage_remove_mask,
const GURL& storage_origin) override;
void ClearData(uint32_t remove_mask,
uint32_t quota_storage_remove_mask,
const GURL& storage_origin,
const OriginMatcherFunction& origin_matcher,
const base::Time begin,
const base::Time end,
base::OnceClosure callback) override;
@ -61,6 +59,7 @@ class CefStoragePartitionProxy : public content::StoragePartition {
uint32_t quota_storage_remove_mask,
const OriginMatcherFunction& origin_matcher,
network::mojom::CookieDeletionFilterPtr cookie_deletion_filter,
bool perform_cleanup,
const base::Time begin,
const base::Time end,
base::OnceClosure callback) override;
@ -69,6 +68,7 @@ class CefStoragePartitionProxy : public content::StoragePartition {
const base::Time end,
const base::Callback<bool(const GURL&)>& url_matcher,
base::OnceClosure callback) override;
void ClearCodeCaches(base::OnceClosure callback) override;
void Flush() override;
void ResetURLLoaderFactories() override;
void ClearBluetoothAllowedDevicesMapForTesting() override;

View File

@ -73,7 +73,7 @@
CEF_POST_BLOCKING_TASK(base::TaskPriority::BEST_EFFORT, task)
// Assert that blocking is allowed on the current thread.
#define CEF_REQUIRE_BLOCKING() base::AssertBlockingAllowed()
#define CEF_REQUIRE_BLOCKING() base::AssertBlockingAllowedDeprecated()
// Same as IMPLEMENT_REFCOUNTING() but using the specified Destructor.
#define IMPLEMENT_REFCOUNTING_EX(ClassName, Destructor) \

View File

@ -225,10 +225,10 @@ void CefBrowserPlatformDelegateViews::ViewText(const std::string& text) {
native_delegate_->ViewText(text);
}
void CefBrowserPlatformDelegateViews::HandleKeyboardEvent(
bool CefBrowserPlatformDelegateViews::HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) {
// The BrowserView will handle accelerators.
browser_view_->HandleKeyboardEvent(event);
return browser_view_->HandleKeyboardEvent(event);
}
void CefBrowserPlatformDelegateViews::HandleExternalProtocol(const GURL& url) {

View File

@ -51,7 +51,7 @@ class CefBrowserPlatformDelegateViews
void SendFocusEvent(bool setFocus) override;
gfx::Point GetScreenPoint(const gfx::Point& view) const override;
void ViewText(const std::string& text) override;
void HandleKeyboardEvent(
bool HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) override;
void HandleExternalProtocol(const GURL& url) override;
void TranslateKeyEvent(content::NativeWebKeyboardEvent& result,

View File

@ -80,17 +80,17 @@ void CefBrowserViewImpl::BrowserDestroyed(CefBrowserHostImpl* browser) {
root_view()->SetWebContents(nullptr);
}
void CefBrowserViewImpl::HandleKeyboardEvent(
bool CefBrowserViewImpl::HandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) {
if (!root_view())
return;
return false;
views::FocusManager* focus_manager = root_view()->GetFocusManager();
if (!focus_manager)
return;
return false;
if (HandleAccelerator(event, focus_manager))
return;
return true;
// Give the CefWindowDelegate a chance to handle the event.
CefRefPtr<CefWindow> window =
@ -100,12 +100,13 @@ void CefBrowserViewImpl::HandleKeyboardEvent(
CefKeyEvent cef_event;
if (browser_util::GetCefKeyEvent(event, cef_event) &&
window_impl->OnKeyEvent(cef_event)) {
return;
return true;
}
}
// Proceed with default native handling.
unhandled_keyboard_event_handler_.HandleKeyboardEvent(event, focus_manager);
return unhandled_keyboard_event_handler_.HandleKeyboardEvent(event,
focus_manager);
}
CefRefPtr<CefBrowser> CefBrowserViewImpl::GetBrowser() {

View File

@ -47,7 +47,7 @@ class CefBrowserViewImpl : public CefViewImpl<CefBrowserViewView,
// Called to handle accelerators when the event is unhandled by the web
// content and the browser client.
void HandleKeyboardEvent(const content::NativeWebKeyboardEvent& event);
bool HandleKeyboardEvent(const content::NativeWebKeyboardEvent& event);
// CefBrowserView methods:
CefRefPtr<CefBrowser> GetBrowser() override;

View File

@ -804,55 +804,57 @@ uint8_t CefRequestImpl::GetChanges() const {
// From content/child/web_url_loader_impl.cc
// static
blink::WebReferrerPolicy CefRequestImpl::NetReferrerPolicyToBlinkReferrerPolicy(
network::mojom::ReferrerPolicy
CefRequestImpl::NetReferrerPolicyToBlinkReferrerPolicy(
cef_referrer_policy_t net_policy) {
switch (net_policy) {
case REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE:
return blink::kWebReferrerPolicyNoReferrerWhenDowngrade;
return network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade;
case REFERRER_POLICY_REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN:
return blink::
kWebReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin;
return network::mojom::ReferrerPolicy::
kNoReferrerWhenDowngradeOriginWhenCrossOrigin;
case REFERRER_POLICY_ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN:
return blink::kWebReferrerPolicyOriginWhenCrossOrigin;
return network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin;
case REFERRER_POLICY_NEVER_CLEAR_REFERRER:
return blink::kWebReferrerPolicyAlways;
return network::mojom::ReferrerPolicy::kAlways;
case REFERRER_POLICY_ORIGIN:
return blink::kWebReferrerPolicyOrigin;
return network::mojom::ReferrerPolicy::kOrigin;
case REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_CROSS_ORIGIN:
return blink::kWebReferrerPolicySameOrigin;
return network::mojom::ReferrerPolicy::kSameOrigin;
case REFERRER_POLICY_ORIGIN_CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE:
return blink::kWebReferrerPolicyStrictOrigin;
return network::mojom::ReferrerPolicy::kStrictOrigin;
case REFERRER_POLICY_NO_REFERRER:
return blink::kWebReferrerPolicyNever;
return network::mojom::ReferrerPolicy::kNever;
case REFERRER_POLICY_LAST_VALUE:
NOTREACHED();
return blink::kWebReferrerPolicyDefault;
return network::mojom::ReferrerPolicy::kDefault;
}
NOTREACHED();
return blink::kWebReferrerPolicyDefault;
return network::mojom::ReferrerPolicy::kDefault;
}
// static
cef_referrer_policy_t CefRequestImpl::BlinkReferrerPolicyToNetReferrerPolicy(
blink::WebReferrerPolicy blink_policy) {
network::mojom::ReferrerPolicy blink_policy) {
switch (blink_policy) {
case blink::kWebReferrerPolicyNoReferrerWhenDowngrade:
case network::mojom::ReferrerPolicy::kNoReferrerWhenDowngrade:
return REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
case blink::kWebReferrerPolicyNoReferrerWhenDowngradeOriginWhenCrossOrigin:
case network::mojom::ReferrerPolicy::
kNoReferrerWhenDowngradeOriginWhenCrossOrigin:
return REFERRER_POLICY_REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN;
case blink::kWebReferrerPolicyOriginWhenCrossOrigin:
case network::mojom::ReferrerPolicy::kOriginWhenCrossOrigin:
return REFERRER_POLICY_ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN;
case blink::kWebReferrerPolicyAlways:
case network::mojom::ReferrerPolicy::kAlways:
return REFERRER_POLICY_NEVER_CLEAR_REFERRER;
case blink::kWebReferrerPolicyOrigin:
case network::mojom::ReferrerPolicy::kOrigin:
return REFERRER_POLICY_ORIGIN;
case blink::kWebReferrerPolicySameOrigin:
case network::mojom::ReferrerPolicy::kSameOrigin:
return REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_CROSS_ORIGIN;
case blink::kWebReferrerPolicyStrictOrigin:
case network::mojom::ReferrerPolicy::kStrictOrigin:
return REFERRER_POLICY_ORIGIN_CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE;
case blink::kWebReferrerPolicyNever:
case network::mojom::ReferrerPolicy::kNever:
return REFERRER_POLICY_NO_REFERRER;
case blink::kWebReferrerPolicyDefault:
case network::mojom::ReferrerPolicy::kDefault:
return REFERRER_POLICY_DEFAULT;
}
NOTREACHED();

View File

@ -13,8 +13,8 @@
#include "include/cef_request.h"
#include "base/synchronization/lock.h"
#include "services/network/public/mojom/referrer_policy.mojom-shared.h"
#include "third_party/blink/public/platform/web_http_body.h"
#include "third_party/blink/public/platform/web_referrer_policy.h"
#include "url/gurl.h"
namespace navigation_interception {
@ -115,10 +115,10 @@ class CefRequestImpl : public CefRequest {
void SetTrackChanges(bool track_changes);
uint8_t GetChanges() const;
static blink::WebReferrerPolicy NetReferrerPolicyToBlinkReferrerPolicy(
static network::mojom::ReferrerPolicy NetReferrerPolicyToBlinkReferrerPolicy(
cef_referrer_policy_t net_policy);
static cef_referrer_policy_t BlinkReferrerPolicyToNetReferrerPolicy(
blink::WebReferrerPolicy blink_policy);
network::mojom::ReferrerPolicy blink_policy);
private:
void Changed(uint8_t changes);

View File

@ -86,8 +86,11 @@ scoped_refptr<base::SingleThreadTaskRunner> CefTaskRunnerImpl::GetTaskRunner(
if (id >= 0 &&
BrowserThread::IsThreadInitialized(static_cast<BrowserThread::ID>(id))) {
// Specify USER_BLOCKING so that BrowserTaskExecutor::GetTaskRunner always
// gives us the same TaskRunner object.
return base::CreateSingleThreadTaskRunnerWithTraits(
{static_cast<BrowserThread::ID>(id)});
{static_cast<BrowserThread::ID>(id),
base::TaskPriority::USER_BLOCKING});
}
return NULL;
@ -103,7 +106,10 @@ CefTaskRunnerImpl::GetCurrentTaskRunner() {
BrowserThread::ID current_id;
if (BrowserThread::GetCurrentThreadIdentifier(&current_id) &&
BrowserThread::IsThreadInitialized(current_id)) {
task_runner = base::CreateSingleThreadTaskRunnerWithTraits({current_id});
// Specify USER_BLOCKING so that BrowserTaskExecutor::GetTaskRunner always
// gives us the same TaskRunner object.
task_runner = base::CreateSingleThreadTaskRunnerWithTraits(
{current_id, base::TaskPriority::USER_BLOCKING});
}
if (!task_runner.get()) {

View File

@ -282,7 +282,8 @@ void CefContentRendererClient::WebKitInitialized() {
blink::WebSecurityPolicy::AddOriginAccessAllowListEntry(
gurl, blink::WebString::FromUTF8(entry.target_protocol),
blink::WebString::FromUTF8(entry.target_domain),
entry.allow_target_subdomains);
entry.allow_target_subdomains,
network::mojom::CORSOriginAccessMatchPriority::kDefaultPriority);
}
cross_origin_whitelist_entries_.clear();
}
@ -383,7 +384,7 @@ void CefContentRendererClient::RenderThreadStarted() {
if (content::RenderProcessHost::run_renderer_in_process()) {
// When running in single-process mode register as a destruction observer
// on the render thread's MessageLoop.
base::MessageLoop::current()->AddDestructionObserver(this);
base::MessageLoopCurrent::Get()->AddDestructionObserver(this);
}
blink::WebPrerenderingSupport::Initialize(new CefPrerenderingSupport());
@ -601,13 +602,8 @@ void CefContentRendererClient::DevToolsAgentDetached() {
void CefContentRendererClient::CreateRendererService(
service_manager::mojom::ServiceRequest service_request) {
service_context_ = std::make_unique<service_manager::ServiceContext>(
std::make_unique<service_manager::ForwardingService>(this),
std::move(service_request));
}
void CefContentRendererClient::OnStart() {
context()->connector()->BindConnectorRequest(std::move(connector_request_));
DCHECK(!service_binding_.is_bound());
service_binding_.Bind(std::move(service_request));
}
void CefContentRendererClient::OnBindInterface(
@ -620,7 +616,7 @@ void CefContentRendererClient::OnBindInterface(
void CefContentRendererClient::GetInterface(
const std::string& interface_name,
mojo::ScopedMessagePipeHandle interface_pipe) {
connector_->BindInterface(
service_binding_.GetConnector()->BindInterface(
service_manager::Identity(chrome::mojom::kServiceName), interface_name,
std::move(interface_pipe));
}
@ -713,9 +709,7 @@ void CefContentRendererClient::RunSingleProcessCleanupOnUIThread() {
}
service_manager::Connector* CefContentRendererClient::GetConnector() {
if (!connector_)
connector_ = service_manager::Connector::Create(&connector_request_);
return connector_.get();
return service_binding_.GetConnector();
}
// Enable deprecation warnings on Windows. See http://crbug.com/585142.

View File

@ -25,6 +25,7 @@
#include "services/service_manager/public/cpp/connector.h"
#include "services/service_manager/public/cpp/local_interface_provider.h"
#include "services/service_manager/public/cpp/service.h"
#include "services/service_manager/public/cpp/service_binding.h"
namespace blink {
class WebURLLoaderFactory;
@ -140,7 +141,6 @@ class CefContentRendererClient : public content::ContentRendererClient,
service_manager::mojom::ServiceRequest service_request) override;
// service_manager::Service implementation.
void OnStart() override;
void OnBindInterface(const service_manager::BindSourceInfo& remote_info,
const std::string& name,
mojo::ScopedMessagePipeHandle handle) override;
@ -198,9 +198,7 @@ class CefContentRendererClient : public content::ContentRendererClient,
bool single_process_cleanup_complete_;
base::Lock single_process_cleanup_lock_;
std::unique_ptr<service_manager::Connector> connector_;
service_manager::mojom::ConnectorRequest connector_request_;
std::unique_ptr<service_manager::ServiceContext> service_context_;
service_manager::ServiceBinding service_binding_{this};
service_manager::BinderRegistry registry_;
DISALLOW_COPY_AND_ASSIGN(CefContentRendererClient);

View File

@ -132,6 +132,7 @@ void CefExtensionsRendererClient::RenderThreadStarted() {
extension_dispatcher_.reset(new extensions::Dispatcher(
std::make_unique<extensions::CefExtensionsDispatcherDelegate>()));
extension_dispatcher_->OnRenderThreadStarted(thread);
resource_request_policy_.reset(
new extensions::ResourceRequestPolicy(extension_dispatcher_.get()));
guest_view_container_dispatcher_.reset(

View File

@ -68,7 +68,8 @@ void CefRenderThreadObserver::OnModifyCrossOriginWhitelistEntry(
blink::WebSecurityPolicy::AddOriginAccessAllowListEntry(
gurl, blink::WebString::FromUTF8(params.target_protocol),
blink::WebString::FromUTF8(params.target_domain),
params.allow_target_subdomains);
params.allow_target_subdomains,
network::mojom::CORSOriginAccessMatchPriority::kDefaultPriority);
} else {
blink::WebSecurityPolicy::ClearOriginAccessAllowListForOrigin(gurl);
}

View File

@ -24,7 +24,6 @@
#include "third_party/blink/public/platform/web_url_request.h"
#include "third_party/blink/public/platform/web_url_response.h"
using blink::WebReferrerPolicy;
using blink::WebString;
using blink::WebURL;
using blink::WebURLError;
@ -59,7 +58,7 @@ class CefWebURLLoaderClient : public blink::WebURLLoaderClient {
bool WillFollowRedirect(const WebURL& new_url,
const WebURL& new_site_for_cookies,
const WebString& new_referrer,
WebReferrerPolicy new_referrer_policy,
network::mojom::ReferrerPolicy new_referrer_policy,
const WebString& new_method,
const WebURLResponse& passed_redirect_response,
bool& report_raw_headers) override;
@ -317,7 +316,7 @@ bool CefWebURLLoaderClient::WillFollowRedirect(
const WebURL& new_url,
const WebURL& new_site_for_cookies,
const WebString& new_referrer,
WebReferrerPolicy new_referrer_policy,
network::mojom::ReferrerPolicy new_referrer_policy,
const WebString& new_method,
const WebURLResponse& passed_redirect_response,
bool& report_raw_headers) {

View File

@ -1880,8 +1880,8 @@ bool CefV8ValueImpl::DeleteValue(const CefString& key) {
v8::TryCatch try_catch(isolate);
try_catch.SetVerbose(true);
bool del = obj->Delete(GetV8String(isolate, key));
return (!HasCaught(context, try_catch) && del);
v8::Maybe<bool> del = obj->Delete(context, GetV8String(isolate, key));
return (!HasCaught(context, try_catch) && del.FromJust());
}
bool CefV8ValueImpl::DeleteValue(int index) {

View File

@ -372,11 +372,6 @@ patches = [
# https://bitbucket.org/chromiumembedded/cef/issues/1006
'name': 'external_textures_1006',
},
{
# Fix crash in CookieMonsterChangeDispatcher::Subscription destructor.
# https://bugs.chromium.org/p/chromium/issues/detail?id=729800#c48
'name': 'net_cookies_729800',
},
{
# Linux: Use poll instead of select to fix crash during startup.
# https://bitbucket.org/chromiumembedded/cef/issues/2466
@ -402,5 +397,10 @@ patches = [
# macOS: Fix crash when showing a select popup with CefDoMessageLoopWork.
# https://bitbucket.org/chromiumembedded/cef/issues/2495
'name': 'message_pump_mac_2495',
},
{
# Windows: Fix jumbo build error due to redefinition of GetClassName.
# https://bugs.chromium.org/p/chromium/issues/detail?id=811277#c10
'name': 'views_accessibility_811277',
}
]

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_widget_host_view_child_frame.cc content/browser/renderer_host/render_widget_host_view_child_frame.cc
index 0ba4a669381e..dac7ba25ac0d 100644
index 09b8c3e9f215..0b2bef74fe86 100644
--- content/browser/renderer_host/render_widget_host_view_child_frame.cc
+++ content/browser/renderer_host/render_widget_host_view_child_frame.cc
@@ -652,6 +652,7 @@ void RenderWidgetHostViewChildFrame::SubmitCompositorFrame(
@@ -654,6 +654,7 @@ void RenderWidgetHostViewChildFrame::SubmitCompositorFrame(
"RenderWidgetHostViewChildFrame::OnSwapCompositorFrame");
support_->SubmitCompositorFrame(local_surface_id, std::move(frame),
std::move(hit_test_region_list));
@ -10,7 +10,7 @@ index 0ba4a669381e..dac7ba25ac0d 100644
}
void RenderWidgetHostViewChildFrame::OnDidNotProduceFrame(
@@ -935,7 +936,6 @@ void RenderWidgetHostViewChildFrame::OnFirstSurfaceActivation(
@@ -944,7 +945,6 @@ void RenderWidgetHostViewChildFrame::OnFirstSurfaceActivation(
last_activated_surface_info_ = surface_info;
has_frame_ = true;
FirstSurfaceActivation(surface_info);

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/browser_compositor_view_mac.h content/browser/renderer_host/browser_compositor_view_mac.h
index 71a9e1024b60..504c6b98bfa3 100644
index 731c8c429bc2..77bea57ba5d6 100644
--- content/browser/renderer_host/browser_compositor_view_mac.h
+++ content/browser/renderer_host/browser_compositor_view_mac.h
@@ -59,6 +59,8 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient,
@@ -62,6 +62,8 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient,
// These will not return nullptr until Destroy is called.
DelegatedFrameHost* GetDelegatedFrameHost();
@ -12,7 +12,7 @@ index 71a9e1024b60..504c6b98bfa3 100644
// Ensure that the currect compositor frame be cleared (even if it is
// potentially visible).
diff --git content/browser/renderer_host/browser_compositor_view_mac.mm content/browser/renderer_host/browser_compositor_view_mac.mm
index 65670cccb503..6dc30c945f1f 100644
index 59128ca41174..2ca8b5c3d5ea 100644
--- content/browser/renderer_host/browser_compositor_view_mac.mm
+++ content/browser/renderer_host/browser_compositor_view_mac.mm
@@ -84,6 +84,12 @@ DelegatedFrameHost* BrowserCompositorMac::GetDelegatedFrameHost() {

View File

@ -1,8 +1,8 @@
diff --git content/browser/browser_plugin/browser_plugin_guest.cc content/browser/browser_plugin/browser_plugin_guest.cc
index 2c585e36dff5..ee7234381aae 100644
index 8d0d53cbc413..f08659aa85ce 100644
--- content/browser/browser_plugin/browser_plugin_guest.cc
+++ content/browser/browser_plugin/browser_plugin_guest.cc
@@ -314,8 +314,11 @@ void BrowserPluginGuest::InitInternal(
@@ -347,8 +347,11 @@ void BrowserPluginGuest::InitInternal(
static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
}
@ -15,7 +15,7 @@ index 2c585e36dff5..ee7234381aae 100644
// Once a BrowserPluginGuest has an embedder WebContents, it's considered to
// be attached.
@@ -785,10 +788,19 @@ void BrowserPluginGuest::OnWillAttachComplete(
@@ -856,10 +859,19 @@ void BrowserPluginGuest::OnWillAttachComplete(
static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
if (!web_contents()->GetRenderViewHost()->GetWidget()->GetView()) {
web_contents_view->CreateViewForWidget(
@ -37,10 +37,10 @@ index 2c585e36dff5..ee7234381aae 100644
attached_ = true;
diff --git content/browser/frame_host/interstitial_page_impl.cc content/browser/frame_host/interstitial_page_impl.cc
index f206f1e547ab..97e18dc1a742 100644
index babcf10c37d0..b0261ed77ef0 100644
--- content/browser/frame_host/interstitial_page_impl.cc
+++ content/browser/frame_host/interstitial_page_impl.cc
@@ -633,7 +633,7 @@ WebContentsView* InterstitialPageImpl::CreateWebContentsView() {
@@ -632,7 +632,7 @@ WebContentsView* InterstitialPageImpl::CreateWebContentsView() {
WebContentsView* wcv =
static_cast<WebContentsImpl*>(web_contents())->GetView();
RenderWidgetHostViewBase* view =
@ -79,7 +79,7 @@ index 5426d600906c..4bf4537514eb 100644
// Creates a new View that holds a non-top-level widget and receives messages
// for it.
diff --git content/browser/web_contents/web_contents_view_aura.cc content/browser/web_contents/web_contents_view_aura.cc
index ce5602b1cc38..b4189ae15ded 100644
index 12d8f9bd7cc5..f228b39902bb 100644
--- content/browser/web_contents/web_contents_view_aura.cc
+++ content/browser/web_contents/web_contents_view_aura.cc
@@ -809,7 +809,8 @@ void WebContentsViewAura::CreateView(const gfx::Size& initial_size,
@ -101,7 +101,7 @@ index ce5602b1cc38..b4189ae15ded 100644
g_create_render_widget_host_view
? g_create_render_widget_host_view(render_widget_host,
diff --git content/browser/web_contents/web_contents_view_aura.h content/browser/web_contents/web_contents_view_aura.h
index 0c4a3d2e0d72..e69f663cd1c9 100644
index 3c0b73d6f72d..4c9e0f3b7d3a 100644
--- content/browser/web_contents/web_contents_view_aura.h
+++ content/browser/web_contents/web_contents_view_aura.h
@@ -121,7 +121,7 @@ class CONTENT_EXPORT WebContentsViewAura
@ -208,10 +208,10 @@ index 1f0e661628aa..f896c842ff0d 100644
RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const base::string16& title) override;
diff --git content/browser/web_contents/web_contents_view_mac.h content/browser/web_contents/web_contents_view_mac.h
index d08876fc503a..bad24076b16f 100644
index 5317a1895671..770d05a9c4a9 100644
--- content/browser/web_contents/web_contents_view_mac.h
+++ content/browser/web_contents/web_contents_view_mac.h
@@ -101,7 +101,7 @@ class WebContentsViewMac : public WebContentsView,
@@ -102,7 +102,7 @@ class WebContentsViewMac : public WebContentsView,
gfx::NativeView context) override;
RenderWidgetHostViewBase* CreateViewForWidget(
RenderWidgetHost* render_widget_host,
@ -221,7 +221,7 @@ index d08876fc503a..bad24076b16f 100644
RenderWidgetHost* render_widget_host) override;
void SetPageTitle(const base::string16& title) override;
diff --git content/browser/web_contents/web_contents_view_mac.mm content/browser/web_contents/web_contents_view_mac.mm
index 3374d2b122d9..fa222a6ffb13 100644
index ed6586cff68c..731a51629a2c 100644
--- content/browser/web_contents/web_contents_view_mac.mm
+++ content/browser/web_contents/web_contents_view_mac.mm
@@ -336,7 +336,8 @@ void WebContentsViewMac::CreateView(
@ -266,10 +266,10 @@ index bf2226b53dd7..782a320ab788 100644
// a BrowserPlugin even when we are using cross process frames for guests. It
// should be removed after resolving https://crbug.com/642826).
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
index b7a9609ef426..f02c6df27fcc 100644
index b74700bb5810..af5def149ff8 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
@@ -199,6 +199,8 @@ void MimeHandlerViewGuest::CreateWebContents(
@@ -206,6 +206,8 @@ void MimeHandlerViewGuest::CreateWebContents(
WebContents::CreateParams params(browser_context(),
guest_site_instance.get());
params.guest_delegate = this;
@ -278,7 +278,7 @@ index b7a9609ef426..f02c6df27fcc 100644
// TODO(erikchen): Fix ownership semantics for guest views.
// https://crbug.com/832879.
std::move(callback).Run(
@@ -243,6 +245,18 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
@@ -250,6 +252,18 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
return true;
}
@ -298,10 +298,10 @@ index b7a9609ef426..f02c6df27fcc 100644
WebContents* source,
const content::OpenURLParams& params) {
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
index ebca89ac6256..ea1e2707cb21 100644
index cfa759b4b826..4d53d6bcc492 100644
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
@@ -112,6 +112,10 @@ class MimeHandlerViewGuest
@@ -114,6 +114,10 @@ class MimeHandlerViewGuest
bool ZoomPropagatesFromEmbedderToGuest() const final;
bool ShouldDestroyOnDetach() const final;

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index 8e953590edd9..750a1bb85480 100644
index 649cf1469a44..c440c5588875 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -8,6 +8,7 @@ import("//build/config/features.gni")
@ -10,7 +10,7 @@ index 8e953590edd9..750a1bb85480 100644
import("//chrome/common/features.gni")
import("//components/feature_engagement/features.gni")
import("//components/feed/features.gni")
@@ -1708,6 +1709,7 @@ jumbo_split_static_library("browser") {
@@ -1715,6 +1716,7 @@ jumbo_split_static_library("browser") {
"//base:i18n",
"//base/allocator:buildflags",
"//cc",
@ -18,7 +18,7 @@ index 8e953590edd9..750a1bb85480 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -1983,6 +1985,10 @@ jumbo_split_static_library("browser") {
@@ -1992,6 +1994,10 @@ jumbo_split_static_library("browser") {
]
}
@ -29,7 +29,7 @@ index 8e953590edd9..750a1bb85480 100644
if (is_android) {
sources += [
"after_startup_task_utils_android.cc",
@@ -3586,7 +3592,7 @@ jumbo_split_static_library("browser") {
@@ -3602,7 +3608,7 @@ jumbo_split_static_library("browser") {
]
}

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/browser_process.h chrome/browser/browser_process.h
index 840e44398dc6..4835c5ddcd64 100644
index 9b52c6682024..f188476b45ee 100644
--- chrome/browser/browser_process.h
+++ chrome/browser/browser_process.h
@@ -39,6 +39,10 @@ class SystemNetworkContextManager;
@ -24,10 +24,10 @@ index 840e44398dc6..4835c5ddcd64 100644
// network quality change events.
virtual network::NetworkQualityTracker* network_quality_tracker() = 0;
diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc
index 827c58d28114..7a0a31aeb654 100644
index a97daaa4d752..8d6e4490ee4f 100644
--- chrome/browser/browser_process_impl.cc
+++ chrome/browser/browser_process_impl.cc
@@ -662,6 +662,10 @@ BrowserProcessImpl::system_network_context_manager() {
@@ -665,6 +665,10 @@ BrowserProcessImpl::system_network_context_manager() {
return SystemNetworkContextManager::GetInstance();
}
@ -39,7 +39,7 @@ index 827c58d28114..7a0a31aeb654 100644
BrowserProcessImpl::shared_url_loader_factory() {
return system_network_context_manager()->GetSharedURLLoaderFactory();
diff --git chrome/browser/browser_process_impl.h chrome/browser/browser_process_impl.h
index 8799ad360d51..1bac38e1929b 100644
index ab192b468f53..d0864716dcfe 100644
--- chrome/browser/browser_process_impl.h
+++ chrome/browser/browser_process_impl.h
@@ -143,6 +143,7 @@ class BrowserProcessImpl : public BrowserProcess,
@ -51,7 +51,7 @@ index 8799ad360d51..1bac38e1929b 100644
override;
network::NetworkQualityTracker* network_quality_tracker() override;
diff --git chrome/browser/ui/webui/net_export_ui.cc chrome/browser/ui/webui/net_export_ui.cc
index 38c8ac0ed0e1..e759d3ebebf2 100644
index 62796358a2a7..9249ae2d07fa 100644
--- chrome/browser/ui/webui/net_export_ui.cc
+++ chrome/browser/ui/webui/net_export_ui.cc
@@ -159,8 +159,7 @@ class NetExportMessageHandler

View File

@ -71,10 +71,10 @@ index e8e76ce5b954..1dd338dd0142 100644
content::BrowserContext* GetBrowserContextRedirectedInIncognito(
content::BrowserContext* context);
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
index af01ba808a5a..ce2743af4de2 100644
index 95adee5097f0..7afb65e78998 100644
--- chrome/browser/profiles/profile_manager.cc
+++ chrome/browser/profiles/profile_manager.cc
@@ -388,7 +388,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
@@ -390,7 +390,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED,
content::NotificationService::AllSources());

View File

@ -125,7 +125,7 @@ index 989d5d02cedb..e05810db6824 100644
// If we broke out of the loop, we have found an enabled plugin.
bool enabled = i < matching_plugins.size();
diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc
index 2d9e1bbe419e..e297e3b9abe3 100644
index 204dd55eb24f..c9054d2743d1 100644
--- chrome/renderer/chrome_content_renderer_client.cc
+++ chrome/renderer/chrome_content_renderer_client.cc
@@ -801,6 +801,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(

View File

@ -1,5 +1,5 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index 45e6cbde8603..a49f2b2632b9 100644
index aaa5d7f72006..f50a48abe485 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -4,6 +4,7 @@

View File

@ -1,5 +1,5 @@
diff --git chrome/common/chrome_content_client.cc chrome/common/chrome_content_client.cc
index d93b738c2424..1e3d6d3eb4df 100644
index 310971aadad2..1c9f77745f09 100644
--- chrome/common/chrome_content_client.cc
+++ chrome/common/chrome_content_client.cc
@@ -99,7 +99,8 @@

View File

@ -50,21 +50,8 @@ index b6da8e846a2a..dd7ec1be2556 100644
&pdf_plugin_info)) {
return nullptr;
}
diff --git chrome/browser/ui/cocoa/drag_util.mm chrome/browser/ui/cocoa/drag_util.mm
index a132d1e4ff71..a328ee26f320 100644
--- chrome/browser/ui/cocoa/drag_util.mm
+++ chrome/browser/ui/cocoa/drag_util.mm
@@ -45,7 +45,7 @@ BOOL IsSupportedFileURL(Profile* profile, const GURL& url) {
return PluginService::GetInstance()->GetPluginInfo(
-1, // process ID
MSG_ROUTING_NONE, // routing ID
- profile->GetResourceContext(), url, url::Origin(), mime_type,
+ profile->GetResourceContext(), url, true, url::Origin(), mime_type,
allow_wildcard, NULL, &plugin, NULL);
}
diff --git chrome/browser/ui/views/frame/browser_root_view.cc chrome/browser/ui/views/frame/browser_root_view.cc
index 11db808fdefb..99cad779ec08 100644
index 6704ced8c31e..0a7a5e953db4 100644
--- chrome/browser/ui/views/frame/browser_root_view.cc
+++ chrome/browser/ui/views/frame/browser_root_view.cc
@@ -69,7 +69,7 @@ void OnFindURLMimeType(const GURL& url,
@ -77,10 +64,10 @@ index 11db808fdefb..99cad779ec08 100644
}
diff --git content/browser/frame_host/navigation_handle_impl.cc content/browser/frame_host/navigation_handle_impl.cc
index f8a86851d334..542f6eb61c53 100644
index b694ee64c5d7..ff3087a8d944 100644
--- content/browser/frame_host/navigation_handle_impl.cc
+++ content/browser/frame_host/navigation_handle_impl.cc
@@ -423,12 +423,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() {
@@ -424,12 +424,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() {
}
RenderFrameHostImpl* NavigationHandleImpl::GetRenderFrameHost() {
@ -94,10 +81,10 @@ index f8a86851d334..542f6eb61c53 100644
"WillFailRequest state should come before WillProcessResponse");
return render_frame_host_;
diff --git content/browser/frame_host/render_frame_host_impl.cc content/browser/frame_host/render_frame_host_impl.cc
index a17ae7ca0c07..c80e30494698 100644
index b387a4a3052b..570543e4cc81 100644
--- content/browser/frame_host/render_frame_host_impl.cc
+++ content/browser/frame_host/render_frame_host_impl.cc
@@ -1863,6 +1863,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
@@ -1869,6 +1869,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
if (GetNavigationHandle()) {
GetNavigationHandle()->set_net_error_code(
static_cast<net::Error>(params.error_code));
@ -105,7 +92,7 @@ index a17ae7ca0c07..c80e30494698 100644
}
frame_tree_node_->navigator()->DidFailProvisionalLoadWithError(this, params);
@@ -4350,9 +4351,9 @@ void RenderFrameHostImpl::CommitNavigation(
@@ -4404,9 +4405,9 @@ void RenderFrameHostImpl::CommitNavigation(
DCHECK(base::FeatureList::IsEnabled(network::features::kNetworkService) ||
base::FeatureList::IsEnabled(
blink::features::kServiceWorkerServicification));
@ -118,10 +105,10 @@ index a17ae7ca0c07..c80e30494698 100644
FROM_HERE, {BrowserThread::IO},
base::BindOnce(&PrefetchURLLoaderService::GetFactory,
diff --git content/browser/frame_host/render_frame_message_filter.cc content/browser/frame_host/render_frame_message_filter.cc
index 3310e9b06232..7b6c6ad26c34 100644
index fcde891b75df..e3ee7e7a2004 100644
--- content/browser/frame_host/render_frame_message_filter.cc
+++ content/browser/frame_host/render_frame_message_filter.cc
@@ -644,6 +644,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id,
@@ -655,6 +655,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id,
void RenderFrameMessageFilter::OnGetPluginInfo(
int render_frame_id,
const GURL& url,
@ -129,7 +116,7 @@ index 3310e9b06232..7b6c6ad26c34 100644
const url::Origin& main_frame_origin,
const std::string& mime_type,
bool* found,
@@ -652,8 +653,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
@@ -663,8 +664,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
bool allow_wildcard = true;
*found = plugin_service_->GetPluginInfo(
render_process_id_, render_frame_id, resource_context_, url,
@ -274,10 +261,10 @@ index 3009401dac6b..b4c5a9e2db50 100644
};
diff --git content/common/frame_messages.h content/common/frame_messages.h
index eee8d28ea50f..d5c92ad27fd0 100644
index b88b7b488ec8..5f98601d9ce5 100644
--- content/common/frame_messages.h
+++ content/common/frame_messages.h
@@ -1344,9 +1344,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
@@ -1355,9 +1355,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.
@ -339,10 +326,10 @@ index 3166cbe259da..e4bb34de7350 100644
// started.
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
diff --git content/public/renderer/render_frame_observer.h content/public/renderer/render_frame_observer.h
index ce1f26c0ab1d..d575eb38e116 100644
index 072bf70498cd..0e8ae08fb29a 100644
--- content/public/renderer/render_frame_observer.h
+++ content/public/renderer/render_frame_observer.h
@@ -152,6 +152,9 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener,
@@ -158,6 +158,9 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener,
virtual void DidReceiveTransferSizeUpdate(int resource_id,
int received_data_length) {}
@ -353,10 +340,10 @@ index ce1f26c0ab1d..d575eb38e116 100644
virtual void FocusedNodeChanged(const blink::WebNode& node) {}
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
index cf3e520475a5..b21f22084186 100644
index e4c309ef5ecc..b1f008020b8e 100644
--- content/renderer/render_frame_impl.cc
+++ content/renderer/render_frame_impl.cc
@@ -3664,7 +3664,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
@@ -3681,7 +3681,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
std::string mime_type;
bool found = false;
Send(new FrameHostMsg_GetPluginInfo(
@ -366,7 +353,7 @@ index cf3e520475a5..b21f22084186 100644
params.mime_type.Utf8(), &found, &info, &mime_type));
if (!found)
return nullptr;
@@ -4032,6 +4033,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
@@ -4051,6 +4052,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
void RenderFrameImpl::FrameFocused() {
Send(new FrameHostMsg_FrameFocused(routing_id_));
@ -376,7 +363,7 @@ index cf3e520475a5..b21f22084186 100644
void RenderFrameImpl::WillCommitProvisionalLoad() {
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index b82d9757e0ae..00f73388656e 100644
index 9cd0d754b886..fe3a367927d1 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -821,6 +821,8 @@ void RenderThreadImpl::Init() {
@ -389,10 +376,10 @@ index b82d9757e0ae..00f73388656e 100644
base::Bind(&RenderThreadImpl::OnRendererInterfaceRequest,
base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index 907fd2f4f856..716d5fc06316 100644
index 8324f0c43c19..93758d1e05f7 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -1191,6 +1191,14 @@ void RendererBlinkPlatformImpl::SetMemoryPressureNotificationsSuppressed(
@@ -1183,6 +1183,14 @@ void RendererBlinkPlatformImpl::SetMemoryPressureNotificationsSuppressed(
base::MemoryPressureListener::SetNotificationsSuppressed(suppressed);
}

View File

@ -146,7 +146,7 @@ index a2b0c74636f4..01370fdc20d9 100644
struct Data;
diff --git third_party/crashpad/crashpad/handler/BUILD.gn third_party/crashpad/crashpad/handler/BUILD.gn
index 9accbfe5fa38..513f64ad708a 100644
index a365ef8ec009..586b5f250de4 100644
--- third_party/crashpad/crashpad/handler/BUILD.gn
+++ third_party/crashpad/crashpad/handler/BUILD.gn
@@ -12,6 +12,7 @@
@ -157,12 +157,9 @@ index 9accbfe5fa38..513f64ad708a 100644
import("../build/crashpad_buildconfig.gni")
static_library("handler") {
@@ -75,8 +76,20 @@ static_library("handler") {
"../third_party/mini_chromium:base",
"../tools:tool_support",
"../util",
+ "//cef/libcef/features",
]
@@ -65,6 +66,17 @@ static_library("handler") {
]
}
+ if (enable_cef) {
+ sources += [
@ -175,9 +172,17 @@ index 9accbfe5fa38..513f64ad708a 100644
+ configs += [ "//cef/libcef/features:config" ]
+ }
+
public_configs = [ "..:crashpad_config" ]
public_deps = [
@@ -77,6 +89,7 @@ static_library("handler") {
"../minidump",
"../snapshot",
"../tools:tool_support",
+ "//cef/libcef/features",
]
if (crashpad_is_win) {
cflags = [ "/wd4201" ] # nonstandard extension used : nameless struct/union
}
diff --git third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
index 205d860f9139..e077a835a19e 100644
--- third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc

View File

@ -1,5 +1,5 @@
diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc
index baa7d79aec2e..06bec45c6538 100644
index 53a3e878241c..afcd9feb9d6b 100644
--- content/browser/devtools/devtools_http_handler.cc
+++ content/browser/devtools/devtools_http_handler.cc
@@ -569,7 +569,7 @@ void DevToolsHttpHandler::OnJsonRequest(

View File

@ -27,7 +27,7 @@ index 9e81f0a33ede..b796e79ae7ef 100644
auto* browser_context = web_contents->GetBrowserContext();
diff --git content/browser/frame_host/render_frame_host_manager.cc content/browser/frame_host/render_frame_host_manager.cc
index 5301d9c140d7..37117b8c0da0 100644
index 297f8315c41b..617bb2918f71 100644
--- content/browser/frame_host/render_frame_host_manager.cc
+++ content/browser/frame_host/render_frame_host_manager.cc
@@ -924,10 +924,11 @@ bool RenderFrameHostManager::ShouldSwapBrowsingInstancesForNavigation(
@ -57,10 +57,10 @@ index 5301d9c140d7..37117b8c0da0 100644
// If |new_instance| is a new SiteInstance for a subframe that requires a
// dedicated process, set its process reuse policy so that such subframes are
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index 056852ce578d..02f80a8b6778 100644
index 14fa58960ba4..615ef2d89d3e 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -437,6 +437,13 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -438,6 +438,13 @@ class CONTENT_EXPORT ContentBrowserClient {
// Returns true if error page should be isolated in its own process.
virtual bool ShouldIsolateErrorPage(bool in_main_frame);

View File

@ -27,7 +27,7 @@ index 941d70bd2a7e..ef14a7dd7d4f 100644
virtual void OnReflectorChanged();
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
index e8741caf69a8..1f82cc8c1f29 100644
index 41ca733fce93..bc89a78742b5 100644
--- content/browser/compositor/gpu_process_transport_factory.cc
+++ content/browser/compositor/gpu_process_transport_factory.cc
@@ -208,6 +208,18 @@ GpuProcessTransportFactory::~GpuProcessTransportFactory() {
@ -83,7 +83,7 @@ index e8741caf69a8..1f82cc8c1f29 100644
} else if (capabilities.surfaceless) {
#if defined(OS_MACOSX)
const auto& gpu_feature_info = context_provider->GetGpuFeatureInfo();
@@ -946,7 +968,8 @@ GpuProcessTransportFactory::CreatePerCompositorData(
@@ -942,7 +964,8 @@ GpuProcessTransportFactory::CreatePerCompositorData(
gfx::AcceleratedWidget widget = compositor->widget();
auto data = std::make_unique<PerCompositorData>();
@ -94,10 +94,10 @@ index e8741caf69a8..1f82cc8c1f29 100644
} else {
#if defined(GPU_SURFACE_HANDLE_IS_ACCELERATED_WINDOW)
diff --git content/browser/compositor/gpu_process_transport_factory.h content/browser/compositor/gpu_process_transport_factory.h
index b9f2cf332cd4..59b2d12aa3b0 100644
index 30573bc3308c..7711ed5dd40b 100644
--- content/browser/compositor/gpu_process_transport_factory.h
+++ content/browser/compositor/gpu_process_transport_factory.h
@@ -102,6 +102,7 @@ class GpuProcessTransportFactory : public ui::ContextFactory,
@@ -101,6 +101,7 @@ class GpuProcessTransportFactory : public ui::ContextFactory,
void IssueExternalBeginFrame(ui::Compositor* compositor,
const viz::BeginFrameArgs& args) override;
void SetOutputIsSecure(ui::Compositor* compositor, bool secure) override;
@ -351,10 +351,10 @@ index 582388dd576c..103c9374e535 100644
base::WeakPtrFactory<OffscreenBrowserCompositorOutputSurface>
weak_ptr_factory_;
diff --git gpu/GLES2/gl2chromium_autogen.h gpu/GLES2/gl2chromium_autogen.h
index dc3f820d88da..1f3d09e169ac 100644
index f3e9549fdaf4..3de2d2800400 100644
--- gpu/GLES2/gl2chromium_autogen.h
+++ gpu/GLES2/gl2chromium_autogen.h
@@ -404,6 +404,10 @@
@@ -407,6 +407,10 @@
GLES2_GET_FUN(CreateClientGpuFenceCHROMIUM)
#define glWaitGpuFenceCHROMIUM GLES2_GET_FUN(WaitGpuFenceCHROMIUM)
#define glDestroyGpuFenceCHROMIUM GLES2_GET_FUN(DestroyGpuFenceCHROMIUM)
@ -366,10 +366,10 @@ index dc3f820d88da..1f3d09e169ac 100644
GLES2_GET_FUN(InvalidateReadbackBufferShadowDataCHROMIUM)
#define glFramebufferTextureMultiviewLayeredANGLE \
diff --git gpu/command_buffer/build_gles2_cmd_buffer.py gpu/command_buffer/build_gles2_cmd_buffer.py
index 574ea592fd0f..ead22d65a6a7 100755
index 1dc8c4e0cf5d..c9f52264655e 100755
--- gpu/command_buffer/build_gles2_cmd_buffer.py
+++ gpu/command_buffer/build_gles2_cmd_buffer.py
@@ -4061,6 +4061,35 @@ _FUNCTION_INFO = {
@@ -4085,6 +4085,35 @@ _FUNCTION_INFO = {
'extension': 'CHROMIUM_gpu_fence',
'extension_flag': 'chromium_gpu_fence',
},
@ -406,10 +406,10 @@ index 574ea592fd0f..ead22d65a6a7 100755
'decoder_func': 'DoUnpremultiplyAndDitherCopyCHROMIUM',
'cmd_args': 'GLuint source_id, GLuint dest_id, GLint x, GLint y, '
diff --git gpu/command_buffer/client/gles2_c_lib_autogen.h gpu/command_buffer/client/gles2_c_lib_autogen.h
index 8955befd7d46..0895962dbf70 100644
index 6d49af7c1fd1..03ac64352f2f 100644
--- gpu/command_buffer/client/gles2_c_lib_autogen.h
+++ gpu/command_buffer/client/gles2_c_lib_autogen.h
@@ -1815,6 +1815,20 @@ void GL_APIENTRY GLES2WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) {
@@ -1824,6 +1824,20 @@ void GL_APIENTRY GLES2WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) {
void GL_APIENTRY GLES2DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
gles2::GetGLContext()->DestroyGpuFenceCHROMIUM(gpu_fence_id);
}
@ -430,7 +430,7 @@ index 8955befd7d46..0895962dbf70 100644
void GL_APIENTRY
GLES2InvalidateReadbackBufferShadowDataCHROMIUM(GLuint buffer_id) {
gles2::GetGLContext()->InvalidateReadbackBufferShadowDataCHROMIUM(buffer_id);
@@ -3196,6 +3210,22 @@ extern const NameToFunc g_gles2_function_table[] = {
@@ -3214,6 +3228,22 @@ extern const NameToFunc g_gles2_function_table[] = {
"glDestroyGpuFenceCHROMIUM",
reinterpret_cast<GLES2FunctionPointer>(glDestroyGpuFenceCHROMIUM),
},
@ -454,10 +454,10 @@ index 8955befd7d46..0895962dbf70 100644
"glInvalidateReadbackBufferShadowDataCHROMIUM",
reinterpret_cast<GLES2FunctionPointer>(
diff --git gpu/command_buffer/client/gles2_cmd_helper_autogen.h gpu/command_buffer/client/gles2_cmd_helper_autogen.h
index b422c3075ae7..1c4b452d1df5 100644
index cec084199397..bf4e3609776b 100644
--- gpu/command_buffer/client/gles2_cmd_helper_autogen.h
+++ gpu/command_buffer/client/gles2_cmd_helper_autogen.h
@@ -3356,6 +3356,42 @@ void DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
@@ -3377,6 +3377,42 @@ void DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
}
}
@ -501,10 +501,10 @@ index b422c3075ae7..1c4b452d1df5 100644
GLint shm_id,
GLuint shm_offset,
diff --git gpu/command_buffer/client/gles2_implementation.cc gpu/command_buffer/client/gles2_implementation.cc
index 65f83c6f5a41..c1bd6e4e7676 100644
index 84ce01c761cb..1e0cd08954e1 100644
--- gpu/command_buffer/client/gles2_implementation.cc
+++ gpu/command_buffer/client/gles2_implementation.cc
@@ -7248,6 +7248,22 @@ void GLES2Implementation::Viewport(GLint x,
@@ -7285,6 +7285,22 @@ void GLES2Implementation::Viewport(GLint x,
CheckGLError();
}
@ -528,10 +528,10 @@ index 65f83c6f5a41..c1bd6e4e7676 100644
GLuint id,
uint32_t sync_data_shm_id,
diff --git gpu/command_buffer/client/gles2_implementation_autogen.h gpu/command_buffer/client/gles2_implementation_autogen.h
index f99c002a599a..767cd62c1b77 100644
index 4480c022f894..ddb058ba7f8f 100644
--- gpu/command_buffer/client/gles2_implementation_autogen.h
+++ gpu/command_buffer/client/gles2_implementation_autogen.h
@@ -1274,6 +1274,16 @@ void WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
@@ -1279,6 +1279,16 @@ void WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
void DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
@ -549,10 +549,10 @@ index f99c002a599a..767cd62c1b77 100644
void FramebufferTextureMultiviewLayeredANGLE(GLenum target,
diff --git gpu/command_buffer/client/gles2_implementation_impl_autogen.h gpu/command_buffer/client/gles2_implementation_impl_autogen.h
index 68b2e032a189..e78fab69aa01 100644
index 50c53a67d1c8..9f3d1f2b9c17 100644
--- gpu/command_buffer/client/gles2_implementation_impl_autogen.h
+++ gpu/command_buffer/client/gles2_implementation_impl_autogen.h
@@ -3664,6 +3664,30 @@ void GLES2Implementation::DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
@@ -3667,6 +3667,30 @@ void GLES2Implementation::DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
CheckGLError();
}
@ -584,10 +584,10 @@ index 68b2e032a189..e78fab69aa01 100644
GLenum target,
GLenum attachment,
diff --git gpu/command_buffer/client/gles2_interface_autogen.h gpu/command_buffer/client/gles2_interface_autogen.h
index 3e117895a4fc..ac79f035ecdb 100644
index f91b0f80945a..597a398e28d2 100644
--- gpu/command_buffer/client/gles2_interface_autogen.h
+++ gpu/command_buffer/client/gles2_interface_autogen.h
@@ -949,6 +949,12 @@ virtual GLuint CreateGpuFenceCHROMIUM() = 0;
@@ -953,6 +953,12 @@ virtual GLuint CreateGpuFenceCHROMIUM() = 0;
virtual GLuint CreateClientGpuFenceCHROMIUM(ClientGpuFence source) = 0;
virtual void WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) = 0;
virtual void DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) = 0;
@ -601,10 +601,10 @@ index 3e117895a4fc..ac79f035ecdb 100644
virtual void FramebufferTextureMultiviewLayeredANGLE(GLenum target,
GLenum attachment,
diff --git gpu/command_buffer/client/gles2_interface_stub_autogen.h gpu/command_buffer/client/gles2_interface_stub_autogen.h
index 79f46804f4ff..57235e0e1dde 100644
index 4b4b03b5df6c..90b3b7b3726d 100644
--- gpu/command_buffer/client/gles2_interface_stub_autogen.h
+++ gpu/command_buffer/client/gles2_interface_stub_autogen.h
@@ -919,6 +919,12 @@ GLuint CreateGpuFenceCHROMIUM() override;
@@ -922,6 +922,12 @@ GLuint CreateGpuFenceCHROMIUM() override;
GLuint CreateClientGpuFenceCHROMIUM(ClientGpuFence source) override;
void WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
void DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
@ -618,10 +618,10 @@ index 79f46804f4ff..57235e0e1dde 100644
void FramebufferTextureMultiviewLayeredANGLE(GLenum target,
GLenum attachment,
diff --git gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
index c186b690ed0a..8e2d04caaff6 100644
index 24775520f452..c57ffb576efc 100644
--- gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
+++ gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
@@ -1234,6 +1234,14 @@ GLuint GLES2InterfaceStub::CreateClientGpuFenceCHROMIUM(
@@ -1240,6 +1240,14 @@ GLuint GLES2InterfaceStub::CreateClientGpuFenceCHROMIUM(
}
void GLES2InterfaceStub::WaitGpuFenceCHROMIUM(GLuint /* gpu_fence_id */) {}
void GLES2InterfaceStub::DestroyGpuFenceCHROMIUM(GLuint /* gpu_fence_id */) {}
@ -637,10 +637,10 @@ index c186b690ed0a..8e2d04caaff6 100644
GLuint /* buffer_id */) {}
void GLES2InterfaceStub::FramebufferTextureMultiviewLayeredANGLE(
diff --git gpu/command_buffer/client/gles2_trace_implementation_autogen.h gpu/command_buffer/client/gles2_trace_implementation_autogen.h
index 916cf238a69e..6228d124f402 100644
index 77b2f0371639..fcab9d085024 100644
--- gpu/command_buffer/client/gles2_trace_implementation_autogen.h
+++ gpu/command_buffer/client/gles2_trace_implementation_autogen.h
@@ -919,6 +919,12 @@ GLuint CreateGpuFenceCHROMIUM() override;
@@ -922,6 +922,12 @@ GLuint CreateGpuFenceCHROMIUM() override;
GLuint CreateClientGpuFenceCHROMIUM(ClientGpuFence source) override;
void WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
void DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
@ -654,10 +654,10 @@ index 916cf238a69e..6228d124f402 100644
void FramebufferTextureMultiviewLayeredANGLE(GLenum target,
GLenum attachment,
diff --git gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
index 30f99889c379..b6b16f139df4 100644
index e345903ac86e..c9c2cfd6a357 100644
--- gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
+++ gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
@@ -2632,6 +2632,28 @@ void GLES2TraceImplementation::DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
@@ -2645,6 +2645,28 @@ void GLES2TraceImplementation::DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
gl_->DestroyGpuFenceCHROMIUM(gpu_fence_id);
}
@ -687,10 +687,10 @@ index 30f99889c379..b6b16f139df4 100644
GLuint buffer_id) {
TRACE_EVENT_BINARY_EFFICIENT0(
diff --git gpu/command_buffer/common/gles2_cmd_format_autogen.h gpu/command_buffer/common/gles2_cmd_format_autogen.h
index 29c250c4f82f..8255cacba216 100644
index 2d157ecf0d47..b53a6530ea99 100644
--- gpu/command_buffer/common/gles2_cmd_format_autogen.h
+++ gpu/command_buffer/common/gles2_cmd_format_autogen.h
@@ -16533,6 +16533,193 @@ static_assert(offsetof(DestroyGpuFenceCHROMIUM, header) == 0,
@@ -16620,6 +16620,193 @@ static_assert(offsetof(DestroyGpuFenceCHROMIUM, header) == 0,
static_assert(offsetof(DestroyGpuFenceCHROMIUM, gpu_fence_id) == 4,
"offset of DestroyGpuFenceCHROMIUM gpu_fence_id should be 4");
@ -885,10 +885,10 @@ index 29c250c4f82f..8255cacba216 100644
typedef SetReadbackBufferShadowAllocationINTERNAL ValueType;
static const CommandId kCmdId = kSetReadbackBufferShadowAllocationINTERNAL;
diff --git gpu/command_buffer/common/gles2_cmd_format_test_autogen.h gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
index ad5eec73afb5..a014852dac6d 100644
index eb73a3a732a8..538ffd3e3b32 100644
--- gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
+++ gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
@@ -5472,6 +5472,52 @@ TEST_F(GLES2FormatTest, DestroyGpuFenceCHROMIUM) {
@@ -5518,6 +5518,52 @@ TEST_F(GLES2FormatTest, DestroyGpuFenceCHROMIUM) {
CheckBytesWrittenMatchesExpectedSize(next_cmd, sizeof(cmd));
}
@ -942,31 +942,28 @@ index ad5eec73afb5..a014852dac6d 100644
cmds::SetReadbackBufferShadowAllocationINTERNAL& cmd =
*GetBufferAs<cmds::SetReadbackBufferShadowAllocationINTERNAL>();
diff --git gpu/command_buffer/common/gles2_cmd_ids_autogen.h gpu/command_buffer/common/gles2_cmd_ids_autogen.h
index 5d8a91314bc9..fab65ac82ea2 100644
index 6530d2b4761a..f5a1e497ebbf 100644
--- gpu/command_buffer/common/gles2_cmd_ids_autogen.h
+++ gpu/command_buffer/common/gles2_cmd_ids_autogen.h
@@ -345,9 +345,13 @@
OP(CreateGpuFenceINTERNAL) /* 586 */ \
OP(WaitGpuFenceCHROMIUM) /* 587 */ \
OP(DestroyGpuFenceCHROMIUM) /* 588 */ \
- OP(SetReadbackBufferShadowAllocationINTERNAL) /* 589 */ \
- OP(FramebufferTextureMultiviewLayeredANGLE) /* 590 */ \
- OP(MaxShaderCompilerThreadsKHR) /* 591 */
+ OP(CreateSharedTexture) /* 589 */ \
+ OP(LockSharedTexture) /* 590 */ \
+ OP(UnlockSharedTexture) /* 591 */ \
+ OP(DeleteSharedTexture) /* 592 */ \
+ OP(SetReadbackBufferShadowAllocationINTERNAL) /* 593 */ \
+ OP(FramebufferTextureMultiviewLayeredANGLE) /* 594 */ \
+ OP(MaxShaderCompilerThreadsKHR) /* 595 */
@@ -349,7 +349,12 @@
OP(DestroyGpuFenceCHROMIUM) /* 590 */ \
OP(SetReadbackBufferShadowAllocationINTERNAL) /* 591 */ \
OP(FramebufferTextureMultiviewLayeredANGLE) /* 592 */ \
- OP(MaxShaderCompilerThreadsKHR) /* 593 */
+ OP(MaxShaderCompilerThreadsKHR) /* 593 */ \
+ OP(CreateSharedTexture) /* 594 */ \
+ OP(LockSharedTexture) /* 595 */ \
+ OP(UnlockSharedTexture) /* 596 */ \
+ OP(DeleteSharedTexture) /* 597 */
+
enum CommandId {
kOneBeforeStartPoint =
diff --git gpu/command_buffer/gles2_cmd_buffer_functions.txt gpu/command_buffer/gles2_cmd_buffer_functions.txt
index fcac46f25274..cb39feed2c16 100644
index 1100fe092163..0797e3dfb7d0 100644
--- gpu/command_buffer/gles2_cmd_buffer_functions.txt
+++ gpu/command_buffer/gles2_cmd_buffer_functions.txt
@@ -395,6 +395,12 @@ GL_APICALL GLuint GL_APIENTRY glCreateClientGpuFenceCHROMIUM (ClientGpuFen
@@ -398,6 +398,12 @@ GL_APICALL GLuint GL_APIENTRY glCreateClientGpuFenceCHROMIUM (ClientGpuFen
GL_APICALL void GL_APIENTRY glWaitGpuFenceCHROMIUM (GLuint gpu_fence_id);
GL_APICALL void GL_APIENTRY glDestroyGpuFenceCHROMIUM (GLuint gpu_fence_id);
@ -980,7 +977,7 @@ index fcac46f25274..cb39feed2c16 100644
GL_APICALL void GL_APIENTRY glInvalidateReadbackBufferShadowDataCHROMIUM (GLidBuffer buffer_id);
// (used for CHROMIUM_nonblocking_readback implementation)
diff --git gpu/command_buffer/service/BUILD.gn gpu/command_buffer/service/BUILD.gn
index 6e83a5675fc3..330107d93f03 100644
index 67136e0045b7..84cfd708b062 100644
--- gpu/command_buffer/service/BUILD.gn
+++ gpu/command_buffer/service/BUILD.gn
@@ -105,6 +105,8 @@ target(link_target_type, "gles2_sources") {
@ -993,7 +990,7 @@ index 6e83a5675fc3..330107d93f03 100644
"buffer_manager.cc",
"buffer_manager.h",
diff --git gpu/command_buffer/service/gles2_cmd_decoder.cc gpu/command_buffer/service/gles2_cmd_decoder.cc
index 08706db01d3d..245b3d8db6ea 100644
index 6395b50373bc..c430882924bc 100644
--- gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -34,6 +34,7 @@
@ -1004,7 +1001,7 @@ index 08706db01d3d..245b3d8db6ea 100644
#include "gpu/command_buffer/common/debug_marker_manager.h"
#include "gpu/command_buffer/common/gles2_cmd_format.h"
#include "gpu/command_buffer/common/gles2_cmd_utils.h"
@@ -857,6 +858,13 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
@@ -883,6 +884,13 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
return group_->mailbox_manager();
}
@ -1018,7 +1015,7 @@ index 08706db01d3d..245b3d8db6ea 100644
ImageManager* image_manager() { return group_->image_manager(); }
VertexArrayManager* vertex_array_manager() {
@@ -2497,6 +2505,8 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
@@ -2526,6 +2534,8 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
std::unique_ptr<VertexArrayManager> vertex_array_manager_;
@ -1027,7 +1024,7 @@ index 08706db01d3d..245b3d8db6ea 100644
base::flat_set<scoped_refptr<Buffer>> writes_submitted_but_not_completed_;
// The format of the back buffer_
@@ -5351,6 +5361,59 @@ error::Error GLES2DecoderImpl::HandleDestroyGpuFenceCHROMIUM(
@@ -5424,6 +5434,59 @@ error::Error GLES2DecoderImpl::HandleDestroyGpuFenceCHROMIUM(
return error::kNoError;
}
@ -1088,7 +1085,7 @@ index 08706db01d3d..245b3d8db6ea 100644
for (auto it = saved_back_textures_.begin(); it != saved_back_textures_.end();
++it) {
diff --git gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
index e4b21a6a1388..c446c9ef3297 100644
index 087f58771c7d..01187acdf298 100644
--- gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
+++ gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
@@ -9,6 +9,7 @@
@ -1099,7 +1096,7 @@ index e4b21a6a1388..c446c9ef3297 100644
#include "gpu/command_buffer/service/command_buffer_service.h"
#include "gpu/command_buffer/service/decoder_client.h"
#include "gpu/command_buffer/service/feature_info.h"
@@ -2275,6 +2276,67 @@ error::Error GLES2DecoderPassthroughImpl::CheckSwapBuffersResult(
@@ -2461,6 +2462,67 @@ error::Error GLES2DecoderPassthroughImpl::CheckSwapBuffersResult(
return error::kNoError;
}
@ -1168,10 +1165,10 @@ index e4b21a6a1388..c446c9ef3297 100644
GLES2DecoderPassthroughImpl::TextureTarget
GLES2DecoderPassthroughImpl::GLenumToTextureTarget(GLenum target) {
diff --git gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
index 325918d2264a..cdb97f7dc914 100644
index a987f08a62ae..76b11e83a5e3 100644
--- gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
+++ gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
@@ -42,6 +42,7 @@ namespace gpu {
@@ -45,6 +45,7 @@ class SharedImageRepresentationGLTexturePassthrough;
namespace gles2 {
class ContextGroup;
@ -1179,7 +1176,7 @@ index 325918d2264a..cdb97f7dc914 100644
class GPUTracer;
class PassthroughAbstractTextureImpl;
@@ -361,6 +362,8 @@ class GPU_GLES2_EXPORT GLES2DecoderPassthroughImpl : public GLES2Decoder {
@@ -372,6 +373,8 @@ class GPU_GLES2_EXPORT GLES2DecoderPassthroughImpl : public GLES2Decoder {
void SetOptionalExtensionsRequestedForTesting(bool request_extensions);
@ -1188,7 +1185,7 @@ index 325918d2264a..cdb97f7dc914 100644
void* GetScratchMemory(size_t size);
template <typename T>
@@ -554,6 +557,8 @@ class GPU_GLES2_EXPORT GLES2DecoderPassthroughImpl : public GLES2Decoder {
@@ -573,6 +576,8 @@ class GPU_GLES2_EXPORT GLES2DecoderPassthroughImpl : public GLES2Decoder {
std::unique_ptr<GpuFenceManager> gpu_fence_manager_;
@ -1198,10 +1195,10 @@ index 325918d2264a..cdb97f7dc914 100644
size_t active_texture_unit_;
diff --git ui/compositor/compositor.cc ui/compositor/compositor.cc
index 8ae7efefd62c..9b89edf36be5 100644
index 8662b553658e..44e192faa1d2 100644
--- ui/compositor/compositor.cc
+++ ui/compositor/compositor.cc
@@ -540,6 +540,16 @@ void Compositor::OnNeedsExternalBeginFrames(bool needs_begin_frames) {
@@ -539,6 +539,16 @@ void Compositor::OnNeedsExternalBeginFrames(bool needs_begin_frames) {
needs_external_begin_frames_ = needs_begin_frames;
}
@ -1219,7 +1216,7 @@ index 8ae7efefd62c..9b89edf36be5 100644
observer_list_.AddObserver(observer);
}
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
index b3905bdfa650..dc984321f2b8 100644
index 92021bba285a..448b49db14af 100644
--- ui/compositor/compositor.h
+++ ui/compositor/compositor.h
@@ -26,6 +26,7 @@
@ -1239,7 +1236,7 @@ index b3905bdfa650..dc984321f2b8 100644
};
// This class abstracts the creation of the 3D context for the compositor. It is
@@ -198,6 +201,17 @@ class COMPOSITOR_EXPORT ContextFactory {
@@ -195,6 +198,17 @@ class COMPOSITOR_EXPORT ContextFactory {
virtual bool SyncTokensRequiredForDisplayCompositor() = 0;
};
@ -1257,7 +1254,7 @@ index b3905bdfa650..dc984321f2b8 100644
// Compositor object to take care of GPU painting.
// A Browser compositor object is responsible for generating the final
// displayable form of pixels comprising a single widget's contents. It draws an
@@ -237,6 +251,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -239,6 +253,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
// Schedules a redraw of the layer tree associated with this compositor.
void ScheduleDraw();
@ -1267,7 +1264,7 @@ index b3905bdfa650..dc984321f2b8 100644
// Sets the root of the layer tree drawn by this Compositor. The root layer
// must have no parent. The compositor's root layer is reset if the root layer
// is destroyed. NULL can be passed to reset the root layer, in which case the
@@ -348,6 +365,10 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -351,6 +368,10 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
return task_runner_;
}
@ -1278,7 +1275,7 @@ index b3905bdfa650..dc984321f2b8 100644
// Compositor does not own observers. It is the responsibility of the
// observer to remove itself when it is done observing.
void AddObserver(CompositorObserver* observer);
@@ -448,6 +469,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -452,6 +473,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
ui::ContextFactory* context_factory_;
ui::ContextFactoryPrivate* context_factory_private_;
@ -1287,7 +1284,7 @@ index b3905bdfa650..dc984321f2b8 100644
// The root of the Layer tree drawn by this compositor.
Layer* root_layer_ = nullptr;
@@ -486,6 +509,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -488,6 +511,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
ExternalBeginFrameClient* external_begin_frame_client_ = nullptr;
bool needs_external_begin_frames_ = false;
@ -1297,10 +1294,10 @@ index b3905bdfa650..dc984321f2b8 100644
// The device scale factor of the monitor that this compositor is compositing
diff --git ui/compositor/host/host_context_factory_private.cc ui/compositor/host/host_context_factory_private.cc
index 9c73b44101df..94fe32c76046 100644
index 952525b7f823..871379326bc2 100644
--- ui/compositor/host/host_context_factory_private.cc
+++ ui/compositor/host/host_context_factory_private.cc
@@ -244,6 +244,10 @@ void HostContextFactoryPrivate::SetOutputIsSecure(Compositor* compositor,
@@ -245,6 +245,10 @@ void HostContextFactoryPrivate::SetOutputIsSecure(Compositor* compositor,
iter->second.display_private->SetOutputIsSecure(secure);
}

View File

@ -1,8 +1,8 @@
diff --git .gn .gn
index 2ae9ab394481..2ff59eb3a2ef 100644
index 3a439c9b36aa..5e31650373ba 100644
--- .gn
+++ .gn
@@ -411,6 +411,8 @@ exec_script_whitelist =
@@ -677,6 +677,8 @@ exec_script_whitelist =
# in the Chromium repo outside of //build.
"//build_overrides/build.gni",
@ -12,10 +12,10 @@ index 2ae9ab394481..2ff59eb3a2ef 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index 4283a4f9fce3..b74a2b78f282 100644
index 6c85e57fd02e..a1ea70f330e7 100644
--- BUILD.gn
+++ BUILD.gn
@@ -186,6 +186,7 @@ group("gn_all") {
@@ -185,6 +185,7 @@ group("gn_all") {
if (!is_ios && !is_fuchsia) {
deps += [
@ -56,7 +56,7 @@ index 982fbe8d3f0d..e757be4688f1 100644
+ "studio path")
}
diff --git build/toolchain/win/BUILD.gn build/toolchain/win/BUILD.gn
index 3c6c9d05d2c8..d475747fa12d 100644
index 4eac9f422603..ffc17ad20b5c 100644
--- build/toolchain/win/BUILD.gn
+++ build/toolchain/win/BUILD.gn
@@ -6,6 +6,7 @@ import("//build/config/clang/clang.gni")
@ -76,7 +76,7 @@ index 3c6c9d05d2c8..d475747fa12d 100644
} else {
goma_prefix = ""
}
@@ -108,7 +111,7 @@ template("msvc_toolchain") {
@@ -114,7 +117,7 @@ template("msvc_toolchain") {
# lld-link includes a replacement for lib.exe that can produce thin
# archives and understands bitcode (for lto builds).
@ -138,7 +138,7 @@ index 1ba5533c3efb..abfd55a2c703 100644
diff --git build/vs_toolchain.py build/vs_toolchain.py
index 32bad7f469bd..dcee84f71e5f 100755
index 6a2723e2dced..d7a8dc989528 100755
--- build/vs_toolchain.py
+++ build/vs_toolchain.py
@@ -65,11 +65,18 @@ def SetEnvironmentAndGetRuntimeDllDirs():
@ -161,10 +161,10 @@ index 32bad7f469bd..dcee84f71e5f 100755
# directory in order to run binaries locally, but they are needed in order
# to create isolates or the mini_installer. Copying them to the output
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
index 8b3d1652ae28..9d69220d85df 100644
index bebd511e2e4e..1e3501985492 100644
--- chrome/chrome_paks.gni
+++ chrome/chrome_paks.gni
@@ -259,7 +259,7 @@ template("chrome_paks") {
@@ -261,7 +261,7 @@ template("chrome_paks") {
}
input_locales = locales
@ -174,10 +174,10 @@ index 8b3d1652ae28..9d69220d85df 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 931761ff27de..a181fbeadc86 100644
index 7001812ea42c..175784e1fc69 100644
--- chrome/installer/mini_installer/BUILD.gn
+++ chrome/installer/mini_installer/BUILD.gn
@@ -133,7 +133,7 @@ template("generate_mini_installer") {
@@ -134,7 +134,7 @@ template("generate_mini_installer") {
inputs = [
"$chrome_dll_file",
"$root_out_dir/chrome.exe",

View File

@ -1,8 +1,8 @@
diff --git tools/gritsettings/resource_ids tools/gritsettings/resource_ids
index 0d621a15e32b..e4174fbd0047 100644
index 5280058f6ae1..06fafa85303d 100644
--- tools/gritsettings/resource_ids
+++ tools/gritsettings/resource_ids
@@ -431,4 +431,11 @@
@@ -426,4 +426,11 @@
# Please read the header and find the right section above instead.
# Resource ids starting at 31000 are reserved for projects built on Chromium.

View File

@ -1,5 +1,5 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index 148e91397142..ea325faec030 100644
index 29161fe04089..094109b7fbfd 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -163,7 +163,7 @@ declare_args() {

View File

@ -68,7 +68,7 @@ index d44c7feaabec..5f1992335a38 100644
void ChromeBrowserMainExtraPartsViewsLinux::ToolkitInitialized() {
diff --git chrome/test/BUILD.gn chrome/test/BUILD.gn
index bfe218062685..2b3d2a25605b 100644
index 49d5b2a4cf51..889a9d95aa4a 100644
--- chrome/test/BUILD.gn
+++ chrome/test/BUILD.gn
@@ -3850,7 +3850,7 @@ test("unit_tests") {
@ -89,7 +89,7 @@ index bfe218062685..2b3d2a25605b 100644
deps += [ "//chrome/browser/ui/libgtkui" ]
}
@@ -4850,7 +4850,7 @@ if (!is_android) {
@@ -4855,7 +4855,7 @@ if (!is_android) {
# suites, it seems like one or another starts timing out too.
"../browser/ui/views/keyboard_access_browsertest.cc",
]
@ -99,10 +99,10 @@ index bfe218062685..2b3d2a25605b 100644
"../browser/ui/libgtkui/select_file_dialog_interactive_uitest.cc",
]
diff --git remoting/host/BUILD.gn remoting/host/BUILD.gn
index 563d8318c231..4795186b594c 100644
index ab8ccd9ad447..2a5d8e9d54a6 100644
--- remoting/host/BUILD.gn
+++ remoting/host/BUILD.gn
@@ -336,7 +336,7 @@ static_library("host") {
@@ -340,7 +340,7 @@ static_library("host") {
"//build/config/linux:xrandr",
]
deps += [ "//remoting/host/linux:x11" ]
@ -111,7 +111,7 @@ index 563d8318c231..4795186b594c 100644
deps += [ "//build/config/linux/gtk" ]
}
} else {
@@ -717,7 +717,7 @@ if (enable_me2me_host) {
@@ -721,7 +721,7 @@ if (enable_me2me_host) {
deps += [ "//components/policy:generated" ]
}

View File

@ -1,44 +1,8 @@
diff --git base/message_loop/message_loop.cc base/message_loop/message_loop.cc
index ff55a15ce0f0..30a903dffcdc 100644
--- base/message_loop/message_loop.cc
+++ base/message_loop/message_loop.cc
@@ -613,6 +613,9 @@ MessageLoopForUI::MessageLoopForUI(Type type) : MessageLoop(type) {
#endif
}
+MessageLoopForUI::MessageLoopForUI(std::unique_ptr<MessagePump> pump)
+ : MessageLoop(TYPE_UI, BindOnce(&ReturnPump, std::move(pump))) {}
+
// static
MessageLoopCurrentForUI MessageLoopForUI::current() {
return MessageLoopCurrentForUI::Get();
diff --git base/message_loop/message_loop.h base/message_loop/message_loop.h
index dae6c35eab00..f1b59fccd4c0 100644
--- base/message_loop/message_loop.h
+++ base/message_loop/message_loop.h
@@ -197,6 +197,9 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate,
// Runs the specified PendingTask.
void RunTask(PendingTask* pending_task);
+ // Called from Thread::CleanUp() to release resources.
+ void ReleasePump() { pump_ = nullptr; }
+
//----------------------------------------------------------------------------
protected:
std::unique_ptr<MessagePump> pump_;
@@ -366,6 +369,7 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate,
class BASE_EXPORT MessageLoopForUI : public MessageLoop {
public:
explicit MessageLoopForUI(Type type = TYPE_UI);
+ explicit MessageLoopForUI(std::unique_ptr<MessagePump> pump);
// TODO(gab): Mass migrate callers to MessageLoopCurrentForUI::Get()/IsSet().
static MessageLoopCurrentForUI current();
diff --git base/message_loop/message_loop_current.cc base/message_loop/message_loop_current.cc
index ece6b92ca3a3..3925cdd3ad7f 100644
index c87c4321d137..dbed6fc8f721 100644
--- base/message_loop/message_loop_current.cc
+++ base/message_loop/message_loop_current.cc
@@ -43,6 +43,8 @@ void MessageLoopCurrent::AddDestructionObserver(
@@ -53,6 +53,8 @@ void MessageLoopCurrent::AddDestructionObserver(
void MessageLoopCurrent::RemoveDestructionObserver(
DestructionObserver* destruction_observer) {
@ -48,10 +12,10 @@ index ece6b92ca3a3..3925cdd3ad7f 100644
current_->destruction_observers_.RemoveObserver(destruction_observer);
}
diff --git base/message_loop/message_loop_current.h base/message_loop/message_loop_current.h
index 403d0dcc2ddb..5176aa0594a3 100644
index 74af124dea5b..e81e86662a98 100644
--- base/message_loop/message_loop_current.h
+++ base/message_loop/message_loop_current.h
@@ -124,6 +124,16 @@ class BASE_EXPORT MessageLoopCurrent {
@@ -137,6 +137,16 @@ class BASE_EXPORT MessageLoopCurrent {
// posted tasks.
void SetAddQueueTimeToTasks(bool enable);
@ -68,10 +32,10 @@ index 403d0dcc2ddb..5176aa0594a3 100644
// Enables or disables the recursive task processing. This happens in the case
// of recursive message loops. Some unwanted message loops may occur when
// using common controls or printer functions. By default, recursive task
@@ -192,6 +202,13 @@ class BASE_EXPORT MessageLoopCurrent {
explicit MessageLoopCurrent(MessageLoop* current) : current_(current) {}
@@ -221,6 +231,13 @@ class BASE_EXPORT MessageLoopCurrent {
MessageLoop* ToMessageLoopDeprecated() const { return current_; }
MessageLoop* const current_;
MessageLoop* current_;
+
+#if defined(OS_WIN)
+ private:
@ -82,6 +46,42 @@ index 403d0dcc2ddb..5176aa0594a3 100644
};
#if !defined(OS_NACL)
diff --git base/message_loop/message_loop_impl.cc base/message_loop/message_loop_impl.cc
index daf7ca47442a..cad42f7d30a3 100644
--- base/message_loop/message_loop_impl.cc
+++ base/message_loop/message_loop_impl.cc
@@ -724,6 +724,9 @@ MessageLoopForUI::MessageLoopForUI(Type type) : MessageLoop(type) {
#endif
}
+MessageLoopForUI::MessageLoopForUI(std::unique_ptr<MessagePump> pump)
+ : MessageLoop(TYPE_UI, BindOnce(&ReturnPump, std::move(pump))) {}
+
// static
MessageLoopCurrentForUI MessageLoopForUI::current() {
return MessageLoopCurrentForUI::Get();
diff --git base/message_loop/message_loop_impl.h base/message_loop/message_loop_impl.h
index 0b8c50532307..0f29ee2bb19a 100644
--- base/message_loop/message_loop_impl.h
+++ base/message_loop/message_loop_impl.h
@@ -200,6 +200,9 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate,
// Runs the specified PendingTask.
void RunTask(PendingTask* pending_task);
+ // Called from Thread::CleanUp() to release resources.
+ void ReleasePump() { pump_ = nullptr; }
+
//----------------------------------------------------------------------------
protected:
std::unique_ptr<MessagePump> pump_;
@@ -372,6 +375,7 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate,
class BASE_EXPORT MessageLoopForUI : public MessageLoop {
public:
explicit MessageLoopForUI(Type type = TYPE_UI);
+ explicit MessageLoopForUI(std::unique_ptr<MessagePump> pump);
// TODO(gab): Mass migrate callers to MessageLoopCurrentForUI::Get()/IsSet().
static MessageLoopCurrentForUI current();
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
index 1d6748e0e88a..1598fb65484e 100644
--- base/message_loop/message_pump_win.cc

View File

@ -1,14 +0,0 @@
diff --git net/cookies/cookie_monster_change_dispatcher.cc net/cookies/cookie_monster_change_dispatcher.cc
index a53b1edcaa40..5b663f605497 100644
--- net/cookies/cookie_monster_change_dispatcher.cc
+++ net/cookies/cookie_monster_change_dispatcher.cc
@@ -51,7 +51,8 @@ CookieMonsterChangeDispatcher::Subscription::Subscription(
CookieMonsterChangeDispatcher::Subscription::~Subscription() {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
- change_dispatcher_->UnlinkSubscription(this);
+ if (change_dispatcher_)
+ change_dispatcher_->UnlinkSubscription(this);
}
void CookieMonsterChangeDispatcher::Subscription::DispatchChange(

View File

@ -1,5 +1,5 @@
diff --git net/base/network_delegate.h net/base/network_delegate.h
index c28d0bb3b676..1acbb4c94495 100644
index c989746999de..5797db42887d 100644
--- net/base/network_delegate.h
+++ net/base/network_delegate.h
@@ -17,6 +17,7 @@
@ -10,7 +10,7 @@ index c28d0bb3b676..1acbb4c94495 100644
#include "net/proxy_resolution/proxy_retry_info.h"
class GURL;
@@ -125,6 +126,10 @@ class NET_EXPORT NetworkDelegate {
@@ -123,6 +124,10 @@ class NET_EXPORT NetworkDelegate {
bool CanUseReportingClient(const url::Origin& origin,
const GURL& endpoint) const;

View File

@ -58,10 +58,10 @@ index f61ff0d0564a..e6727c7b1cbc 100644
} // namespace certificate_transparency
diff --git net/http/transport_security_state.cc net/http/transport_security_state.cc
index f1a5d1cec270..2a586caaf0c4 100644
index f2b3b7609ee7..d99c6d3b0901 100644
--- net/http/transport_security_state.cc
+++ net/http/transport_security_state.cc
@@ -1151,8 +1151,10 @@ void TransportSecurityState::ClearReportCachesForTesting() {
@@ -1095,8 +1095,10 @@ void TransportSecurityState::ClearReportCachesForTesting() {
sent_expect_ct_reports_cache_.Clear();
}
@ -75,12 +75,12 @@ index f1a5d1cec270..2a586caaf0c4 100644
// We consider built-in information to be timely for 10 weeks.
return (base::Time::Now() - build_time).InDays() < 70 /* 10 weeks */;
diff --git net/http/transport_security_state.h net/http/transport_security_state.h
index 9c65b59e4ec2..0ac0509abf78 100644
index 5617c50f3909..fc55b6b8c76c 100644
--- net/http/transport_security_state.h
+++ net/http/transport_security_state.h
@@ -561,6 +561,10 @@ class NET_EXPORT TransportSecurityState {
// Expect-CT reports.
void ClearReportCachesForTesting();
@@ -525,6 +525,10 @@ class NET_EXPORT TransportSecurityState {
void EnableStaticPinsForTesting() { enable_static_pins_ = true; }
bool has_dynamic_pkp_state() const { return !enabled_pkp_hosts_.empty(); }
+ void set_enforce_net_security_expiration(bool enforce) {
+ enforce_net_security_expiration_ = enforce;
@ -89,7 +89,7 @@ index 9c65b59e4ec2..0ac0509abf78 100644
private:
friend class TransportSecurityStateTest;
friend class TransportSecurityStateStaticFuzzer;
@@ -581,7 +585,7 @@ class NET_EXPORT TransportSecurityState {
@@ -543,7 +547,7 @@ class NET_EXPORT TransportSecurityState {
// IsBuildTimely returns true if the current build is new enough ensure that
// built in security information (i.e. HSTS preloading and pinning
// information) is timely.
@ -98,7 +98,7 @@ index 9c65b59e4ec2..0ac0509abf78 100644
// Helper method for actually checking pins.
PKPStatus CheckPublicKeyPinsImpl(
@@ -679,6 +683,8 @@ class NET_EXPORT TransportSecurityState {
@@ -641,6 +645,8 @@ class NET_EXPORT TransportSecurityState {
// True if public key pinning bypass is enabled for local trust anchors.
bool enable_pkp_bypass_for_local_trust_anchors_;

View File

@ -1,8 +1,8 @@
diff --git BUILD.gn BUILD.gn
index 8a65f06b2..04894604d 100644
index 53a633baf..8228a486e 100644
--- BUILD.gn
+++ BUILD.gn
@@ -238,6 +238,10 @@ jumbo_static_library("pdfium") {
@@ -201,6 +201,10 @@ jumbo_static_library("pdfium") {
complete_static_lib = true
configs -= [ "//build/config/compiler:thin_archive" ]
}
@ -12,9 +12,9 @@ index 8a65f06b2..04894604d 100644
+ ]
}
jumbo_source_set("test_support") {
# Targets below this are only visible within this file (and to the
diff --git fpdfsdk/fpdf_view.cpp fpdfsdk/fpdf_view.cpp
index 247a90240..42c9c5ea8 100644
index f924a36e2..e8a046799 100644
--- fpdfsdk/fpdf_view.cpp
+++ fpdfsdk/fpdf_view.cpp
@@ -38,6 +38,7 @@

View File

@ -1,5 +1,5 @@
diff --git content/public/common/common_param_traits_macros.h content/public/common/common_param_traits_macros.h
index 09aa0927af7f..a8c8c1d604f5 100644
index 7772eb5cff36..909382b8e896 100644
--- content/public/common/common_param_traits_macros.h
+++ content/public/common/common_param_traits_macros.h
@@ -188,6 +188,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
@ -11,7 +11,7 @@ index 09aa0927af7f..a8c8c1d604f5 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 581c6666662b..aa3cfd054ed5 100644
index e648532ff596..570861ca3306 100644
--- content/public/common/web_preferences.cc
+++ content/public/common/web_preferences.cc
@@ -178,6 +178,7 @@ WebPreferences::WebPreferences()
@ -23,7 +23,7 @@ index 581c6666662b..aa3cfd054ed5 100644
record_whole_document(false),
save_previous_document_resources(SavePreviousDocumentResources::NEVER),
diff --git content/public/common/web_preferences.h content/public/common/web_preferences.h
index c1881cb04aec..34a64887af4c 100644
index 7661f2cd7e58..751eb84d0f4d 100644
--- content/public/common/web_preferences.h
+++ content/public/common/web_preferences.h
@@ -203,6 +203,7 @@ struct CONTENT_EXPORT WebPreferences {
@ -35,14 +35,15 @@ index c1881cb04aec..34a64887af4c 100644
bool record_whole_document;
SavePreviousDocumentResources save_previous_document_resources;
diff --git content/renderer/render_view_impl.cc content/renderer/render_view_impl.cc
index 5ff531dd9e35..34d699af2616 100644
index c5f15cede024..b24402d534b0 100644
--- content/renderer/render_view_impl.cc
+++ content/renderer/render_view_impl.cc
@@ -1273,6 +1273,7 @@ void RenderViewImpl::SendFrameStateUpdates() {
void RenderViewImpl::ApplyWebPreferencesInternal(const WebPreferences& prefs,
blink::WebView* web_view) {
ApplyWebPreferences(prefs, web_view);
@@ -1015,6 +1015,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
switches::kEnableExperimentalWebPlatformFeatures)) {
WebRuntimeFeatures::EnableHrefTranslate(prefs.translate_service_available);
}
+
+ web_view->SetBaseBackgroundColor(prefs.base_background_color);
}
// IPC::Listener -------------------------------------------------------------
/*static*/

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index 108b54de5e75..8ebd76fc4584 100644
index 81c2bc90ddff..89e129d426d0 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -368,6 +368,7 @@ jumbo_split_static_library("ui") {
@@ -369,6 +369,7 @@ jumbo_split_static_library("ui") {
"//base:i18n",
"//base/allocator:buildflags",
"//cc/paint",
@ -10,7 +10,7 @@ index 108b54de5e75..8ebd76fc4584 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2289,7 +2290,7 @@ jumbo_split_static_library("ui") {
@@ -2265,7 +2266,7 @@ jumbo_split_static_library("ui") {
"views/frame/native_browser_frame_factory_ozone.cc",
]
} else {
@ -20,7 +20,7 @@ index 108b54de5e75..8ebd76fc4584 100644
deps += [ "//chrome/browser/ui/libgtkui" ]
}
diff --git chrome/browser/ui/cocoa/applescript/tab_applescript.mm chrome/browser/ui/cocoa/applescript/tab_applescript.mm
index f0a489a0c3af..1bd1259e47e3 100644
index 71abc5c50e42..20429f93760a 100644
--- chrome/browser/ui/cocoa/applescript/tab_applescript.mm
+++ chrome/browser/ui/cocoa/applescript/tab_applescript.mm
@@ -9,7 +9,7 @@
@ -43,7 +43,7 @@ index f0a489a0c3af..1bd1259e47e3 100644
using content::NavigationController;
using content::NavigationEntry;
using content::OpenURLParams;
@@ -233,11 +237,15 @@ void ResumeAppleEventAndSendReply(NSAppleEventManagerSuspensionID suspension_id,
@@ -234,11 +238,15 @@ void ResumeAppleEventAndSendReply(NSAppleEventManagerSuspensionID suspension_id,
- (void)handlesPrintScriptCommand:(NSScriptCommand*)command {
AppleScript::LogAppleScriptUMA(AppleScript::AppleScriptCommand::TAB_PRINT);
@ -262,10 +262,10 @@ index 7dd892feb181..daa097e62ba2 100644
#endif // COMPONENTS_PRINTING_COMMON_PRINT_MESSAGES_H_
diff --git components/printing/renderer/print_render_frame_helper.cc components/printing/renderer/print_render_frame_helper.cc
index 71731e98146e..10ce840c286a 100644
index 69b9a0e39f17..902f0b9e9fcb 100644
--- components/printing/renderer/print_render_frame_helper.cc
+++ components/printing/renderer/print_render_frame_helper.cc
@@ -341,7 +341,6 @@ bool PrintingNodeOrPdfFrame(const blink::WebLocalFrame* frame,
@@ -343,7 +343,6 @@ bool PrintingNodeOrPdfFrame(const blink::WebLocalFrame* frame,
return plugin && plugin->SupportsPaginatedPrint();
}
@ -273,7 +273,7 @@ index 71731e98146e..10ce840c286a 100644
// Returns true if the current destination printer is PRINT_TO_PDF.
bool IsPrintToPdfRequested(const base::DictionaryValue& job_settings) {
bool print_to_pdf = false;
@@ -363,7 +362,6 @@ bool PrintingFrameHasPageSizeStyle(blink::WebLocalFrame* frame,
@@ -365,7 +364,6 @@ bool PrintingFrameHasPageSizeStyle(blink::WebLocalFrame* frame,
}
return frame_has_custom_page_size_style;
}
@ -281,7 +281,7 @@ index 71731e98146e..10ce840c286a 100644
#if BUILDFLAG(ENABLE_PRINTING)
// Disable scaling when either:
@@ -418,7 +416,6 @@ MarginType GetMarginsForPdf(blink::WebLocalFrame* frame,
@@ -420,7 +418,6 @@ MarginType GetMarginsForPdf(blink::WebLocalFrame* frame,
: PRINTABLE_AREA_MARGINS;
}
@ -289,7 +289,7 @@ index 71731e98146e..10ce840c286a 100644
gfx::Size GetPdfPageSize(const gfx::Size& page_size, int dpi) {
return gfx::Size(ConvertUnit(page_size.width(), dpi, kPointsPerInch),
ConvertUnit(page_size.height(), dpi, kPointsPerInch));
@@ -465,7 +462,6 @@ blink::WebPrintScalingOption GetPrintScalingOption(
@@ -467,7 +464,6 @@ blink::WebPrintScalingOption GetPrintScalingOption(
}
return blink::kWebPrintScalingOptionFitToPrintableArea;
}
@ -297,7 +297,7 @@ index 71731e98146e..10ce840c286a 100644
// Helper function to scale and round an integer value with a double valued
// scaling.
@@ -1045,10 +1041,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
@@ -1090,10 +1086,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
return;
if (g_is_preview_enabled) {
@ -308,7 +308,7 @@ index 71731e98146e..10ce840c286a 100644
} else {
auto weak_this = weak_ptr_factory_.GetWeakPtr();
web_frame->DispatchBeforePrintEvent();
@@ -1076,10 +1070,10 @@ bool PrintRenderFrameHelper::OnMessageReceived(const IPC::Message& message) {
@@ -1121,10 +1115,10 @@ bool PrintRenderFrameHelper::OnMessageReceived(const IPC::Message& message) {
IPC_BEGIN_MESSAGE_MAP(PrintRenderFrameHelper, message)
IPC_MESSAGE_HANDLER(PrintMsg_PrintPages, OnPrintPages)
IPC_MESSAGE_HANDLER(PrintMsg_PrintForSystemDialog, OnPrintForSystemDialog)
@ -320,7 +320,7 @@ index 71731e98146e..10ce840c286a 100644
IPC_MESSAGE_HANDLER(PrintMsg_ClosePrintPreviewDialog,
OnClosePrintPreviewDialog)
#endif // BUILDFLAG(ENABLE_PRINT_PREVIEW)
@@ -1161,7 +1155,6 @@ void PrintRenderFrameHelper::UpdateFrameMarginsCssInfo(
@@ -1207,7 +1201,6 @@ void PrintRenderFrameHelper::UpdateFrameMarginsCssInfo(
ignore_css_margins_ = (margins_type != DEFAULT_MARGINS);
}
@ -328,7 +328,7 @@ index 71731e98146e..10ce840c286a 100644
void PrintRenderFrameHelper::OnPrintPreview(
const base::DictionaryValue& settings) {
if (ipc_nesting_level_ > 1)
@@ -1418,7 +1411,6 @@ int PrintRenderFrameHelper::GetFitToPageScaleFactor(
@@ -1464,7 +1457,6 @@ int PrintRenderFrameHelper::GetFitToPageScaleFactor(
printable_height / static_cast<double>(uniform_page_size.height);
return static_cast<int>(100.0f * std::min(scale_width, scale_height));
}
@ -336,7 +336,7 @@ index 71731e98146e..10ce840c286a 100644
void PrintRenderFrameHelper::OnPrintingDone(bool success) {
if (ipc_nesting_level_ > 1)
@@ -1433,7 +1425,6 @@ void PrintRenderFrameHelper::OnSetPrintingEnabled(bool enabled) {
@@ -1479,7 +1471,6 @@ void PrintRenderFrameHelper::OnSetPrintingEnabled(bool enabled) {
is_printing_enabled_ = enabled;
}
@ -344,7 +344,7 @@ index 71731e98146e..10ce840c286a 100644
void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
if (ipc_nesting_level_ > 1)
return;
@@ -1444,7 +1435,9 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
@@ -1490,7 +1481,9 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
// that instead.
auto plugin = delegate_->GetPdfElement(frame);
if (!plugin.IsNull()) {
@ -354,7 +354,7 @@ index 71731e98146e..10ce840c286a 100644
return;
}
print_preview_context_.InitWithFrame(frame);
@@ -1453,6 +1446,7 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
@@ -1499,6 +1492,7 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
: PRINT_PREVIEW_USER_INITIATED_ENTIRE_FRAME);
}
@ -362,7 +362,7 @@ index 71731e98146e..10ce840c286a 100644
void PrintRenderFrameHelper::OnClosePrintPreviewDialog() {
print_preview_context_.source_frame()->DispatchAfterPrintEvent();
}
@@ -1540,11 +1534,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
@@ -1586,11 +1580,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
print_node_in_progress_ = true;
@ -375,7 +375,7 @@ index 71731e98146e..10ce840c286a 100644
} else {
// Make a copy of the node, in case RenderView::OnContextMenuClosed() resets
// its |context_menu_node_|.
@@ -1620,13 +1612,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
@@ -1666,13 +1658,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
int cookie =
print_pages_params_ ? print_pages_params_->params.document_cookie : 0;
@ -389,7 +389,7 @@ index 71731e98146e..10ce840c286a 100644
switch (result) {
case OK:
break;
@@ -1641,7 +1631,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
@@ -1687,7 +1677,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
}
break;
@ -397,7 +397,7 @@ index 71731e98146e..10ce840c286a 100644
case FAIL_PREVIEW:
if (!is_print_ready_metafile_sent_) {
if (notify_browser_of_print_failure_) {
@@ -1659,7 +1648,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
@@ -1705,7 +1694,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
cookie, ids));
print_preview_context_.Failed(false);
break;
@ -405,7 +405,7 @@ index 71731e98146e..10ce840c286a 100644
}
prep_frame_view_.reset();
print_pages_params_.reset();
@@ -1832,7 +1820,6 @@ bool PrintRenderFrameHelper::CalculateNumberOfPages(blink::WebLocalFrame* frame,
@@ -1880,7 +1868,6 @@ bool PrintRenderFrameHelper::CalculateNumberOfPages(blink::WebLocalFrame* frame,
return true;
}
@ -413,7 +413,7 @@ index 71731e98146e..10ce840c286a 100644
bool PrintRenderFrameHelper::SetOptionsFromPdfDocument(
PrintHostMsg_SetOptionsFromDocument_Params* options) {
blink::WebLocalFrame* source_frame = print_preview_context_.source_frame();
@@ -1925,7 +1912,6 @@ bool PrintRenderFrameHelper::UpdatePrintSettings(
@@ -1973,7 +1960,6 @@ bool PrintRenderFrameHelper::UpdatePrintSettings(
print_preview_context_.set_error(PREVIEW_ERROR_INVALID_PRINTER_SETTINGS);
return false;
}
@ -421,7 +421,7 @@ index 71731e98146e..10ce840c286a 100644
void PrintRenderFrameHelper::GetPrintSettingsFromUser(
blink::WebLocalFrame* frame,
@@ -2074,7 +2060,6 @@ bool PrintRenderFrameHelper::CopyMetafileDataToReadOnlySharedMem(
@@ -2125,7 +2111,6 @@ bool PrintRenderFrameHelper::CopyMetafileDataToReadOnlySharedMem(
return true;
}
@ -429,7 +429,7 @@ index 71731e98146e..10ce840c286a 100644
void PrintRenderFrameHelper::ShowScriptedPrintPreview() {
if (is_scripted_preview_delayed_) {
is_scripted_preview_delayed_ = false;
@@ -2200,7 +2185,6 @@ bool PrintRenderFrameHelper::PreviewPageRendered(
@@ -2251,7 +2236,6 @@ bool PrintRenderFrameHelper::PreviewPageRendered(
Send(new PrintHostMsg_DidPreviewPage(routing_id(), preview_page_params, ids));
return true;
}
@ -438,7 +438,7 @@ index 71731e98146e..10ce840c286a 100644
PrintRenderFrameHelper::PrintPreviewContext::PrintPreviewContext() = default;
diff --git components/printing/renderer/print_render_frame_helper.h components/printing/renderer/print_render_frame_helper.h
index ff6423d51151..12d71ed042c6 100644
index 34690801675c..f2eed3ffbb24 100644
--- components/printing/renderer/print_render_frame_helper.h
+++ components/printing/renderer/print_render_frame_helper.h
@@ -150,10 +150,8 @@ class PrintRenderFrameHelper
@ -452,7 +452,7 @@ index ff6423d51151..12d71ed042c6 100644
};
// These values are persisted to logs. Entries should not be renumbered and
@@ -189,9 +187,9 @@ class PrintRenderFrameHelper
@@ -194,9 +192,9 @@ class PrintRenderFrameHelper
// Message handlers ---------------------------------------------------------
void OnPrintPages();
void OnPrintForSystemDialog();
@ -463,7 +463,7 @@ index ff6423d51151..12d71ed042c6 100644
void OnClosePrintPreviewDialog();
#endif // BUILDFLAG(ENABLE_PRINT_PREVIEW)
void OnPrintFrameContent(const PrintMsg_PrintFrame_Params& params);
@@ -207,7 +205,6 @@ class PrintRenderFrameHelper
@@ -212,7 +210,6 @@ class PrintRenderFrameHelper
// Update |ignore_css_margins_| based on settings.
void UpdateFrameMarginsCssInfo(const base::DictionaryValue& settings);
@ -471,7 +471,7 @@ index ff6423d51151..12d71ed042c6 100644
// Prepare frame for creating preview document.
void PrepareFrameForPreviewDocument();
@@ -227,7 +224,6 @@ class PrintRenderFrameHelper
@@ -232,7 +229,6 @@ class PrintRenderFrameHelper
// Helper method to calculate the scale factor for fit-to-page.
int GetFitToPageScaleFactor(const gfx::Rect& printable_area_in_points);
@ -479,7 +479,7 @@ index ff6423d51151..12d71ed042c6 100644
// Enable/Disable printing.
void OnSetPrintingEnabled(bool enabled);
@@ -255,7 +251,6 @@ class PrintRenderFrameHelper
@@ -259,7 +255,6 @@ class PrintRenderFrameHelper
const blink::WebNode& node,
int* number_of_pages);
@ -487,7 +487,7 @@ index ff6423d51151..12d71ed042c6 100644
// Set options for print preset from source PDF document.
bool SetOptionsFromPdfDocument(
PrintHostMsg_SetOptionsFromDocument_Params* options);
@@ -266,7 +261,6 @@ class PrintRenderFrameHelper
@@ -270,7 +265,6 @@ class PrintRenderFrameHelper
bool UpdatePrintSettings(blink::WebLocalFrame* frame,
const blink::WebNode& node,
const base::DictionaryValue& passed_job_settings);
@ -495,7 +495,7 @@ index ff6423d51151..12d71ed042c6 100644
// Get final print settings from the user.
// WARNING: |this| may be gone after this method returns.
@@ -348,7 +342,6 @@ class PrintRenderFrameHelper
@@ -352,7 +346,6 @@ class PrintRenderFrameHelper
bool IsScriptInitiatedPrintAllowed(blink::WebLocalFrame* frame,
bool user_initiated);
@ -503,7 +503,7 @@ index ff6423d51151..12d71ed042c6 100644
// Shows scripted print preview when options from plugin are available.
void ShowScriptedPrintPreview();
@@ -367,7 +360,6 @@ class PrintRenderFrameHelper
@@ -371,7 +364,6 @@ class PrintRenderFrameHelper
// Returns true if print preview should continue, false on failure.
bool PreviewPageRendered(int page_number,
std::unique_ptr<MetafileSkia> metafile);
@ -511,7 +511,7 @@ index ff6423d51151..12d71ed042c6 100644
void SetPrintPagesParams(const PrintMsg_PrintPages_Params& settings);
@@ -522,6 +514,7 @@ class PrintRenderFrameHelper
@@ -526,6 +518,7 @@ class PrintRenderFrameHelper
ScriptingThrottler scripting_throttler_;
bool print_node_in_progress_ = false;

View File

@ -1,8 +1,8 @@
diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc
index 71a367e03489..c1ba46ce1340 100644
index 3bcbb234522a..2d934b3d359c 100644
--- ui/base/resource/resource_bundle.cc
+++ ui/base/resource/resource_bundle.cc
@@ -737,6 +737,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
@@ -686,6 +686,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
: delegate_(delegate),
locale_resources_data_lock_(new base::Lock),
max_scale_factor_(SCALE_FACTOR_100P) {
@ -15,7 +15,7 @@ index 71a367e03489..c1ba46ce1340 100644
mangle_localized_strings_ = base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kMangleLocalizedStrings);
}
@@ -746,6 +752,11 @@ ResourceBundle::~ResourceBundle() {
@@ -695,6 +701,11 @@ ResourceBundle::~ResourceBundle() {
UnloadLocaleResources();
}
@ -28,7 +28,7 @@ index 71a367e03489..c1ba46ce1340 100644
void ResourceBundle::InitSharedInstance(Delegate* delegate) {
DCHECK(g_shared_instance_ == NULL) << "ResourceBundle initialized twice";
diff --git ui/base/resource/resource_bundle.h ui/base/resource/resource_bundle.h
index 422d84bc2664..669522fda74d 100644
index 667b5b1224a1..6edd94b51269 100644
--- ui/base/resource/resource_bundle.h
+++ ui/base/resource/resource_bundle.h
@@ -150,6 +150,11 @@ class UI_BASE_EXPORT ResourceBundle {

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
index 7d4ada0eb032..94067acb8358 100644
index 65c16ecd9485..9af4ada63f2e 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -727,10 +727,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const {
@@ -717,10 +717,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const {
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
DCHECK(GetBackgroundColor());
@ -19,7 +19,7 @@ index 7d4ada0eb032..94067acb8358 100644
}
void RenderWidgetHostViewAura::WindowTitleChanged() {
@@ -1995,6 +1997,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
@@ -1986,6 +1988,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
if (frame_sink_id_.is_valid())
window_->SetEmbedFrameSinkId(frame_sink_id_);

View File

@ -1,5 +1,5 @@
diff --git content/browser/appcache/appcache_internals_ui.cc content/browser/appcache/appcache_internals_ui.cc
index 6256cd8b4f9b..99fc65826165 100644
index 80198d013f0a..583edc8df4ed 100644
--- content/browser/appcache/appcache_internals_ui.cc
+++ content/browser/appcache/appcache_internals_ui.cc
@@ -378,8 +378,8 @@ void AppCacheInternalsUI::CreateProxyForPartition(
@ -14,10 +14,10 @@ index 6256cd8b4f9b..99fc65826165 100644
}
diff --git content/browser/background_fetch/background_fetch_service_impl.cc content/browser/background_fetch/background_fetch_service_impl.cc
index edfea31c08ae..483bd67b7d64 100644
index f19f58f3fc5a..8b4cdbf75c3f 100644
--- content/browser/background_fetch/background_fetch_service_impl.cc
+++ content/browser/background_fetch/background_fetch_service_impl.cc
@@ -44,8 +44,7 @@ void BackgroundFetchServiceImpl::CreateForWorker(
@@ -46,8 +46,7 @@ void BackgroundFetchServiceImpl::CreateForWorker(
FROM_HERE, {BrowserThread::IO},
base::BindOnce(
BackgroundFetchServiceImpl::CreateOnIoThread,
@ -27,7 +27,7 @@ index edfea31c08ae..483bd67b7d64 100644
->GetBackgroundFetchContext()),
origin, nullptr /* render_frame_host */, std::move(request)));
}
@@ -66,8 +65,7 @@ void BackgroundFetchServiceImpl::CreateForFrame(
@@ -68,8 +67,7 @@ void BackgroundFetchServiceImpl::CreateForFrame(
FROM_HERE, {BrowserThread::IO},
base::BindOnce(
BackgroundFetchServiceImpl::CreateOnIoThread,
@ -121,10 +121,10 @@ index 9797767f88ea..3da2c6d57154 100644
CHECK(GetUserData(kMojoWasInitialized))
<< "Attempting to destroy a BrowserContext that never called "
diff --git content/browser/devtools/protocol/network_handler.cc content/browser/devtools/protocol/network_handler.cc
index 1ba2c3016bf5..4f43c983e0bc 100644
index d6d45b0cf1e4..5054b812c980 100644
--- content/browser/devtools/protocol/network_handler.cc
+++ content/browser/devtools/protocol/network_handler.cc
@@ -930,8 +930,7 @@ class BackgroundSyncRestorer {
@@ -806,8 +806,7 @@ class BackgroundSyncRestorer {
scoped_refptr<ServiceWorkerDevToolsAgentHost> service_worker_host =
static_cast<ServiceWorkerDevToolsAgentHost*>(host.get());
scoped_refptr<BackgroundSyncContext> sync_context =
@ -135,7 +135,7 @@ index 1ba2c3016bf5..4f43c983e0bc 100644
FROM_HERE, {BrowserThread::IO},
base::BindOnce(
diff --git content/browser/devtools/protocol/service_worker_handler.cc content/browser/devtools/protocol/service_worker_handler.cc
index 0164e28d6f4c..2dc27ceb93e1 100644
index 37edf0b545aa..8a195c714c66 100644
--- content/browser/devtools/protocol/service_worker_handler.cc
+++ content/browser/devtools/protocol/service_worker_handler.cc
@@ -172,8 +172,7 @@ void ServiceWorkerHandler::SetRenderer(int process_host_id,
@ -171,10 +171,10 @@ index ec9ab86d0ca6..0fe5219f1e84 100644
base::WeakPtrFactory<ServiceWorkerHandler> weak_factory_;
diff --git content/browser/download/download_manager_impl.cc content/browser/download/download_manager_impl.cc
index a0220133cd28..02b8726dfbc1 100644
index 360d3f4cfa3f..e9b46ce4d493 100644
--- content/browser/download/download_manager_impl.cc
+++ content/browser/download/download_manager_impl.cc
@@ -89,9 +89,9 @@
@@ -88,9 +88,9 @@
namespace content {
namespace {
@ -187,7 +187,7 @@ index a0220133cd28..02b8726dfbc1 100644
DCHECK_CURRENTLY_ON(BrowserThread::UI);
SiteInstance* site_instance = nullptr;
@@ -101,8 +101,7 @@ StoragePartitionImpl* GetStoragePartition(BrowserContext* context,
@@ -100,8 +100,7 @@ StoragePartitionImpl* GetStoragePartition(BrowserContext* context,
if (render_frame_host_)
site_instance = render_frame_host_->GetSiteInstance();
}
@ -197,7 +197,7 @@ index a0220133cd28..02b8726dfbc1 100644
}
bool CanRequestURLFromRenderer(int render_process_id, GURL url) {
@@ -270,7 +269,7 @@ base::FilePath GetTemporaryDownloadDirectory() {
@@ -269,7 +268,7 @@ base::FilePath GetTemporaryDownloadDirectory() {
#endif
scoped_refptr<download::DownloadURLLoaderFactoryGetter>
@ -206,7 +206,7 @@ index a0220133cd28..02b8726dfbc1 100644
RenderFrameHost* rfh,
bool is_download) {
network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info;
@@ -287,7 +286,7 @@ CreateDownloadURLLoaderFactoryGetter(StoragePartitionImpl* storage_partition,
@@ -286,7 +285,7 @@ CreateDownloadURLLoaderFactoryGetter(StoragePartitionImpl* storage_partition,
}
}
return base::MakeRefCounted<NetworkDownloadURLLoaderFactoryGetter>(
@ -215,7 +215,7 @@ index a0220133cd28..02b8726dfbc1 100644
std::move(proxy_factory_ptr_info), std::move(proxy_factory_request));
}
@@ -1131,7 +1130,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete(
@@ -1181,7 +1180,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete(
tab_referrer_url = entry->GetReferrer().url;
}
}
@ -224,7 +224,7 @@ index a0220133cd28..02b8726dfbc1 100644
GetStoragePartition(browser_context_, render_process_id, render_frame_id);
in_progress_manager_->InterceptDownloadFromNavigation(
std::move(resource_request), render_process_id, render_frame_id, site_url,
@@ -1181,10 +1180,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete(
@@ -1231,10 +1230,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete(
base::MakeRefCounted<WebUIDownloadURLLoaderFactoryGetter>(
rfh, params->url());
} else if (rfh && params->url().SchemeIsFileSystem()) {
@ -237,7 +237,7 @@ index a0220133cd28..02b8726dfbc1 100644
std::string storage_domain;
auto* site_instance = rfh->GetSiteInstance();
if (site_instance) {
@@ -1199,10 +1196,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete(
@@ -1249,10 +1246,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete(
params->url(), rfh, /*is_navigation=*/false,
storage_partition->GetFileSystemContext(), storage_domain);
} else {
@ -251,10 +251,10 @@ index a0220133cd28..02b8726dfbc1 100644
CreateDownloadURLLoaderFactoryGetter(storage_partition, rfh, true);
}
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
index 54a2af4bb179..76f6a48bc046 100644
index 0a79585856ef..b4171c34ba0f 100644
--- content/browser/loader/navigation_url_loader_impl.cc
+++ content/browser/loader/navigation_url_loader_impl.cc
@@ -1226,7 +1226,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
@@ -1220,7 +1220,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
// path does as well for navigations.
bool has_plugin = PluginService::GetInstance()->GetPluginInfo(
-1 /* render_process_id */, -1 /* render_frame_id */, resource_context_,
@ -273,10 +273,10 @@ index 54a2af4bb179..76f6a48bc046 100644
signed_exchange_prefetch_metric_recorder =
partition->GetPrefetchURLLoaderService()
diff --git content/browser/payments/payment_app_installer.cc content/browser/payments/payment_app_installer.cc
index 9ec51d4332a2..589c4ef5cf8d 100644
index c2ee504cd0c7..422dc641d0a0 100644
--- content/browser/payments/payment_app_installer.cc
+++ content/browser/payments/payment_app_installer.cc
@@ -133,9 +133,9 @@ class SelfDeleteInstaller
@@ -132,9 +132,9 @@ class SelfDeleteInstaller
void SetPaymentAppIntoDatabase() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -289,10 +289,10 @@ index 9ec51d4332a2..589c4ef5cf8d 100644
partition->GetPaymentAppContext();
diff --git content/browser/payments/payment_app_provider_impl.cc content/browser/payments/payment_app_provider_impl.cc
index d3042e6a2fc7..07c8478b8ffb 100644
index b7d061534de6..34b301f53e28 100644
--- content/browser/payments/payment_app_provider_impl.cc
+++ content/browser/payments/payment_app_provider_impl.cc
@@ -373,10 +373,11 @@ void StartServiceWorkerForDispatch(BrowserContext* browser_context,
@@ -369,10 +369,11 @@ void StartServiceWorkerForDispatch(BrowserContext* browser_context,
ServiceWorkerStartCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -307,7 +307,7 @@ index d3042e6a2fc7..07c8478b8ffb 100644
base::PostTaskWithTraits(
FROM_HERE, {BrowserThread::IO},
@@ -450,8 +451,8 @@ void PaymentAppProviderImpl::GetAllPaymentApps(
@@ -446,8 +447,8 @@ void PaymentAppProviderImpl::GetAllPaymentApps(
GetAllPaymentAppsCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -319,10 +319,10 @@ index d3042e6a2fc7..07c8478b8ffb 100644
partition->GetPaymentAppContext();
diff --git content/browser/renderer_host/render_process_host_impl.cc content/browser/renderer_host/render_process_host_impl.cc
index 0a20b9c08fae..8e4e9121670d 100644
index 982f3318f459..7f0f4119f8c7 100644
--- content/browser/renderer_host/render_process_host_impl.cc
+++ content/browser/renderer_host/render_process_host_impl.cc
@@ -752,11 +752,10 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data,
@@ -749,11 +749,10 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data,
// Gets the correct render process to use for this SiteInstance.
RenderProcessHost* GetProcessHost(SiteInstance* site_instance,
bool is_for_guests_only) {
@ -338,7 +338,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
// Is this the default storage partition? If it isn't, then just give it its
// own non-shared process.
@@ -1486,7 +1485,7 @@ int RenderProcessHost::GetCurrentRenderProcessCountForTesting() {
@@ -1493,7 +1492,7 @@ int RenderProcessHost::GetCurrentRenderProcessCountForTesting() {
// static
RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost(
BrowserContext* browser_context,
@ -347,7 +347,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
SiteInstance* site_instance,
bool is_for_guests_only) {
if (g_render_process_host_factory_) {
@@ -1495,8 +1494,8 @@ RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost(
@@ -1502,8 +1501,8 @@ RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost(
}
if (!storage_partition_impl) {
@ -358,7 +358,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
}
// If we've made a StoragePartition for guests (e.g., for the <webview> tag),
// stash the Site URL on it. This way, when we start a service worker inside
@@ -1521,7 +1520,7 @@ const unsigned int RenderProcessHostImpl::kMaxFrameDepthForPriority =
@@ -1528,7 +1527,7 @@ const unsigned int RenderProcessHostImpl::kMaxFrameDepthForPriority =
RenderProcessHostImpl::RenderProcessHostImpl(
BrowserContext* browser_context,
@ -367,7 +367,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
bool is_for_guests_only)
: fast_shutdown_started_(false),
deleting_soon_(false),
@@ -1573,10 +1572,12 @@ RenderProcessHostImpl::RenderProcessHostImpl(
@@ -1579,10 +1578,12 @@ RenderProcessHostImpl::RenderProcessHostImpl(
permission_service_context_(new PermissionServiceContext(this)),
indexed_db_factory_(new IndexedDBDispatcherHost(
id_,
@ -382,7 +382,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
id_)),
channel_connected_(false),
sent_render_process_ready_(false),
@@ -1612,7 +1613,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
@@ -1618,7 +1619,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
}
push_messaging_manager_.reset(new PushMessagingManager(
@ -392,7 +392,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
AddObserver(indexed_db_factory_.get());
AddObserver(service_worker_dispatcher_host_.get());
@@ -1948,6 +1950,15 @@ void RenderProcessHostImpl::ResetChannelProxy() {
@@ -1945,6 +1947,15 @@ void RenderProcessHostImpl::ResetChannelProxy() {
void RenderProcessHostImpl::CreateMessageFilters() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -408,7 +408,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
MediaInternals* media_internals = MediaInternals::GetInstance();
// Add BrowserPluginMessageFilter to ensure it gets the first stab at messages
// from guests.
@@ -1986,10 +1997,10 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1983,10 +1994,10 @@ void RenderProcessHostImpl::CreateMessageFilters() {
ChromeBlobStorageContext::GetFor(browser_context);
resource_message_filter_ = new ResourceMessageFilter(
@ -421,7 +421,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
storage_partition_impl_->GetPrefetchURLLoaderService(),
BrowserContext::GetSharedCorsOriginAccessList(browser_context),
std::move(get_contexts_callback),
@@ -1999,8 +2010,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1996,8 +2007,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
AddFilter(
new MidiHost(GetID(), BrowserMainLoop::GetInstance()->midi_service()));
@ -431,7 +431,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
peer_connection_tracker_host_ = new PeerConnectionTrackerHost(GetID());
AddFilter(peer_connection_tracker_host_.get());
@@ -2017,10 +2027,6 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -2014,10 +2024,6 @@ void RenderProcessHostImpl::CreateMessageFilters() {
AddFilter(new TraceMessageFilter(GetID()));
AddFilter(new ResolveProxyMsgHelper(GetID()));
@ -442,7 +442,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
}
void RenderProcessHostImpl::BindCacheStorage(
@@ -2032,7 +2038,8 @@ void RenderProcessHostImpl::BindCacheStorage(
@@ -2029,7 +2035,8 @@ void RenderProcessHostImpl::BindCacheStorage(
cache_storage_dispatcher_host_ =
base::MakeRefCounted<CacheStorageDispatcherHost>();
cache_storage_dispatcher_host_->Init(
@ -452,7 +452,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
}
// Send the binding to IO thread, because Cache Storage handles Mojo IPC on IO
// thread entirely.
@@ -2217,7 +2224,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
@@ -2209,7 +2216,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
registry->AddInterface(base::BindRepeating(
&CodeCacheHostImpl::Create, GetID(),
@ -462,7 +462,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
base::RetainedRef(
storage_partition_impl_->GetGeneratedCodeCacheContext())));
@@ -2228,7 +2236,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
@@ -2220,7 +2228,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
registry->AddInterface(base::BindRepeating(
&AppCacheDispatcherHost::Create,
@ -472,7 +472,7 @@ index 0a20b9c08fae..8e4e9121670d 100644
GetID()));
AddUIThreadInterface(
@@ -2273,6 +2282,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
@@ -2265,6 +2274,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
plugin_registry_.reset(
new PluginRegistryImpl(GetBrowserContext()->GetResourceContext()));
}
@ -483,10 +483,10 @@ index 0a20b9c08fae..8e4e9121670d 100644
&PluginRegistryImpl::Bind, base::Unretained(plugin_registry_.get())));
#endif
diff --git content/browser/renderer_host/render_process_host_impl.h content/browser/renderer_host/render_process_host_impl.h
index f11aa8252ea1..029f9672db2a 100644
index b07197ec6ca4..bcaa9b6b7e06 100644
--- content/browser/renderer_host/render_process_host_impl.h
+++ content/browser/renderer_host/render_process_host_impl.h
@@ -100,7 +100,6 @@ class ServiceWorkerDispatcherHost;
@@ -96,7 +96,6 @@ class ServiceWorkerDispatcherHost;
class SiteInstance;
class SiteInstanceImpl;
class StoragePartition;
@ -494,7 +494,7 @@ index f11aa8252ea1..029f9672db2a 100644
struct ChildProcessTerminationInfo;
typedef base::Thread* (*RendererMainThreadFactoryFunction)(
@@ -143,7 +142,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
@@ -138,7 +137,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
// null.
static RenderProcessHost* CreateRenderProcessHost(
BrowserContext* browser_context,
@ -503,7 +503,7 @@ index f11aa8252ea1..029f9672db2a 100644
SiteInstance* site_instance,
bool is_for_guests_only);
@@ -491,7 +490,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
@@ -488,7 +487,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
// Use CreateRenderProcessHost() instead of calling this constructor
// directly.
RenderProcessHostImpl(BrowserContext* browser_context,
@ -512,7 +512,7 @@ index f11aa8252ea1..029f9672db2a 100644
bool is_for_guests_only);
// Initializes a new IPC::ChannelProxy in |channel_|, which will be connected
@@ -754,10 +753,10 @@ class CONTENT_EXPORT RenderProcessHostImpl
@@ -745,10 +744,10 @@ class CONTENT_EXPORT RenderProcessHostImpl
// called.
int instance_id_ = 1;
@ -583,10 +583,10 @@ index 454febaba66b..90d430bb95d3 100644
std::move(client), creation_context_type,
blink::MessagePortChannel(std::move(message_port)),
diff --git content/browser/shared_worker/shared_worker_service_impl.cc content/browser/shared_worker/shared_worker_service_impl.cc
index 04d1913121ec..e2e3afce5e04 100644
index c29c9585d775..3bb2296211fa 100644
--- content/browser/shared_worker/shared_worker_service_impl.cc
+++ content/browser/shared_worker/shared_worker_service_impl.cc
@@ -493,7 +493,8 @@ void SharedWorkerServiceImpl::CreateWorker(
@@ -491,7 +491,8 @@ void SharedWorkerServiceImpl::CreateWorker(
FROM_HERE, {BrowserThread::IO},
base::BindOnce(
&CreateScriptLoaderOnIO,
@ -597,10 +597,10 @@ index 04d1913121ec..e2e3afce5e04 100644
std::move(subresource_loader_factories), service_worker_context_,
appcache_handle_core,
diff --git content/browser/storage_partition_impl.h content/browser/storage_partition_impl.h
index 78110a30b23a..f387d99af595 100644
index 936ac4517ba0..0f410e77d8ee 100644
--- content/browser/storage_partition_impl.h
+++ content/browser/storage_partition_impl.h
@@ -97,7 +97,7 @@ class CONTENT_EXPORT StoragePartitionImpl
@@ -96,7 +96,7 @@ class CONTENT_EXPORT StoragePartitionImpl
storage::FileSystemContext* GetFileSystemContext() override;
storage::DatabaseTracker* GetDatabaseTracker() override;
DOMStorageContextWrapper* GetDOMStorageContext() override;
@ -609,7 +609,7 @@ index 78110a30b23a..f387d99af595 100644
IndexedDBContextImpl* GetIndexedDBContext() override;
CacheStorageContextImpl* GetCacheStorageContext() override;
ServiceWorkerContextWrapper* GetServiceWorkerContext() override;
@@ -138,14 +138,14 @@ class CONTENT_EXPORT StoragePartitionImpl
@@ -137,14 +137,14 @@ class CONTENT_EXPORT StoragePartitionImpl
void FlushNetworkInterfaceForTesting() override;
void WaitForDeletionTasksForTesting() override;
@ -632,7 +632,7 @@ index 78110a30b23a..f387d99af595 100644
// blink::mojom::StoragePartitionService interface.
void OpenLocalStorage(const url::Origin& origin,
@@ -159,18 +159,19 @@ class CONTENT_EXPORT StoragePartitionImpl
@@ -158,18 +158,19 @@ class CONTENT_EXPORT StoragePartitionImpl
const std::vector<url::Origin>& origins,
OnCanSendReportingReportsCallback callback) override;
@ -656,7 +656,7 @@ index 78110a30b23a..f387d99af595 100644
auto& bindings_for_testing() { return bindings_; }
@@ -181,10 +182,11 @@ class CONTENT_EXPORT StoragePartitionImpl
@@ -180,10 +181,11 @@ class CONTENT_EXPORT StoragePartitionImpl
// one must use the "chrome-guest://blahblah" site URL to ensure that the
// service worker stays in this StoragePartition. This is an empty GURL if
// this StoragePartition is not for guests.
@ -731,7 +731,7 @@ index 63fe0125ca1c..698378600723 100644
RenderFrameHost* render_frame_host_;
diff --git content/public/browser/browser_context.h content/public/browser/browser_context.h
index e26a929290a9..cf6f5b3b41ec 100644
index c83943e3a2b7..0510eb57151d 100644
--- content/public/browser/browser_context.h
+++ content/public/browser/browser_context.h
@@ -238,6 +238,8 @@ class CONTENT_EXPORT BrowserContext : public base::SupportsUserData {
@ -759,7 +759,7 @@ index e26a929290a9..cf6f5b3b41ec 100644
std::map<std::string, service_manager::EmbeddedServiceInfo>;
diff --git content/public/browser/storage_partition.h content/public/browser/storage_partition.h
index f55e28d79cda..297541d0a99a 100644
index 713e4ae698c7..6a75d629e268 100644
--- content/public/browser/storage_partition.h
+++ content/public/browser/storage_partition.h
@@ -14,8 +14,10 @@
@ -773,9 +773,9 @@ index f55e28d79cda..297541d0a99a 100644
class GURL;
@@ -60,12 +62,28 @@ class ServiceWorkerContext;
@@ -59,12 +61,28 @@ class PlatformNotificationContext;
class ServiceWorkerContext;
class SharedWorkerService;
class WebPackageContext;
+class BackgroundFetchContext;
+class BackgroundSyncContext;
@ -802,7 +802,7 @@ index f55e28d79cda..297541d0a99a 100644
// Defines what persistent state a child process can access.
//
// The StoragePartition defines the view each child process has of the
@@ -103,6 +121,7 @@ class CONTENT_EXPORT StoragePartition {
@@ -102,6 +120,7 @@ class CONTENT_EXPORT StoragePartition {
virtual storage::FileSystemContext* GetFileSystemContext() = 0;
virtual storage::DatabaseTracker* GetDatabaseTracker() = 0;
virtual DOMStorageContext* GetDOMStorageContext() = 0;
@ -810,7 +810,7 @@ index f55e28d79cda..297541d0a99a 100644
virtual IndexedDBContext* GetIndexedDBContext() = 0;
virtual ServiceWorkerContext* GetServiceWorkerContext() = 0;
virtual SharedWorkerService* GetSharedWorkerService() = 0;
@@ -229,6 +248,26 @@ class CONTENT_EXPORT StoragePartition {
@@ -232,6 +251,26 @@ class CONTENT_EXPORT StoragePartition {
// Wait until all deletions tasks are finished. For test use only.
virtual void WaitForDeletionTasksForTesting() = 0;
@ -838,10 +838,10 @@ index f55e28d79cda..297541d0a99a 100644
virtual ~StoragePartition() {}
};
diff --git storage/browser/database/database_tracker.cc storage/browser/database/database_tracker.cc
index b0cf62a1d886..051bef980eb3 100644
index e4a8bbd66018..c72412a29a75 100644
--- storage/browser/database/database_tracker.cc
+++ storage/browser/database/database_tracker.cc
@@ -479,7 +479,7 @@ bool DatabaseTracker::LazyInit() {
@@ -502,7 +502,7 @@ bool DatabaseTracker::LazyInit() {
meta_table_.reset(new sql::MetaTable());
is_initialized_ =

View File

@ -1,5 +1,5 @@
diff --git ui/base/dragdrop/os_exchange_data_provider_aurax11.cc ui/base/dragdrop/os_exchange_data_provider_aurax11.cc
index 6666737fd2da..b4c294733f5b 100644
index 144c8babf500..db03ed917279 100644
--- ui/base/dragdrop/os_exchange_data_provider_aurax11.cc
+++ ui/base/dragdrop/os_exchange_data_provider_aurax11.cc
@@ -141,7 +141,8 @@ void OSExchangeDataProviderAuraX11::SetURL(const GURL& url,

View File

@ -39,10 +39,10 @@ index a19e6e937f87..817b7eada253 100644
virtual void MenuWillShow() {}
diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc
index deada9af341b..d68300e5ab96 100644
index 2b4458cf4f6a..8442cdfbf9a0 100644
--- ui/gfx/render_text.cc
+++ ui/gfx/render_text.cc
@@ -513,6 +513,14 @@ void RenderText::SetElideBehavior(ElideBehavior elide_behavior) {
@@ -509,6 +509,14 @@ void RenderText::SetElideBehavior(ElideBehavior elide_behavior) {
}
}
@ -57,7 +57,7 @@ index deada9af341b..d68300e5ab96 100644
void RenderText::SetDisplayRect(const Rect& r) {
if (r != display_rect_) {
display_rect_ = r;
@@ -1507,6 +1515,19 @@ void RenderText::OnTextAttributeChanged() {
@@ -1503,6 +1511,19 @@ void RenderText::OnTextAttributeChanged() {
if (!multiline_ && replace_newline_chars_with_symbols_)
base::ReplaceChars(layout_text_, kNewline, kNewlineSymbol, &layout_text_);
@ -102,10 +102,10 @@ index 50eaca5b18eb..038d866fd8d1 100644
};
diff --git ui/views/animation/ink_drop_host_view.h ui/views/animation/ink_drop_host_view.h
index 14929b2564b7..339b370199bd 100644
index d3a3aa6c2859..b3203f9e38c2 100644
--- ui/views/animation/ink_drop_host_view.h
+++ ui/views/animation/ink_drop_host_view.h
@@ -84,6 +84,8 @@ class VIEWS_EXPORT InkDropHostView : public View, public InkDropHost {
@@ -115,6 +115,8 @@ class VIEWS_EXPORT InkDropHostView : public View {
// them.
void AnimateInkDrop(InkDropState state, const ui::LocatedEvent* event);
@ -115,10 +115,10 @@ index 14929b2564b7..339b370199bd 100644
// Size used for the default SquareInkDropRipple.
static constexpr int kDefaultInkDropSize = 24;
diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc
index 60907bd19cd7..c1b4bba6177b 100644
index f9b069b1d9b9..1d79949c62ae 100644
--- ui/views/controls/button/label_button.cc
+++ ui/views/controls/button/label_button.cc
@@ -187,6 +187,7 @@ gfx::Size LabelButton::CalculatePreferredSize() const {
@@ -191,6 +191,7 @@ gfx::Size LabelButton::CalculatePreferredSize() const {
Label label(GetText(), {label_->font_list()});
label.SetLineHeight(label_->line_height());
label.SetShadows(label_->shadows());
@ -126,7 +126,7 @@ index 60907bd19cd7..c1b4bba6177b 100644
if (style_ == STYLE_BUTTON) {
// Some text appears wider when rendered normally than when rendered bold.
@@ -405,6 +406,12 @@ std::unique_ptr<views::InkDropHighlight> LabelButton::CreateInkDropHighlight()
@@ -417,6 +418,12 @@ std::unique_ptr<views::InkDropHighlight> LabelButton::CreateInkDropHighlight()
gfx::RectF(image()->GetMirroredBounds()).CenterPoint());
}
@ -140,10 +140,10 @@ index 60907bd19cd7..c1b4bba6177b 100644
const gfx::Size previous_image_size(image_->GetPreferredSize());
UpdateImage();
diff --git ui/views/controls/button/label_button.h ui/views/controls/button/label_button.h
index b2323dae3d9e..4b9546ca1a61 100644
index 1ff051ab8634..6182b45e3df5 100644
--- ui/views/controls/button/label_button.h
+++ ui/views/controls/button/label_button.h
@@ -102,6 +102,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
@@ -99,6 +99,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
std::unique_ptr<InkDropRipple> CreateInkDropRipple() const override;
std::unique_ptr<InkDropHighlight> CreateInkDropHighlight() const override;
@ -154,10 +154,10 @@ index b2323dae3d9e..4b9546ca1a61 100644
ImageView* image() const { return image_; }
Label* label() const;
diff --git ui/views/controls/button/menu_button.cc ui/views/controls/button/menu_button.cc
index 7f38894e57c6..e5b073877ff0 100644
index 27aed587e9a6..ae8304a04919 100644
--- ui/views/controls/button/menu_button.cc
+++ ui/views/controls/button/menu_button.cc
@@ -178,7 +178,7 @@ bool MenuButton::IsTriggerableEventType(const ui::Event& event) {
@@ -179,7 +179,7 @@ bool MenuButton::IsTriggerableEventType(const ui::Event& event) {
gfx::Size MenuButton::CalculatePreferredSize() const {
gfx::Size prefsize = LabelButton::CalculatePreferredSize();
if (show_menu_marker_) {
@ -166,7 +166,7 @@ index 7f38894e57c6..e5b073877ff0 100644
kMenuMarkerPaddingRight,
0);
}
@@ -310,7 +310,7 @@ gfx::Rect MenuButton::GetChildAreaBounds() {
@@ -311,7 +311,7 @@ gfx::Rect MenuButton::GetChildAreaBounds() {
gfx::Size s = size();
if (show_menu_marker_) {
@ -175,7 +175,7 @@ index 7f38894e57c6..e5b073877ff0 100644
kMenuMarkerPaddingRight);
}
@@ -408,4 +408,10 @@ int MenuButton::GetMaximumScreenXCoordinate() {
@@ -409,4 +409,10 @@ int MenuButton::GetMaximumScreenXCoordinate() {
return monitor_bounds.right() - 1;
}
@ -295,10 +295,10 @@ index 9c78b30ab3a0..999eb4048f5c 100644
std::unique_ptr<SelectionController> selection_controller_;
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
index 5a2af4b405ec..9cec0cc9b33b 100644
index 9e56ca54813b..f4100b838507 100644
--- ui/views/controls/menu/menu_controller.cc
+++ ui/views/controls/menu/menu_controller.cc
@@ -2439,8 +2439,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
@@ -2451,8 +2451,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
void MenuController::OpenSubmenuChangeSelectionIfCan() {
MenuItemView* item = pending_state_.item;
@ -313,7 +313,7 @@ index 5a2af4b405ec..9cec0cc9b33b 100644
MenuItemView* to_select = NULL;
if (item->GetSubmenu()->GetMenuItemCount() > 0)
to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN);
@@ -2455,8 +2460,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
@@ -2467,8 +2472,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
void MenuController::CloseSubmenu() {
MenuItemView* item = state_.item;
DCHECK(item);
@ -326,10 +326,10 @@ index 5a2af4b405ec..9cec0cc9b33b 100644
SetSelection(item, SELECTION_UPDATE_IMMEDIATELY);
else if (item->GetParentMenuItem()->GetParentMenuItem())
diff --git ui/views/controls/menu/menu_delegate.h ui/views/controls/menu/menu_delegate.h
index 706605182f9a..e97d0495bc72 100644
index 7544162bd986..450b0aee5f1e 100644
--- ui/views/controls/menu/menu_delegate.h
+++ ui/views/controls/menu/menu_delegate.h
@@ -81,6 +81,22 @@ class VIEWS_EXPORT MenuDelegate {
@@ -82,6 +82,22 @@ class VIEWS_EXPORT MenuDelegate {
// parts of |style| or leave it unmodified.
virtual void GetLabelStyle(int id, LabelStyle* style) const;
@ -352,7 +352,7 @@ index 706605182f9a..e97d0495bc72 100644
// The tooltip shown for the menu item. This is invoked when the user
// hovers over the item, and no tooltip text has been set for that item.
virtual base::string16 GetTooltipText(int id,
@@ -213,6 +229,11 @@ class VIEWS_EXPORT MenuDelegate {
@@ -214,6 +230,11 @@ class VIEWS_EXPORT MenuDelegate {
bool* has_mnemonics,
MenuButton** button);
@ -504,10 +504,10 @@ index e52edfe5edd7..ab23f3df914e 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 ecbd5d773b9e..6c9d256b2143 100644
index 242725445a82..e766e9b93956 100644
--- ui/views/controls/menu/menu_scroll_view_container.cc
+++ ui/views/controls/menu/menu_scroll_view_container.cc
@@ -183,6 +183,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
@@ -182,6 +182,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
scroll_view_ = new MenuScrollView(content_view);
AddChildView(scroll_view_);

View File

@ -0,0 +1,49 @@
diff --git ui/views/accessibility/ax_virtual_view.cc ui/views/accessibility/ax_virtual_view.cc
index f2ad0e75..0660d4d 100644
--- ui/views/accessibility/ax_virtual_view.cc
+++ ui/views/accessibility/ax_virtual_view.cc
@@ -19,13 +19,6 @@
namespace views {
-// GetClassName will be mapped to GetClassNameW if windows.h has been included
-// and the UNICODE macro has been defined. We need to undef it to use it in this
-// file.
-#ifdef GetClassName
-#undef GetClassName
-#endif
-
// static
const char AXVirtualView::kViewClassName[] = "AXVirtualView";
@@ -34,7 +27,7 @@
ax_platform_node_ = ui::AXPlatformNode::Create(this);
DCHECK(ax_platform_node_);
custom_data_.AddStringAttribute(ax::mojom::StringAttribute::kClassName,
- GetClassName());
+ GetViewClassName());
}
AXVirtualView::~AXVirtualView() {
@@ -148,7 +141,7 @@
: -1;
}
-const char* AXVirtualView::GetClassName() const {
+const char* AXVirtualView::GetViewClassName() const {
return kViewClassName;
}
diff --git ui/views/accessibility/ax_virtual_view.h ui/views/accessibility/ax_virtual_view.h
index c18eab3..c7e08d3 100644
--- ui/views/accessibility/ax_virtual_view.h
+++ ui/views/accessibility/ax_virtual_view.h
@@ -98,7 +98,7 @@
// Other methods.
//
- const char* GetClassName() const;
+ const char* GetViewClassName() const;
gfx::NativeViewAccessible GetNativeObject() const;
void NotifyAccessibilityEvent(ax::mojom::Event event_type);
// Allows clients to modify the AXNodeData for this virtual view.

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
index e155153ec1ee..47b2ac1b3968 100644
index 986a78be69ae..b1958015b254 100644
--- content/browser/renderer_host/render_widget_host_view_base.cc
+++ content/browser/renderer_host/render_widget_host_view_base.cc
@@ -575,6 +575,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const {
@@ -562,6 +562,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const {
return screen_info.device_scale_factor;
}
@ -18,10 +18,10 @@ index e155153ec1ee..47b2ac1b3968 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 becc63fa3a8a..fb5822319d62 100644
index 0dd9895e0fbf..9dcd68aa6a8d 100644
--- content/browser/renderer_host/render_widget_host_view_base.h
+++ content/browser/renderer_host/render_widget_host_view_base.h
@@ -83,6 +83,7 @@ class CursorManager;
@@ -84,6 +84,7 @@ class CursorManager;
class MouseWheelPhaseHandler;
class RenderWidgetHostImpl;
class RenderWidgetHostViewBaseObserver;
@ -39,7 +39,7 @@ index becc63fa3a8a..fb5822319d62 100644
// Returns the focused RenderWidgetHost inside this |view|'s RWH.
RenderWidgetHostImpl* GetFocusedWidget() const;
@@ -142,6 +146,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -139,6 +143,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
void DisableAutoResize(const gfx::Size& new_size) override;
bool IsScrollOffsetAtTop() const override;
float GetDeviceScaleFactor() const final;
@ -48,7 +48,7 @@ index becc63fa3a8a..fb5822319d62 100644
TouchSelectionControllerClientManager*
GetTouchSelectionControllerClientManager() override;
@@ -494,6 +500,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -493,6 +499,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 becc63fa3a8a..fb5822319d62 100644
// Sets the cursor for this view to the one associated with the specified
// cursor_type.
virtual void UpdateCursor(const WebCursor& cursor) = 0;
@@ -683,6 +695,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -682,6 +694,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
bool is_currently_scrolling_viewport_ = false;
@ -73,7 +73,7 @@ index becc63fa3a8a..fb5822319d62 100644
void SynchronizeVisualProperties();
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 caea824f8743..8573ab3bb9e9 100644
index f0e7d2d03ea6..ede1eb76a087 100644
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
@@ -32,6 +32,10 @@
@ -103,10 +103,10 @@ index caea824f8743..8573ab3bb9e9 100644
// TODO(wjmaclean): can host_ ever be null?
if (host_ && set_focus_on_mouse_down_or_key_event_) {
diff --git content/public/browser/render_widget_host_view.h content/public/browser/render_widget_host_view.h
index c662115a7177..1a5ca9a0b140 100644
index b691dd6de206..3235d29138a6 100644
--- content/public/browser/render_widget_host_view.h
+++ content/public/browser/render_widget_host_view.h
@@ -257,6 +257,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
@@ -247,6 +247,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
// This must always return the same device scale factor as GetScreenInfo.
virtual float GetDeviceScaleFactor() const = 0;
@ -135,10 +135,10 @@ index f772f64d656e..7d13f9f81b6c 100644
return host ? host->GetAcceleratedWidget() : NULL;
}
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index 9ab47c863902..9d9bfecd20ba 100644
index a039a7abe57b..17a006e3025f 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -87,6 +87,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
@@ -89,6 +89,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
should_animate_window_close_(false),
pending_close_(false),
has_non_client_view_(false),
@ -146,7 +146,7 @@ index 9ab47c863902..9d9bfecd20ba 100644
tooltip_(NULL) {
}
@@ -121,8 +122,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
@@ -123,8 +124,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
native_widget_delegate_);
HWND parent_hwnd = NULL;
@ -179,10 +179,10 @@ index 9ab47c863902..9d9bfecd20ba 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 364d6df184c5..0d32a4579c87 100644
index bd8593d675d1..dde9c19f91f2 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
@@ -285,6 +285,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
@@ -286,6 +286,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
// True if the window should have the frame removed.
bool remove_standard_frame_;
@ -194,7 +194,7 @@ index 364d6df184c5..0d32a4579c87 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 53e0077dca31..9eb853fd3532 100644
index 0cbcfa05c236..abc7b4806fa9 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
@@ -145,6 +145,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
@ -222,7 +222,7 @@ index 53e0077dca31..9eb853fd3532 100644
return bounds_in_pixels_;
}
@@ -503,7 +507,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
@@ -502,7 +506,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
// Actually free our native resources.
if (ui::PlatformEventSource::GetInstance())
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
@ -232,7 +232,7 @@ index 53e0077dca31..9eb853fd3532 100644
xwindow_ = x11::None;
desktop_native_widget_aura_->OnHostClosed();
@@ -645,6 +650,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
@@ -644,6 +649,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
}
gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const {
@ -241,7 +241,7 @@ index 53e0077dca31..9eb853fd3532 100644
return ToDIPRect(bounds_in_pixels_);
}
@@ -1272,6 +1279,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels(
@@ -1273,6 +1280,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels(
}
gfx::Point DesktopWindowTreeHostX11::GetLocationOnScreenInPixels() const {
@ -250,7 +250,7 @@ index 53e0077dca31..9eb853fd3532 100644
return bounds_in_pixels_.origin();
}
@@ -1412,7 +1421,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
@@ -1413,7 +1422,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
XAtom window_type;
switch (params.type) {
case Widget::InitParams::TYPE_MENU:
@ -258,7 +258,7 @@ index 53e0077dca31..9eb853fd3532 100644
window_type = gfx::GetAtom("_NET_WM_WINDOW_TYPE_MENU");
break;
case Widget::InitParams::TYPE_TOOLTIP:
@@ -1468,9 +1476,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
@@ -1469,9 +1477,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
attribute_mask |= CWBorderPixel;
swa.border_pixel = 0;
@ -275,7 +275,7 @@ index 53e0077dca31..9eb853fd3532 100644
bounds_in_pixels_.y(), bounds_in_pixels_.width(),
bounds_in_pixels_.height(),
0, // border width
@@ -2083,6 +2097,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
@@ -2084,6 +2098,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
}
break;
}
@ -287,7 +287,7 @@ index 53e0077dca31..9eb853fd3532 100644
case x11::FocusOut:
OnFocusEvent(xev->type == x11::FocusIn, event->xfocus.mode,
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
index 4ae19b04ef8a..6e58f00808db 100644
index d147f4728780..2d0a00c4d5d3 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
@@ -91,6 +91,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
@ -303,7 +303,7 @@ index 4ae19b04ef8a..6e58f00808db 100644
protected:
// Overridden from DesktopWindowTreeHost:
void Init(const Widget::InitParams& params) override;
@@ -324,6 +330,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
@@ -326,6 +332,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
// The bounds of |xwindow_|.
gfx::Rect bounds_in_pixels_;
@ -313,7 +313,7 @@ index 4ae19b04ef8a..6e58f00808db 100644
// Whenever the bounds are set, we keep the previous set of bounds around so
// we can have a better chance of getting the real
// |restored_bounds_in_pixels_|. Window managers tend to send a Configure
@@ -364,6 +373,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
@@ -366,6 +375,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
// Whether we used an ARGB visual for our window.
bool use_argb_visual_;
@ -324,7 +324,7 @@ index 4ae19b04ef8a..6e58f00808db 100644
DesktopDragDropClientAuraX11* drag_drop_client_;
std::unique_ptr<ui::EventHandler> x11_non_client_event_filter_;
@@ -453,6 +466,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
@@ -455,6 +468,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
uint32_t modal_dialog_counter_;
@ -387,10 +387,10 @@ index 0353201e7933..557446296e18 100644
}
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
index 2efbe5c4d899..de6ff73cf676 100644
index e7116c1b21d8..2d654367a1a6 100644
--- ui/views/widget/widget.h
+++ ui/views/widget/widget.h
@@ -250,6 +250,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -240,6 +240,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// Whether the widget should be maximized or minimized.
ui::WindowShowState show_state;
gfx::NativeView parent;
@ -427,10 +427,10 @@ index c7296fed234d..244d0034a1c4 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 9afbcf6ca30a..76729a6357be 100644
index 0207ba29accd..e543300a6993 100644
--- ui/views/win/hwnd_message_handler.cc
+++ ui/views/win/hwnd_message_handler.cc
@@ -2872,10 +2872,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -2888,10 +2888,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
} else if (event.type() == ui::ET_MOUSEWHEEL) {
ui::MouseWheelEvent mouse_wheel_event(msg);
// Reroute the mouse wheel to the window under the pointer if applicable.

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/vr/BUILD.gn chrome/browser/vr/BUILD.gn
index cd0f342dfd04..342afb92fd51 100644
index 8807045a1241..84c2d8e381ff 100644
--- chrome/browser/vr/BUILD.gn
+++ chrome/browser/vr/BUILD.gn
@@ -406,6 +406,7 @@ source_set("vr_base") {

View File

@ -1,8 +1,8 @@
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
index 8ce6d0d2f8ca..79927c392d2a 100644
index f37cfab00c89..cb5365843acc 100644
--- content/browser/web_contents/web_contents_impl.cc
+++ content/browser/web_contents/web_contents_impl.cc
@@ -1992,21 +1992,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -2004,21 +2004,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
std::string unique_name;
frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
@ -45,7 +45,7 @@ index 8ce6d0d2f8ca..79927c392d2a 100644
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -2701,6 +2710,15 @@ void WebContentsImpl::CreateNewWindow(
@@ -2712,6 +2721,15 @@ void WebContentsImpl::CreateNewWindow(
create_params.renderer_initiated_creation =
main_frame_route_id != MSG_ROUTING_NONE;
@ -61,7 +61,7 @@ index 8ce6d0d2f8ca..79927c392d2a 100644
std::unique_ptr<WebContents> new_contents;
if (!is_guest) {
create_params.context = view_->GetNativeView();
@@ -2733,7 +2751,7 @@ void WebContentsImpl::CreateNewWindow(
@@ -2744,7 +2762,7 @@ void WebContentsImpl::CreateNewWindow(
// TODO(brettw): It seems bogus that we have to call this function on the
// newly created object and give it one of its own member variables.
new_view->CreateViewForWidget(
@ -70,7 +70,7 @@ index 8ce6d0d2f8ca..79927c392d2a 100644
}
// Save the created window associated with the route so we can show it
// later.
@@ -6170,7 +6188,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
@@ -6193,7 +6211,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager(
RenderViewHost* render_view_host) {
RenderWidgetHostViewBase* rwh_view =
@ -95,7 +95,7 @@ index df508da0aef2..f6f4bf42b108 100644
WebContents::CreateParams::CreateParams(const CreateParams& other) = default;
diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h
index f26f7e501663..1b773a654118 100644
index 6a3dfc302af9..4c50d4d18a10 100644
--- content/public/browser/web_contents.h
+++ content/public/browser/web_contents.h
@@ -74,9 +74,11 @@ class BrowserPluginGuestDelegate;
@ -122,7 +122,7 @@ index f26f7e501663..1b773a654118 100644
// the value that'll be returned by GetLastActiveTime(). If this is left
// default initialized then the value is not passed on to the WebContents
diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h
index df6045dc917c..ca0b7812eba9 100644
index b26e4ea873f6..d07e068233b2 100644
--- content/public/browser/web_contents_delegate.h
+++ content/public/browser/web_contents_delegate.h
@@ -54,10 +54,12 @@ class FileSelectListener;
@ -138,7 +138,7 @@ index df6045dc917c..ca0b7812eba9 100644
struct ContextMenuParams;
struct DropData;
struct NativeWebKeyboardEvent;
@@ -316,6 +318,14 @@ class CONTENT_EXPORT WebContentsDelegate {
@@ -318,6 +320,14 @@ class CONTENT_EXPORT WebContentsDelegate {
const std::string& partition_id,
SessionStorageNamespace* session_storage_namespace);

View File

@ -10,10 +10,10 @@ index 92e9cb865204..4628c56882b4 100644
+ GetPlugins(bool refresh, bool is_main_frame, url.mojom.Origin main_frame_origin) => (array<PluginInfo> plugins);
};
diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h
index 2f57bdd1ef3e..7910c9c12937 100644
index b9acf7744b61..ec1e92f26560 100644
--- third_party/blink/public/platform/platform.h
+++ third_party/blink/public/platform/platform.h
@@ -766,6 +766,11 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -769,6 +769,11 @@ class BLINK_PLATFORM_EXPORT Platform {
// runs during Chromium's build step).
virtual bool IsTakingV8ContextSnapshot() { return false; }
@ -22,11 +22,11 @@ index 2f57bdd1ef3e..7910c9c12937 100644
+ virtual void DevToolsAgentAttached() {}
+ virtual void DevToolsAgentDetached() {}
+
protected:
Thread* main_thread_;
private:
static void InitializeCommon(Platform* platform,
std::unique_ptr<Thread> main_thread);
diff --git third_party/blink/renderer/core/dom/dom_implementation.cc third_party/blink/renderer/core/dom/dom_implementation.cc
index c360933eb10f..6295f9d675f7 100644
index 3dac1a5a6f61..4fff23e66f2c 100644
--- third_party/blink/renderer/core/dom/dom_implementation.cc
+++ third_party/blink/renderer/core/dom/dom_implementation.cc
@@ -243,10 +243,11 @@ Document* DOMImplementation::createDocument(const String& type,
@ -44,10 +44,10 @@ index c360933eb10f..6295f9d675f7 100644
.Top()
.GetSecurityContext()
diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc
index 339d96d4dfbd..27b86a9b7a78 100644
index b7c1d06b0f60..42f2e1de4d90 100644
--- third_party/blink/renderer/core/frame/local_frame.cc
+++ third_party/blink/renderer/core/frame/local_frame.cc
@@ -1238,7 +1238,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
@@ -1303,7 +1303,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
PluginData* LocalFrame::GetPluginData() const {
if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin))
return nullptr;
@ -56,34 +56,34 @@ index 339d96d4dfbd..27b86a9b7a78 100644
Tree().Top().GetSecurityContext()->GetSecurityOrigin());
}
diff --git third_party/blink/renderer/core/inspector/devtools_agent.cc third_party/blink/renderer/core/inspector/devtools_agent.cc
index 6d31a13f56b8..be2888da4762 100644
--- third_party/blink/renderer/core/inspector/devtools_agent.cc
+++ third_party/blink/renderer/core/inspector/devtools_agent.cc
@@ -8,6 +8,7 @@
#include <memory>
diff --git third_party/blink/renderer/core/inspector/devtools_session.cc third_party/blink/renderer/core/inspector/devtools_session.cc
index be579710b518..74c2e586ef0e 100644
--- third_party/blink/renderer/core/inspector/devtools_session.cc
+++ third_party/blink/renderer/core/inspector/devtools_session.cc
@@ -4,6 +4,7 @@
#include "third_party/blink/renderer/core/inspector/devtools_session.h"
#include "mojo/public/cpp/bindings/binding.h"
+#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/core/inspector/inspector_session.h"
#include "third_party/blink/renderer/core/inspector/inspector_task_runner.h"
#include "third_party/blink/renderer/platform/cross_thread_functional.h"
@@ -132,6 +133,7 @@ DevToolsAgent::Session::Session(
WTF::Bind(&DevToolsAgent::Session::Detach, WrapWeakPersistent(this)));
inspector_session_ =
agent_->client_->AttachSession(this, std::move(reattach_session_state));
#include "third_party/blink/renderer/bindings/core/v8/script_controller.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/use_counter.h"
@@ -113,6 +114,7 @@ DevToolsSession::DevToolsSession(
for (wtf_size_t i = 0; i < agents_.size(); i++)
agents_[i]->Restore();
}
+ Platform::Current()->DevToolsAgentAttached();
}
DevToolsAgent::Session::~Session() {
@@ -151,6 +153,7 @@ void DevToolsAgent::Session::Detach() {
io_session_->DeleteSoon();
io_session_ = nullptr;
inspector_session_->Dispose();
DevToolsSession::~DevToolsSession() {
@@ -151,6 +153,7 @@ void DevToolsSession::Detach() {
agents_.clear();
v8_session_.reset();
agent_->client_->DebuggerTaskFinished();
+ Platform::Current()->DevToolsAgentDetached();
}
void DevToolsAgent::Session::SendProtocolResponse(
void DevToolsSession::FlushProtocolNotifications() {
diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc
index 4277312bcad3..ca460b9ec0ca 100644
--- third_party/blink/renderer/core/page/page.cc

View File

@ -1,5 +1,5 @@
diff --git third_party/blink/renderer/core/input/pointer_event_manager.cc third_party/blink/renderer/core/input/pointer_event_manager.cc
index 2faa7369ddf3..7d0d41299fdd 100644
index 5b053a4de084..0f16f6af5b62 100644
--- third_party/blink/renderer/core/input/pointer_event_manager.cc
+++ third_party/blink/renderer/core/input/pointer_event_manager.cc
@@ -281,7 +281,7 @@ void PointerEventManager::HandlePointerInterruption(

View File

@ -1,8 +1,8 @@
diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h
index 68e82b2554c6..3434655b89b8 100644
index 6f6e6c1f6415..d193e0551a7a 100644
--- third_party/blink/public/web/web_view.h
+++ third_party/blink/public/web/web_view.h
@@ -357,6 +357,7 @@ class WebView : protected WebWidget {
@@ -356,6 +356,7 @@ class WebView : protected WebWidget {
// Sets whether select popup menus should be rendered by the browser.
BLINK_EXPORT static void SetUseExternalPopupMenus(bool);
@ -10,7 +10,7 @@ index 68e82b2554c6..3434655b89b8 100644
// Hides any popup (suggestions, selects...) that might be showing.
virtual void HidePopups() = 0;
@@ -381,6 +382,8 @@ class WebView : protected WebWidget {
@@ -380,6 +381,8 @@ class WebView : protected WebWidget {
unsigned inactive_background_color,
unsigned inactive_foreground_color) = 0;
@ -20,7 +20,7 @@ index 68e82b2554c6..3434655b89b8 100644
// Call these methods before and after running a nested, modal event loop
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
index 81b10a7c81a5..66c66305b340 100644
index 5e37307d15af..7ea556994091 100644
--- third_party/blink/renderer/core/exported/web_view_impl.cc
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -234,8 +234,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
@ -48,7 +48,7 @@ index 81b10a7c81a5..66c66305b340 100644
suppress_next_keypress_event_(false),
ime_accept_events_(true),
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
index fb8a36b05106..9db158c1e538 100644
index 55ae4d62e281..439725428113 100644
--- third_party/blink/renderer/core/exported/web_view_impl.h
+++ third_party/blink/renderer/core/exported/web_view_impl.h
@@ -105,7 +105,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@ -60,8 +60,8 @@ index fb8a36b05106..9db158c1e538 100644
+ bool UseExternalPopupMenus() const;
// WebWidget methods:
void Close() override;
@@ -241,7 +242,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
void SetLayerTreeView(WebLayerTreeView*) override;
@@ -242,7 +243,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
HitTestResult CoreHitTestResultAt(const WebPoint&);
void InvalidateRect(const IntRect&);
@ -70,7 +70,7 @@ index fb8a36b05106..9db158c1e538 100644
void SetBaseBackgroundColorOverride(SkColor);
void ClearBaseBackgroundColorOverride();
void SetBackgroundColorOverride(SkColor);
@@ -602,6 +603,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -595,6 +596,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
float fake_page_scale_animation_page_scale_factor_;
bool fake_page_scale_animation_use_anchor_;
@ -80,10 +80,10 @@ index fb8a36b05106..9db158c1e538 100644
TransformationMatrix device_emulation_transform_;
diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc
index c34ed3622f39..87a3d922f82b 100644
index bd8d617a9485..9fe133ddf645 100644
--- third_party/blink/renderer/core/page/chrome_client_impl.cc
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc
@@ -805,7 +805,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
@@ -809,7 +809,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame,
HTMLSelectElement& select) {
NotifyPopupOpeningObservers();

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
index c9a041567458..96b2bf09d5f2 100644
index d7b5a63a0161..e4980392b1a6 100644
--- chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
+++ chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
@@ -18,6 +18,7 @@
@ -10,7 +10,7 @@ index c9a041567458..96b2bf09d5f2 100644
#include "chrome/common/pref_names.h"
#include "components/browser_sync/profile_sync_service.h"
#include "components/prefs/pref_service.h"
@@ -224,6 +225,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
@@ -266,6 +267,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
}
void ChromeInternalLogSource::PopulateSyncLogs(SystemLogsResponse* response) {
@ -21,7 +21,7 @@ index c9a041567458..96b2bf09d5f2 100644
// We are only interested in sync logs for the primary user profile.
Profile* profile = ProfileManager::GetPrimaryUserProfile();
if (!profile ||
@@ -267,6 +272,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
@@ -309,6 +314,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
if (!profile)
return;
@ -35,7 +35,7 @@ index c9a041567458..96b2bf09d5f2 100644
extensions::ExtensionRegistry::Get(profile);
std::string extensions_list;
diff --git chrome/browser/memory_details.cc chrome/browser/memory_details.cc
index 8594ab10d673..41acbbe058a1 100644
index 14b789a35c34..19a1f340a101 100644
--- chrome/browser/memory_details.cc
+++ chrome/browser/memory_details.cc
@@ -17,6 +17,7 @@
@ -88,10 +88,10 @@ index 903cc543a242..5bd30ae82974 100644
CONTENT_EXPORT void InitializeResourceContext(BrowserContext* browser_context);
diff --git content/browser/webui/url_data_manager.cc content/browser/webui/url_data_manager.cc
index a9f5cfc95d4a..d5281ccab3b4 100644
index a7653565bbf0..7ebf6dd857c9 100644
--- content/browser/webui/url_data_manager.cc
+++ content/browser/webui/url_data_manager.cc
@@ -156,6 +156,11 @@ void URLDataManager::UpdateWebUIDataSource(
@@ -157,6 +157,11 @@ void URLDataManager::UpdateWebUIDataSource(
->UpdateWebUIDataSource(source_name, std::move(update));
}

View File

@ -1,8 +1,8 @@
diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd
index bb7bbbd686f0..da72f775794b 100644
index 3e96804846ad..40d0e1bc7dcb 100644
--- chrome/app/generated_resources.grd
+++ chrome/app/generated_resources.grd
@@ -4510,7 +4510,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
@@ -4505,7 +4505,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
</message>
</if>
<message name="IDS_PLUGIN_BLOCKED_BY_POLICY" desc="The placeholder text for a plugin blocked by enterprise policy.">

204
tools/gypi_to_gn.py Normal file
View File

@ -0,0 +1,204 @@
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Deleted from Chromium in https://crrev.com/097f64c631.
"""Converts a given gypi file to a python scope and writes the result to stdout.
USING THIS SCRIPT IN CHROMIUM
Forking Python to run this script in the middle of GN is slow, especially on
Windows, and it makes both the GYP and GN files harder to follow. You can't
use "git grep" to find files in the GN build any more, and tracking everything
in GYP down requires a level of indirection. Any calls will have to be removed
and cleaned up once the GYP-to-GN transition is complete.
As a result, we only use this script when the list of files is large and
frequently-changing. In these cases, having one canonical list outweights the
downsides.
As of this writing, the GN build is basically complete. It's likely that all
large and frequently changing targets where this is appropriate use this
mechanism already. And since we hope to turn down the GYP build soon, the time
horizon is also relatively short. As a result, it is likely that no additional
uses of this script should every be added to the build. During this later part
of the transition period, we should be focusing more and more on the absolute
readability of the GN build.
HOW TO USE
It is assumed that the file contains a toplevel dictionary, and this script
will return that dictionary as a GN "scope" (see example below). This script
does not know anything about GYP and it will not expand variables or execute
conditions.
It will strip conditions blocks.
A variables block at the top level will be flattened so that the variables
appear in the root dictionary. This way they can be returned to the GN code.
Say your_file.gypi looked like this:
{
'sources': [ 'a.cc', 'b.cc' ],
'defines': [ 'ENABLE_DOOM_MELON' ],
}
You would call it like this:
gypi_values = exec_script("//build/gypi_to_gn.py",
[ rebase_path("your_file.gypi") ],
"scope",
[ "your_file.gypi" ])
Notes:
- The rebase_path call converts the gypi file from being relative to the
current build file to being system absolute for calling the script, which
will have a different current directory than this file.
- The "scope" parameter tells GN to interpret the result as a series of GN
variable assignments.
- The last file argument to exec_script tells GN that the given file is a
dependency of the build so Ninja can automatically re-run GN if the file
changes.
Read the values into a target like this:
component("mycomponent") {
sources = gypi_values.sources
defines = gypi_values.defines
}
Sometimes your .gypi file will include paths relative to a different
directory than the current .gn file. In this case, you can rebase them to
be relative to the current directory.
sources = rebase_path(gypi_values.sources, ".",
"//path/gypi/input/values/are/relative/to")
This script will tolerate a 'variables' in the toplevel dictionary or not. If
the toplevel dictionary just contains one item called 'variables', it will be
collapsed away and the result will be the contents of that dictinoary. Some
.gypi files are written with or without this, depending on how they expect to
be embedded into a .gyp file.
This script also has the ability to replace certain substrings in the input.
Generally this is used to emulate GYP variable expansion. If you passed the
argument "--replace=<(foo)=bar" then all instances of "<(foo)" in strings in
the input will be replaced with "bar":
gypi_values = exec_script("//build/gypi_to_gn.py",
[ rebase_path("your_file.gypi"),
"--replace=<(foo)=bar"],
"scope",
[ "your_file.gypi" ])
"""
from optparse import OptionParser
import os
import sys
try:
# May already be in the import path.
import gn_helpers
except ImportError, e:
# Add src/build to import path.
cef_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))
src_dir = os.path.abspath(os.path.join(cef_dir, os.pardir))
sys.path.append(os.path.join(src_dir, 'build'))
import gn_helpers
def LoadPythonDictionary(path):
file_string = open(path).read()
try:
file_data = eval(file_string, {'__builtins__': None}, None)
except SyntaxError, e:
e.filename = path
raise
except Exception, e:
raise Exception("Unexpected error while reading %s: %s" % (path, str(e)))
assert isinstance(file_data, dict), "%s does not eval to a dictionary" % path
# Flatten any variables to the top level.
if 'variables' in file_data:
file_data.update(file_data['variables'])
del file_data['variables']
# Strip all elements that this script can't process.
elements_to_strip = [
'conditions',
'target_conditions',
'target_defaults',
'targets',
'includes',
'actions',
]
for element in elements_to_strip:
if element in file_data:
del file_data[element]
return file_data
def ReplaceSubstrings(values, search_for, replace_with):
"""Recursively replaces substrings in a value.
Replaces all substrings of the "search_for" with "repace_with" for all
strings occurring in "values". This is done by recursively iterating into
lists as well as the keys and values of dictionaries."""
if isinstance(values, str):
return values.replace(search_for, replace_with)
if isinstance(values, list):
return [ReplaceSubstrings(v, search_for, replace_with) for v in values]
if isinstance(values, dict):
# For dictionaries, do the search for both the key and values.
result = {}
for key, value in values.items():
new_key = ReplaceSubstrings(key, search_for, replace_with)
new_value = ReplaceSubstrings(value, search_for, replace_with)
result[new_key] = new_value
return result
# Assume everything else is unchanged.
return values
def main():
parser = OptionParser()
parser.add_option("-r", "--replace", action="append",
help="Replaces substrings. If passed a=b, replaces all substrs a with b.")
(options, args) = parser.parse_args()
if len(args) != 1:
raise Exception("Need one argument which is the .gypi file to read.")
data = LoadPythonDictionary(args[0])
if options.replace:
# Do replacements for all specified patterns.
for replace in options.replace:
split = replace.split('=')
# Allow "foo=" to replace with nothing.
if len(split) == 1:
split.append('')
assert len(split) == 2, "Replacement must be of the form 'key=value'."
data = ReplaceSubstrings(data, split[0], split[1])
# Sometimes .gypi files use the GYP syntax with percents at the end of the
# variable name (to indicate not to overwrite a previously-defined value):
# 'foo%': 'bar',
# Convert these to regular variables.
for key in data:
if len(key) > 1 and key[len(key) - 1] == '%':
data[key[:-1]] = data[key]
del data[key]
print gn_helpers.ToGNString(data)
if __name__ == '__main__':
try:
main()
except Exception, e:
print str(e)
sys.exit(1)