Update to Chromium version 74.0.3706.0 (#632463)

This commit is contained in:
Marshall Greenblatt 2019-02-20 19:42:36 -05:00
parent 6bfb5ab33b
commit 5a1c642431
78 changed files with 783 additions and 667 deletions

View File

@ -105,8 +105,6 @@ import("//media/media_options.gni")
import("//mojo/public/tools/bindings/mojom.gni")
import("//ppapi/buildflags/buildflags.gni")
import("//printing/buildflags/buildflags.gni")
import("//services/catalog/public/tools/catalog.gni")
import("//services/service_manager/public/service_manifest.gni")
import("//third_party/icu/config.gni")
import("//third_party/widevine/cdm/widevine.gni")
import("//tools/grit/repack.gni")
@ -685,7 +683,6 @@ static_library("libcef_static") {
"//components/printing/renderer",
"//components/proxy_config",
"//components/safe_browsing/db:test_database_manager",
"//components/services/pdf_compositor:pdf_compositor_manifest",
"//components/services/pdf_compositor/public/cpp:factory",
"//components/services/pdf_compositor/public/interfaces",
"//components/tracing",
@ -726,7 +723,6 @@ static_library("libcef_static") {
"//services/network/public/cpp",
"//services/service_manager/embedder",
"//services/service_manager/public/cpp",
"//services/service_manager/runner/common",
"//skia",
"//storage/browser",
"//third_party/blink/public:blink",
@ -1147,13 +1143,13 @@ source_set("cef_packaged_service_manifests") {
deps = [
"//base",
"//chrome/common:mojo_bindings",
"//chrome/services/printing:manifest",
"//components/services/pdf_compositor:pdf_compositor_manifest",
"//chrome/services/printing/public/cpp:manifest",
"//components/services/pdf_compositor/public/cpp:manifest",
"//components/spellcheck/common:interfaces",
"//components/startup_metric_utils/common:interfaces",
"//extensions/buildflags",
"//printing/buildflags",
"//services/proxy_resolver:proxy_resolver_manifest",
"//services/proxy_resolver/public/cpp:manifest",
"//services/service_manager/public/cpp",
]
}

View File

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

View File

@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=8e5c27c998b6aabcaf43a4cc7f97064d49eaf8b9$
// $hash=48b5fa68109eed1ea30fa0c805218ebd258c0573$
//
#ifndef CEF_INCLUDE_CAPI_CEF_COOKIE_CAPI_H_
@ -237,7 +237,7 @@ typedef struct _cef_delete_cookies_callback_t {
///
// Method that will be called upon completion. |num_deleted| will be the
// number of cookies that were deleted or -1 if unknown.
// number of cookies that were deleted.
///
void(CEF_CALLBACK* on_complete)(struct _cef_delete_cookies_callback_t* self,
int num_deleted);

View File

@ -221,7 +221,7 @@ class CefDeleteCookiesCallback : public virtual CefBaseRefCounted {
public:
///
// Method that will be called upon completion. |num_deleted| will be the
// number of cookies that were deleted or -1 if unknown.
// number of cookies that were deleted.
///
/*--cef()--*/
virtual void OnComplete(int num_deleted) = 0;

View File

@ -62,6 +62,7 @@
#include "components/navigation_interception/intercept_navigation_throttle.h"
#include "components/navigation_interception/navigation_params.h"
#include "components/services/pdf_compositor/public/interfaces/pdf_compositor.mojom.h"
#include "components/version_info/version_info.h"
#include "content/browser/frame_host/navigation_handle_impl.h"
#include "content/browser/frame_host/render_frame_host_impl.h"
#include "content/browser/plugin_service_impl.h"
@ -821,7 +822,8 @@ void CefContentBrowserClient::GetQuotaSettings(
storage::OptionalQuotaSettingsCallback callback) {
const base::FilePath& cache_path = partition->GetPath();
storage::GetNominalDynamicSettings(
cache_path, cache_path.empty() /* is_incognito */, std::move(callback));
cache_path, cache_path.empty() /* is_incognito */,
storage::GetDefaultDiskInfoHelper(), std::move(callback));
}
content::MediaObserver* CefContentBrowserClient::GetMediaObserver() {
@ -1025,10 +1027,14 @@ CefContentBrowserClient::CreateThrottlesForNavigation(
frame_id = CefFrameHostImpl::kInvalidFrameId;
}
// Must use SynchronyMode::kSync to ensure that OnBeforeBrowse is always
// called before OnBeforeResourceLoad.
std::unique_ptr<content::NavigationThrottle> throttle =
std::make_unique<navigation_interception::InterceptNavigationThrottle>(
navigation_handle, base::Bind(&NavigationOnUIThread, is_main_frame,
frame_id, parent_frame_id));
navigation_handle,
base::Bind(&NavigationOnUIThread, is_main_frame, frame_id,
parent_frame_id),
navigation_interception::SynchronyMode::kSync);
throttles.push_back(std::move(throttle));
return throttles;
@ -1181,6 +1187,20 @@ std::string CefContentBrowserClient::GetUserAgent() const {
return content::BuildUserAgentFromProduct(GetProduct());
}
blink::UserAgentMetadata CefContentBrowserClient::GetUserAgentMetadata() const {
blink::UserAgentMetadata metadata;
metadata.brand = version_info::GetProductName();
metadata.version = version_info::GetVersionNumber();
metadata.platform = version_info::GetOSType();
// TODO(mkwst): Poke at BuildUserAgentFromProduct to split out these pieces.
metadata.architecture = "";
metadata.model = "";
return metadata;
}
void CefContentBrowserClient::RegisterCustomScheme(const std::string& scheme) {
// Register as a Web-safe scheme so that requests for the scheme from a
// render process will be allowed in resource_dispatcher_host_impl.cc

View File

@ -165,6 +165,7 @@ class CefContentBrowserClient : public content::ContentBrowserClient {
std::string GetProduct() const override;
std::string GetChromeProduct() const override;
std::string GetUserAgent() const override;
blink::UserAgentMetadata GetUserAgentMetadata() const override;
// Perform browser process registration for the custom scheme.
void RegisterCustomScheme(const std::string& scheme);

View File

@ -40,7 +40,8 @@ class VisitCookiesCallback : public base::RefCounted<VisitCookiesCallback> {
CefRefPtr<CefCookieVisitor> visitor)
: cookie_store_getter_(cookie_store_getter), visitor_(visitor) {}
void Run(const net::CookieList& list) {
void Run(const net::CookieList& list,
const net::CookieStatusList& excluded_list) {
CEF_REQUIRE_IOT();
int total = list.size(), count = 0;
@ -591,8 +592,11 @@ void CefCookieManagerImpl::DeleteCookiesInternal(
delete_info, base::Bind(DeleteCookiesCallbackImpl, callback));
} else {
// Delete all matching host and domain cookies.
cookie_store->DeleteCookieAsync(
url, cookie_name, base::Bind(DeleteCookiesCallbackImpl, callback, -1));
net::CookieDeletionInfo delete_info;
delete_info.url = url;
delete_info.name = cookie_name;
cookie_store->DeleteAllMatchingInfoAsync(
delete_info, base::Bind(DeleteCookiesCallbackImpl, callback));
}
}

View File

@ -21,7 +21,7 @@ CefComponentExtensionResourceManager::~CefComponentExtensionResourceManager() {}
bool CefComponentExtensionResourceManager::IsComponentExtensionResource(
const base::FilePath& extension_path,
const base::FilePath& resource_path,
int* resource_id) const {
ComponentExtensionResourceInfo* resource_info) const {
base::FilePath directory_path = extension_path;
base::FilePath resources_dir;
base::FilePath relative_path;
@ -32,12 +32,13 @@ bool CefComponentExtensionResourceManager::IsComponentExtensionResource(
relative_path = relative_path.Append(resource_path);
relative_path = relative_path.NormalizePathSeparators();
std::map<base::FilePath, int>::const_iterator entry =
path_to_resource_id_.find(relative_path);
if (entry != path_to_resource_id_.end())
*resource_id = entry->second;
auto entry = path_to_resource_info_.find(relative_path);
if (entry != path_to_resource_info_.end()) {
*resource_info = entry->second;
return true;
}
return entry != path_to_resource_id_.end();
return false;
}
const ui::TemplateReplacements*
@ -47,16 +48,16 @@ CefComponentExtensionResourceManager::GetTemplateReplacementsForExtension(
}
void CefComponentExtensionResourceManager::AddComponentResourceEntries(
const GritResourceMap* entries,
const GzippedGritResourceMap* entries,
size_t size) {
for (size_t i = 0; i < size; ++i) {
base::FilePath resource_path =
base::FilePath().AppendASCII(entries[i].name);
resource_path = resource_path.NormalizePathSeparators();
DCHECK(path_to_resource_id_.find(resource_path) ==
path_to_resource_id_.end());
path_to_resource_id_[resource_path] = entries[i].value;
DCHECK(!base::ContainsKey(path_to_resource_info_, resource_path));
path_to_resource_info_[resource_path] = {entries[i].value,
entries[i].gzipped};
}
}

View File

@ -10,7 +10,7 @@
#include "base/files/file_path.h"
#include "extensions/browser/component_extension_resource_manager.h"
struct GritResourceMap;
struct GzippedGritResourceMap;
namespace extensions {
@ -21,18 +21,21 @@ class CefComponentExtensionResourceManager
~CefComponentExtensionResourceManager() override;
// Overridden from ComponentExtensionResourceManager:
bool IsComponentExtensionResource(const base::FilePath& extension_path,
const base::FilePath& resource_path,
int* resource_id) const override;
bool IsComponentExtensionResource(
const base::FilePath& extension_path,
const base::FilePath& resource_path,
ComponentExtensionResourceInfo* resource_info) const override;
const ui::TemplateReplacements* GetTemplateReplacementsForExtension(
const std::string& extension_id) const override;
private:
void AddComponentResourceEntries(const GritResourceMap* entries, size_t size);
void AddComponentResourceEntries(const GzippedGritResourceMap* entries,
size_t size);
// A map from a resource path to the resource ID. Used by
// IsComponentExtensionResource.
std::map<base::FilePath, int> path_to_resource_id_;
std::map<base::FilePath, ComponentExtensionResourceInfo>
path_to_resource_info_;
DISALLOW_COPY_AND_ASSIGN(CefComponentExtensionResourceManager);
};

View File

@ -127,8 +127,8 @@ CefExtensionsBrowserClient::MaybeCreateResourceBundleRequestJob(
base::FilePath CefExtensionsBrowserClient::GetBundleResourcePath(
const network::ResourceRequest& request,
const base::FilePath& extension_resources_path,
int* resource_id) const {
*resource_id = 0;
ComponentExtensionResourceInfo* resource_id) const {
*resource_id = {0};
return base::FilePath();
}
@ -136,7 +136,7 @@ void CefExtensionsBrowserClient::LoadResourceFromResourceBundle(
const network::ResourceRequest& request,
network::mojom::URLLoaderRequest loader,
const base::FilePath& resource_relative_path,
int resource_id,
const ComponentExtensionResourceInfo& resource_id,
const std::string& content_security_policy,
network::mojom::URLLoaderClientPtr client,
bool send_cors_header) {

View File

@ -54,12 +54,12 @@ class CefExtensionsBrowserClient : public ExtensionsBrowserClient {
base::FilePath GetBundleResourcePath(
const network::ResourceRequest& request,
const base::FilePath& extension_resources_path,
int* resource_id) const override;
ComponentExtensionResourceInfo* resource_id) const override;
void LoadResourceFromResourceBundle(
const network::ResourceRequest& request,
network::mojom::URLLoaderRequest loader,
const base::FilePath& resource_relative_path,
int resource_id,
const ComponentExtensionResourceInfo& resource_id,
const std::string& content_security_policy,
network::mojom::URLLoaderClientPtr client,
bool send_cors_header) override;

View File

@ -30,8 +30,7 @@ class CefSimpleMenuModel : public ui::MenuModel {
public:
// The Delegate can be NULL, though if it is items can't be checked or
// disabled.
explicit CefSimpleMenuModel(CefMenuModelImpl* impl)
: impl_(impl), menu_model_delegate_(NULL) {}
explicit CefSimpleMenuModel(CefMenuModelImpl* impl) : impl_(impl) {}
// MenuModel methods.
bool HasIcons() const override { return false; }
@ -161,18 +160,8 @@ class CefSimpleMenuModel : public ui::MenuModel {
void MenuWillClose() override { impl_->MenuWillClose(); }
void SetMenuModelDelegate(
ui::MenuModelDelegate* menu_model_delegate) override {
menu_model_delegate_ = menu_model_delegate;
}
ui::MenuModelDelegate* GetMenuModelDelegate() const override {
return menu_model_delegate_;
}
private:
CefMenuModelImpl* impl_;
ui::MenuModelDelegate* menu_model_delegate_;
DISALLOW_COPY_AND_ASSIGN(CefSimpleMenuModel);
};

View File

@ -17,7 +17,6 @@
#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"
#include "content/public/common/renderer_preferences.h"
#include "ui/events/keycodes/dom/dom_key.h"
#include "ui/events/keycodes/dom/keycode_converter.h"
#include "ui/events/keycodes/keyboard_code_conversion_x.h"
@ -26,6 +25,7 @@
#include "ui/gfx/font_render_params.h"
#include "ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h"
#include "ui/views/widget/widget.h"
#include "third_party/blink/public/mojom/renderer_preferences.mojom.h"
namespace {
@ -94,7 +94,7 @@ bool CefBrowserPlatformDelegateNativeLinux::CreateHostWindow() {
// As an additional requirement on Linux, we must set the colors for the
// render widgets in webkit.
content::RendererPreferences* prefs =
blink::mojom::RendererPreferences* prefs =
browser_->web_contents()->GetMutableRendererPrefs();
prefs->focus_ring_color = SkColorSetARGB(255, 229, 151, 0);

View File

@ -5,7 +5,6 @@
#include "libcef/browser/native/menu_2.h"
#include "ui/base/models/menu_model.h"
#include "ui/views/controls/menu/menu_listener.h"
namespace views {
@ -44,16 +43,8 @@ MenuWrapper::MenuAction Menu2::GetMenuAction() const {
return wrapper_->GetMenuAction();
}
void Menu2::AddMenuListener(MenuListener* listener) {
wrapper_->AddMenuListener(listener);
}
void Menu2::RemoveMenuListener(MenuListener* listener) {
wrapper_->RemoveMenuListener(listener);
}
void Menu2::SetMinimumWidth(int width) {
wrapper_->SetMinimumWidth(width);
}
} // namespace
} // namespace views

View File

@ -67,12 +67,6 @@ class Menu2 {
// nothing.
MenuWrapper::MenuAction GetMenuAction() const;
// Add a listener to receive a callback when the menu opens.
void AddMenuListener(MenuListener* listener);
// Remove a menu listener.
void RemoveMenuListener(MenuListener* listener);
// Accessors.
ui::MenuModel* model() const { return model_; }

View File

@ -18,7 +18,6 @@ class MenuModel;
namespace views {
class MenuInsertionDelegateWin;
class MenuListener;
// An interface that wraps an object that implements a menu.
class MenuWrapper {
@ -58,12 +57,6 @@ class MenuWrapper {
// nothing.
virtual MenuAction GetMenuAction() const = 0;
// Add a listener to receive a callback when the menu opens.
virtual void AddMenuListener(MenuListener* listener) = 0;
// Remove a menu listener.
virtual void RemoveMenuListener(MenuListener* listener) = 0;
// Sets the minimum width of the menu.
virtual void SetMinimumWidth(int width) = 0;
};

View File

@ -31,7 +31,6 @@
#include "ui/native_theme/native_theme.h"
#include "ui/views/controls/menu/menu_config.h"
#include "ui/views/controls/menu/menu_insertion_delegate_win.h"
#include "ui/views/controls/menu/menu_listener.h"
using ui::NativeTheme;
@ -323,7 +322,6 @@ class CefNativeMenuWin::MenuHostWindow {
2,
NULL);
}
} else {
// Draw the separator
draw_item_struct->rcItem.top +=
@ -438,10 +436,6 @@ void CefNativeMenuWin::RunMenuAt(const gfx::Point& point, int alignment) {
HHOOK hhook = SetWindowsHookEx(WH_MSGFILTER, MenuMessageHook,
GetModuleHandle(NULL), ::GetCurrentThreadId());
// Mark that any registered listeners have not been called for this particular
// opening of the menu.
listeners_called_ = false;
// Command dispatch is done through WM_MENUCOMMAND, handled by the host
// window.
menu_to_select_ = NULL;
@ -520,14 +514,6 @@ CefNativeMenuWin::MenuAction CefNativeMenuWin::GetMenuAction() const {
return menu_action_;
}
void CefNativeMenuWin::AddMenuListener(MenuListener* listener) {
listeners_.AddObserver(listener);
}
void CefNativeMenuWin::RemoveMenuListener(MenuListener* listener) {
listeners_.RemoveObserver(listener);
}
void CefNativeMenuWin::SetMinimumWidth(int width) {
NOTIMPLEMENTED();
}
@ -576,14 +562,6 @@ LRESULT CALLBACK CefNativeMenuWin::MenuMessageHook(int n_code,
if (!this_ptr)
return result;
// The first time this hook is called, that means the menu has successfully
// opened, so call the callback function on all of our listeners.
if (!this_ptr->listeners_called_) {
for (auto& observer : this_ptr->listeners_)
observer.OnMenuOpened();
this_ptr->listeners_called_ = true;
}
MSG* msg = reinterpret_cast<MSG*>(l_param);
if (msg->message == WM_LBUTTONUP || msg->message == WM_RBUTTONUP) {
HighlightedMenuItemInfo info;

View File

@ -40,8 +40,6 @@ class CefNativeMenuWin : public MenuWrapper {
void UpdateStates() override;
HMENU GetNativeMenu() const override;
MenuAction GetMenuAction() const override;
void AddMenuListener(MenuListener* listener) override;
void RemoveMenuListener(MenuListener* listener) override;
void SetMinimumWidth(int width) override;
private:
@ -139,13 +137,6 @@ class CefNativeMenuWin : public MenuWrapper {
// The action that took place during the call to RunMenuAt.
MenuAction menu_action_;
// A list of listeners to call when the menu opens.
base::ObserverList<MenuListener>::Unchecked listeners_;
// Keep track of whether the listeners have already been called at least
// once.
bool listeners_called_;
// See comment in MenuMessageHook for details on these.
CefNativeMenuWin* menu_to_select_;
int position_to_select_;

View File

@ -92,7 +92,7 @@ void CefCookieStoreProxy::GetCookieListWithOptionsAsync(
cookie_store->GetCookieListWithOptionsAsync(url, options,
std::move(callback));
} else if (!callback.is_null()) {
std::move(callback).Run(net::CookieList());
std::move(callback).Run(net::CookieList(), net::CookieStatusList());
}
}
@ -101,18 +101,7 @@ void CefCookieStoreProxy::GetAllCookiesAsync(GetCookieListCallback callback) {
if (cookie_store) {
cookie_store->GetAllCookiesAsync(std::move(callback));
} else if (!callback.is_null()) {
std::move(callback).Run(net::CookieList());
}
}
void CefCookieStoreProxy::DeleteCookieAsync(const GURL& url,
const std::string& cookie_name,
base::OnceClosure callback) {
net::CookieStore* cookie_store = GetCookieStore();
if (cookie_store) {
cookie_store->DeleteCookieAsync(url, cookie_name, std::move(callback));
} else if (!callback.is_null()) {
std::move(callback).Run();
std::move(callback).Run(net::CookieList(), net::CookieStatusList());
}
}

View File

@ -30,9 +30,6 @@ class CefCookieStoreProxy : public net::CookieStore {
const net::CookieOptions& options,
GetCookieListCallback callback) override;
void GetAllCookiesAsync(GetCookieListCallback callback) override;
void DeleteCookieAsync(const GURL& url,
const std::string& cookie_name,
base::OnceClosure callback) override;
void DeleteCanonicalCookieAsync(const net::CanonicalCookie& cookie,
DeleteCallback callback) override;
void DeleteAllCreatedInTimeRangeAsync(

View File

@ -14,6 +14,7 @@
#include "libcef/common/request_impl.h"
#include "libcef/common/response_impl.h"
#include "base/bind.h"
#include "base/logging.h"
#include "base/strings/string_util.h"
#include "net/base/io_buffer.h"
@ -448,7 +449,8 @@ void CefResourceRequestJob::DoLoadCookies() {
}
void CefResourceRequestJob::CheckCookiePolicyAndLoad(
const net::CookieList& cookie_list) {
const net::CookieList& cookie_list,
const net::CookieStatusList& excluded_list) {
bool can_get_cookies = !cookie_list.empty() && CanGetCookies(cookie_list);
if (can_get_cookies) {
net::CookieList::const_iterator it = cookie_list.begin();
@ -469,7 +471,8 @@ void CefResourceRequestJob::CheckCookiePolicyAndLoad(
}
void CefResourceRequestJob::OnCookiesLoaded(
const net::CookieList& cookie_list) {
const net::CookieList& cookie_list,
const net::CookieStatusList& excluded_list) {
if (!cookie_list.empty()) {
const std::string& cookie_line =
net::CanonicalCookie::BuildCookieLine(cookie_list);

View File

@ -50,8 +50,10 @@ class CefResourceRequestJob : public net::URLRequestJob {
// Used for sending cookies with the request.
void AddCookieHeaderAndStart();
void DoLoadCookies();
void CheckCookiePolicyAndLoad(const net::CookieList& cookie_list);
void OnCookiesLoaded(const net::CookieList& cookie_list);
void CheckCookiePolicyAndLoad(const net::CookieList& cookie_list,
const net::CookieStatusList& excluded_list);
void OnCookiesLoaded(const net::CookieList& cookie_list,
const net::CookieStatusList& excluded_list);
void DoStartTransaction();
void StartTransaction();

View File

@ -31,6 +31,7 @@
#include "content/browser/renderer_host/cursor_manager.h"
#include "content/browser/renderer_host/delegated_frame_host.h"
#include "content/browser/renderer_host/dip_util.h"
#include "content/browser/renderer_host/input/synthetic_gesture_target_base.h"
#include "content/browser/renderer_host/render_widget_host_delegate.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/common/input_messages.h"
@ -1078,6 +1079,14 @@ const viz::FrameSinkId& CefRenderWidgetHostViewOSR::GetFrameSinkId() const {
return GetDelegatedFrameHost()->frame_sink_id();
}
std::unique_ptr<content::SyntheticGestureTarget>
CefRenderWidgetHostViewOSR::CreateSyntheticGestureTarget() {
// TODO(cef): This is likely incorrect for OOPIF.
// See https://crrev.com/5375957bb5.
return std::unique_ptr<content::SyntheticGestureTarget>(
new content::SyntheticGestureTargetBase(host()));
}
void CefRenderWidgetHostViewOSR::SetNeedsBeginFrames(bool enabled) {
SetFrameRate();

View File

@ -157,7 +157,6 @@ class CefRenderWidgetHostViewOSR : public content::RenderWidgetHostViewBase,
void Destroy() override;
void SetTooltipText(const base::string16& tooltip_text) override;
content::CursorManager* GetCursorManager() override;
gfx::Size GetCompositorViewportPixelSize() const override;
void CopyFromSurface(
const gfx::Rect& src_rect,
@ -174,14 +173,13 @@ class CefRenderWidgetHostViewOSR : public content::RenderWidgetHostViewBase,
content::BrowserAccessibilityManager* CreateBrowserAccessibilityManager(
content::BrowserAccessibilityDelegate* delegate,
bool for_root_frame) override;
void ImeCompositionRangeChanged(
const gfx::Range& range,
const std::vector<gfx::Rect>& character_bounds) override;
std::unique_ptr<content::SyntheticGestureTarget>
CreateSyntheticGestureTarget() override;
void SetNeedsBeginFrames(bool enabled) override;
void SetWantsAnimateOnlyBeginFrames() override;
bool TransformPointToLocalCoordSpaceLegacy(
const gfx::PointF& point,
const viz::SurfaceId& original_surface,
@ -192,11 +190,9 @@ class CefRenderWidgetHostViewOSR : public content::RenderWidgetHostViewBase,
gfx::PointF* transformed_point,
viz::EventSource source = viz::EventSource::ANY) override;
void DidNavigate() override;
void SelectionChanged(const base::string16& text,
size_t offset,
const gfx::Range& range) override;
const viz::LocalSurfaceIdAllocation& GetLocalSurfaceIdAllocation()
const override;
const viz::FrameSinkId& GetFrameSinkId() const override;

View File

@ -31,6 +31,7 @@
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/google/core/browser/google_url_tracker.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h"
#include "components/language/core/browser/language_prefs.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/prefs/json_pref_store.h"
#include "components/prefs/pref_filter.h"
@ -151,6 +152,7 @@ std::unique_ptr<PrefService> CreatePrefService(Profile* profile,
extensions::ExtensionPrefs::RegisterProfilePrefs(registry.get());
GoogleURLTracker::RegisterProfilePrefs(registry.get());
HostContentSettingsMap::RegisterProfilePrefs(registry.get());
language::RegisterProfilePrefs(registry.get());
PluginInfoHostImpl::RegisterUserPrefs(registry.get());
PrefProxyConfigTrackerImpl::RegisterPrefs(registry.get());
renderer_prefs::RegisterProfilePrefs(registry.get());

View File

@ -52,7 +52,7 @@ bool CefPrefStore::IsInitializationComplete() const {
void CefPrefStore::SetValue(const std::string& key,
std::unique_ptr<base::Value> value,
uint32_t flags) {
if (prefs_.SetValue(key, std::move(value))) {
if (prefs_.SetValue(key, base::Value::FromUniquePtrValue(std::move(value)))) {
committed_ = false;
NotifyPrefValueChanged(key);
}
@ -61,7 +61,7 @@ void CefPrefStore::SetValue(const std::string& key,
void CefPrefStore::SetValueSilently(const std::string& key,
std::unique_ptr<base::Value> value,
uint32_t flags) {
if (prefs_.SetValue(key, std::move(value)))
if (prefs_.SetValue(key, base::Value::FromUniquePtrValue(std::move(value))))
committed_ = false;
}

View File

@ -4,6 +4,8 @@
#include "libcef/browser/storage_partition_proxy.h"
#include "services/network/public/mojom/cookie_manager.mojom.h"
CefStoragePartitionProxy::CefStoragePartitionProxy(
content::StoragePartition* parent,
CefURLRequestContextGetterProxy* url_request_context)
@ -156,8 +158,12 @@ void CefStoragePartitionProxy::ClearHttpAndMediaCaches(
std::move(callback));
}
void CefStoragePartitionProxy::ClearCodeCaches(base::OnceClosure callback) {
parent_->ClearCodeCaches(std::move(callback));
void CefStoragePartitionProxy::ClearCodeCaches(
base::Time begin,
base::Time end,
const base::RepeatingCallback<bool(const GURL&)>& url_matcher,
base::OnceClosure callback) {
parent_->ClearCodeCaches(begin, end, url_matcher, std::move(callback));
}
void CefStoragePartitionProxy::Flush() {
@ -218,6 +224,11 @@ content::CookieStoreContext* CefStoragePartitionProxy::GetCookieStoreContext() {
return parent_->GetCookieStoreContext();
}
content::DevToolsBackgroundServicesContext*
CefStoragePartitionProxy::GetDevToolsBackgroundServicesContext() {
return parent_->GetDevToolsBackgroundServicesContext();
}
content::URLLoaderFactoryGetter*
CefStoragePartitionProxy::url_loader_factory_getter() {
return parent_->url_loader_factory_getter();

View File

@ -69,7 +69,11 @@ 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 ClearCodeCaches(
base::Time begin,
base::Time end,
const base::RepeatingCallback<bool(const GURL&)>& url_matcher,
base::OnceClosure callback) override;
void Flush() override;
void ResetURLLoaderFactories() override;
void ClearBluetoothAllowedDevicesMapForTesting() override;
@ -83,6 +87,8 @@ class CefStoragePartitionProxy : public content::StoragePartition {
content::BlobRegistryWrapper* GetBlobRegistry() override;
content::PrefetchURLLoaderService* GetPrefetchURLLoaderService() override;
content::CookieStoreContext* GetCookieStoreContext() override;
content::DevToolsBackgroundServicesContext*
GetDevToolsBackgroundServicesContext() override;
content::URLLoaderFactoryGetter* url_loader_factory_getter() override;
content::BrowserContext* browser_context() const override;
mojo::BindingId Bind(

View File

@ -43,7 +43,8 @@ void CefCommandLineImpl::InitFromArgv(int argc, const char* const* argv) {
void CefCommandLineImpl::InitFromString(const CefString& command_line) {
#if defined(OS_WIN)
CEF_VALUE_VERIFY_RETURN_VOID(true);
mutable_value()->ParseFromString(command_line);
const base::string16& str16 = command_line;
mutable_value()->ParseFromString(str16);
#else
NOTREACHED() << "method not supported on this platform";
#endif

View File

@ -33,7 +33,7 @@
#if defined(OS_POSIX) && !defined(OS_MACOSX)
#include "components/crash/content/app/breakpad_linux.h"
#include "v8/include/v8.h"
#include "v8/include/v8-wasm-trap-handler-posix.h"
#endif
namespace crash_reporting {
@ -199,7 +199,7 @@ void BasicStartupComplete(base::CommandLine* command_line) {
// Breakpad requires this switch.
command_line->AppendSwitch(switches::kEnableCrashReporter);
breakpad::SetFirstChanceExceptionHandler(v8::V8::TryHandleSignal);
breakpad::SetFirstChanceExceptionHandler(v8::TryHandleWebAssemblyTrapPosix);
#endif
}
}

View File

@ -10,15 +10,14 @@
#include "components/metrics/public/interfaces/call_stack_profile_collector.mojom.h"
#include "components/services/heap_profiling/public/mojom/heap_profiling_client.mojom.h"
#include "extensions/buildflags/buildflags.h"
#include "extensions/common/api/mime_handler.mojom.h" // nogncheck
#include "extensions/common/mojo/keep_alive.mojom.h" // nogncheck
#include "services/service_manager/public/cpp/manifest_builder.h"
#if defined(OS_WIN)
#include "chrome/common/conflicts/module_event_sink_win.mojom.h"
#endif
#include "extensions/common/api/mime_handler.mojom.h" // nogncheck
#include "extensions/common/mojo/keep_alive.mojom.h" // nogncheck
const service_manager::Manifest& GetCefContentBrowserOverlayManifest() {
static base::NoDestructor<service_manager::Manifest> manifest {
service_manager::ManifestBuilder()

View File

@ -8,20 +8,19 @@
#include "build/build_config.h"
#include "chrome/common/buildflags.h"
#include "chrome/common/constants.mojom.h"
#include "chrome/services/printing/public/cpp/manifest.h"
#include "components/services/pdf_compositor/public/cpp/manifest.h" // nogncheck
#include "components/spellcheck/common/spellcheck.mojom.h"
#include "components/startup_metric_utils/common/startup_metric.mojom.h"
#include "extensions/buildflags/buildflags.h"
#include "printing/buildflags/buildflags.h"
#include "services/proxy_resolver/proxy_resolver_manifest.h"
#include "services/proxy_resolver/public/cpp/manifest.h"
#include "services/service_manager/public/cpp/manifest_builder.h"
#if defined(OS_MACOSX)
#include "components/spellcheck/common/spellcheck_panel.mojom.h"
#endif
#include "chrome/services/printing/manifest.h"
#include "components/services/pdf_compositor/pdf_compositor_manifest.h" // nogncheck
namespace {
const service_manager::Manifest& GetCefManifest() {
@ -55,8 +54,8 @@ const std::vector<service_manager::Manifest>& GetCefPackagedServiceManifests() {
static base::NoDestructor<std::vector<service_manager::Manifest>> manifests{{
GetCefManifest(),
proxy_resolver::GetManifest(),
pdf_compositor::GetManifest(),
chrome_printing::GetManifest(),
printing::GetPdfCompositorManifest(),
GetChromePrintingManifest(),
}};
return *manifests;
}

View File

@ -432,10 +432,9 @@ void CefBrowserImpl::OnDestruct() {
void CefBrowserImpl::DidFinishLoad(blink::WebLocalFrame* frame) {
blink::WebDocumentLoader* dl = frame->GetDocumentLoader();
Send(new CefHostMsg_DidFinishLoad(routing_id(),
render_frame_util::GetIdentifier(frame),
dl->GetRequest().Url(), !frame->Parent(),
dl->GetResponse().HttpStatusCode()));
Send(new CefHostMsg_DidFinishLoad(
routing_id(), render_frame_util::GetIdentifier(frame), dl->GetUrl(),
!frame->Parent(), dl->GetResponse().HttpStatusCode()));
OnLoadEnd(frame);
}

View File

@ -231,7 +231,7 @@ CefString CefFrameImpl::GetURL() {
// the provisional document URL instead.
blink::WebDocumentLoader* loader = frame_->GetProvisionalDocumentLoader();
if (loader)
gurl = loader->GetRequest().Url();
gurl = loader->GetUrl();
}
url = gurl.spec();
}

View File

@ -849,10 +849,10 @@ bool CefRegisterExtension(const CefString& extension_name,
isolate_manager->AddGlobalTrackObject(object);
}
ExtensionWrapper* wrapper =
new ExtensionWrapper(name->GetString(), code->GetString(), handler.get());
std::unique_ptr<v8::Extension> wrapper(new ExtensionWrapper(
name->GetString(), code->GetString(), handler.get()));
content::RenderThread::Get()->RegisterExtension(wrapper);
content::RenderThread::Get()->RegisterExtension(std::move(wrapper));
return true;
}

View File

@ -43,7 +43,7 @@ patches = [
# Export GetUnicodeCharacterFromXKeySym and XKeySymToDomKey
# to fix component builds.
# https://bitbucket.org/chromiumembedded/cef/issues/2587
'name': 'component_build_1617_2587',
'name': 'component_build',
},
{
# Revert change on Windows that removes MessageLoop::os_modal_loop().
@ -413,11 +413,5 @@ 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 "error: unknown escape sequence" with jumbo builds.
# https://bugs.chromium.org/p/chromium/issues/detail?id=924454
'name': 'v8_embed_924454',
'path': 'v8',
}
]

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 5825f9515121..2d2faa456e66 100644
index 5d42110bf368..146cc5c81eba 100644
--- content/browser/renderer_host/render_widget_host_view_child_frame.cc
+++ content/browser/renderer_host/render_widget_host_view_child_frame.cc
@@ -641,6 +641,7 @@ void RenderWidgetHostViewChildFrame::SubmitCompositorFrame(
@@ -652,6 +652,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 5825f9515121..2d2faa456e66 100644
}
void RenderWidgetHostViewChildFrame::OnDidNotProduceFrame(
@@ -649,6 +650,15 @@ void RenderWidgetHostViewChildFrame::OnDidNotProduceFrame(
@@ -660,6 +661,15 @@ void RenderWidgetHostViewChildFrame::OnDidNotProduceFrame(
support_->DidNotProduceFrame(ack);
}
@ -26,7 +26,7 @@ index 5825f9515121..2d2faa456e66 100644
void RenderWidgetHostViewChildFrame::TransformPointToRootSurface(
gfx::PointF* point) {
// This function is called by RenderWidgetHostInputEventRouter only for
@@ -834,6 +844,11 @@ void RenderWidgetHostViewChildFrame::ShowDefinitionForSelection() {
@@ -845,6 +855,11 @@ void RenderWidgetHostViewChildFrame::ShowDefinitionForSelection() {
void RenderWidgetHostViewChildFrame::SpeakSelection() {}
#endif // defined(OS_MACOSX)

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 fa03ea14330e..c1bd1b67ce21 100644
index 5ec2e8461380..4ba494dad4ba 100644
--- content/browser/browser_plugin/browser_plugin_guest.cc
+++ content/browser/browser_plugin/browser_plugin_guest.cc
@@ -347,8 +347,11 @@ void BrowserPluginGuest::InitInternal(
@@ -348,8 +348,11 @@ void BrowserPluginGuest::InitInternal(
static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
}
@ -15,7 +15,7 @@ index fa03ea14330e..c1bd1b67ce21 100644
// Once a BrowserPluginGuest has an embedder WebContents, it's considered to
// be attached.
@@ -861,10 +864,19 @@ void BrowserPluginGuest::OnWillAttachComplete(
@@ -862,10 +865,19 @@ void BrowserPluginGuest::OnWillAttachComplete(
static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
if (!web_contents()->GetRenderViewHost()->GetWidget()->GetView()) {
web_contents_view->CreateViewForWidget(
@ -37,7 +37,7 @@ index fa03ea14330e..c1bd1b67ce21 100644
attached_ = true;
diff --git content/browser/frame_host/interstitial_page_impl.cc content/browser/frame_host/interstitial_page_impl.cc
index a97648ef717b..b82895c89f77 100644
index dbc6281ef737..e413bf418b25 100644
--- content/browser/frame_host/interstitial_page_impl.cc
+++ content/browser/frame_host/interstitial_page_impl.cc
@@ -632,7 +632,7 @@ WebContentsView* InterstitialPageImpl::CreateWebContentsView() {
@ -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 68fb77a4a2f6..19478931e111 100644
index 3ae2cd85d98e..d1eaec9bd939 100644
--- content/browser/web_contents/web_contents_view_aura.cc
+++ content/browser/web_contents/web_contents_view_aura.cc
@@ -867,7 +867,8 @@ void WebContentsViewAura::CreateView(const gfx::Size& initial_size,
@ -101,7 +101,7 @@ index 68fb77a4a2f6..19478931e111 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 5fdd86264d57..f023768a3d36 100644
index c917d912bbdf..36b9d9b8e3e9 100644
--- content/browser/web_contents/web_contents_view_aura.h
+++ content/browser/web_contents/web_contents_view_aura.h
@@ -110,7 +110,7 @@ class CONTENT_EXPORT WebContentsViewAura
@ -221,10 +221,10 @@ index c0c553023138..39b8fe0bd57c 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 d4f6a36dce63..ba6382ee43ea 100644
index 7f4308b56a14..d17b8b8ef44d 100644
--- content/browser/web_contents/web_contents_view_mac.mm
+++ content/browser/web_contents/web_contents_view_mac.mm
@@ -313,7 +313,8 @@ void WebContentsViewMac::CreateView(
@@ -312,7 +312,8 @@ void WebContentsViewMac::CreateView(
}
RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
@ -234,7 +234,7 @@ index d4f6a36dce63..ba6382ee43ea 100644
if (render_widget_host->GetView()) {
// During testing, the view will already be set up in most cases to the
// test view, so we don't want to clobber it with a real one. To verify that
@@ -325,6 +326,7 @@ RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
@@ -324,6 +325,7 @@ RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
render_widget_host->GetView());
}
@ -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 a1c6f299d429..3d3c38d1d994 100644
index 7a1f8c1caffd..a6bff0e50a04 100644
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
@@ -207,6 +207,8 @@ void MimeHandlerViewGuest::CreateWebContents(
@@ -208,6 +208,8 @@ void MimeHandlerViewGuest::CreateWebContents(
WebContents::CreateParams params(browser_context(),
guest_site_instance.get());
params.guest_delegate = this;
@ -278,7 +278,7 @@ index a1c6f299d429..3d3c38d1d994 100644
// TODO(erikchen): Fix ownership semantics for guest views.
// https://crbug.com/832879.
std::move(callback).Run(
@@ -251,6 +253,18 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
@@ -252,6 +254,18 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
return true;
}

View File

@ -1,8 +1,8 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index 68dc6a001a49..5987483d3127 100644
index 0b18059e72df..fd82d5b14efd 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -164,7 +164,7 @@ declare_args() {
@@ -166,7 +166,7 @@ declare_args() {
!use_clang_coverage && !(is_android && use_order_profiling) &&
(use_lld ||
(use_gold &&

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index 6ebafc0acd44..96644b7b809c 100644
index 809f1819b37e..697ef3f97926 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -8,6 +8,7 @@ import("//build/config/features.gni")
@ -10,7 +10,7 @@ index 6ebafc0acd44..96644b7b809c 100644
import("//chrome/common/features.gni")
import("//components/feature_engagement/features.gni")
import("//components/feed/features.gni")
@@ -1732,6 +1733,7 @@ jumbo_split_static_library("browser") {
@@ -1794,6 +1795,7 @@ jumbo_split_static_library("browser") {
"//base:i18n",
"//base/allocator:buildflags",
"//cc",
@ -18,7 +18,7 @@ index 6ebafc0acd44..96644b7b809c 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2020,6 +2022,10 @@ jumbo_split_static_library("browser") {
@@ -2083,6 +2085,10 @@ jumbo_split_static_library("browser") {
]
}
@ -29,7 +29,7 @@ index 6ebafc0acd44..96644b7b809c 100644
if (is_android) {
sources += [
"after_startup_task_utils_android.cc",
@@ -3713,7 +3719,7 @@ jumbo_split_static_library("browser") {
@@ -3810,7 +3816,7 @@ jumbo_split_static_library("browser") {
]
}

View File

@ -39,7 +39,7 @@ index 31234258792d..36ba13242a9c 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 d70dd33f4f41..3d4db9e49933 100644
index 7168c719aa25..bae7162a539c 100644
--- chrome/browser/browser_process_impl.h
+++ chrome/browser/browser_process_impl.h
@@ -140,6 +140,7 @@ class BrowserProcessImpl : public BrowserProcess,

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 16c500023e3f..e0bc6609c6ae 100644
index 9ab37ce7d4ca..71632ab3534e 100644
--- chrome/browser/profiles/profile_manager.cc
+++ chrome/browser/profiles/profile_manager.cc
@@ -386,7 +386,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
@@ -384,7 +384,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED,
content::NotificationService::AllSources());

View File

@ -125,10 +125,10 @@ 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 9136ab583964..1839ce97c7e4 100644
index 2e90fc9add69..9d644676e15f 100644
--- chrome/renderer/chrome_content_renderer_client.cc
+++ chrome/renderer/chrome_content_renderer_client.cc
@@ -781,6 +781,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -785,6 +785,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
if ((status == chrome::mojom::PluginStatus::kUnauthorized ||
status == chrome::mojom::PluginStatus::kBlocked) &&
@ -136,7 +136,7 @@ index 9136ab583964..1839ce97c7e4 100644
observer->IsPluginTemporarilyAllowed(identifier)) {
status = chrome::mojom::PluginStatus::kAllowed;
}
@@ -968,7 +969,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -969,7 +970,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
&plugin_auth_host);
plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier);
@ -146,7 +146,7 @@ index 9136ab583964..1839ce97c7e4 100644
break;
}
case chrome::mojom::PluginStatus::kBlocked: {
@@ -977,7 +979,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -978,7 +980,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name));
placeholder->AllowLoading();
RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked"));
@ -156,7 +156,7 @@ index 9136ab583964..1839ce97c7e4 100644
break;
}
case chrome::mojom::PluginStatus::kBlockedByPolicy: {
@@ -987,7 +990,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -988,7 +991,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
group_name));
RenderThread::Get()->RecordAction(
UserMetricsAction("Plugin_BlockedByPolicy"));
@ -166,7 +166,7 @@ index 9136ab583964..1839ce97c7e4 100644
break;
}
case chrome::mojom::PluginStatus::kBlockedNoLoading: {
@@ -995,7 +999,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -996,7 +1000,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
IDR_BLOCKED_PLUGIN_HTML,
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED_NO_LOADING,
group_name));
@ -177,7 +177,7 @@ index 9136ab583964..1839ce97c7e4 100644
}
case chrome::mojom::PluginStatus::kComponentUpdateRequired: {
diff --git chrome/renderer/plugins/chrome_plugin_placeholder.cc chrome/renderer/plugins/chrome_plugin_placeholder.cc
index ddec5604dc24..d91befbf6e2c 100644
index eac14f9ae0d2..f6a3c8f0039b 100644
--- chrome/renderer/plugins/chrome_plugin_placeholder.cc
+++ chrome/renderer/plugins/chrome_plugin_placeholder.cc
@@ -350,8 +350,11 @@ void ChromePluginPlaceholder::OnBlockedContent(

View File

@ -1,5 +1,5 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index 2e32e5797683..89892c369d0b 100644
index 80146842a974..24cbe9d80640 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -4,6 +4,7 @@
@ -10,7 +10,7 @@ index 2e32e5797683..89892c369d0b 100644
import("//chrome/common/features.gni")
import("//components/nacl/features.gni")
import("//components/offline_pages/buildflags/features.gni")
@@ -123,6 +124,7 @@ jumbo_static_library("renderer") {
@@ -121,6 +122,7 @@ jumbo_static_library("renderer") {
defines = []
deps = [
@ -18,7 +18,7 @@ index 2e32e5797683..89892c369d0b 100644
"//chrome:resources",
"//chrome:strings",
"//chrome/common",
@@ -188,6 +190,10 @@ jumbo_static_library("renderer") {
@@ -186,6 +188,10 @@ jumbo_static_library("renderer") {
configs += [ "//build/config/compiler:wexit_time_destructors" ]

View File

@ -1,8 +1,8 @@
diff --git chrome/common/chrome_content_client.cc chrome/common/chrome_content_client.cc
index 6f0e5c53c37a..63551a75cbf7 100644
index cbfea8ee06b3..125a12b9c33f 100644
--- chrome/common/chrome_content_client.cc
+++ chrome/common/chrome_content_client.cc
@@ -97,7 +97,8 @@
@@ -98,7 +98,8 @@
// Registers Widevine CDM if Widevine is enabled, the Widevine CDM is
// bundled and not a component. When the Widevine CDM is a component, it is
// registered in widevine_cdm_component_installer.cc.

View File

@ -33,11 +33,33 @@ index fc252b6ceffd..b0dfd847ec03 100644
public:
MouseWheelPhaseHandler(RenderWidgetHostViewBase* const host_view);
~MouseWheelPhaseHandler() {}
diff --git content/browser/renderer_host/input/synthetic_gesture_target_base.h content/browser/renderer_host/input/synthetic_gesture_target_base.h
index 53476354343e..fd1a7a24455b 100644
--- content/browser/renderer_host/input/synthetic_gesture_target_base.h
+++ content/browser/renderer_host/input/synthetic_gesture_target_base.h
@@ -8,6 +8,7 @@
#include "base/macros.h"
#include "base/time/time.h"
#include "content/browser/renderer_host/input/synthetic_gesture_target.h"
+#include "content/common/content_export.h"
namespace ui {
class LatencyInfo;
@@ -24,7 +25,8 @@ namespace content {
class RenderWidgetHostImpl;
-class SyntheticGestureTargetBase : public SyntheticGestureTarget {
+class CONTENT_EXPORT SyntheticGestureTargetBase :
+ public SyntheticGestureTarget {
public:
explicit SyntheticGestureTargetBase(RenderWidgetHostImpl* host);
~SyntheticGestureTargetBase() override;
diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn
index 7668f3725200..665e8e579c54 100644
index 65c03e2a2f7d..f44826c38236 100644
--- third_party/blink/renderer/controller/BUILD.gn
+++ third_party/blink/renderer/controller/BUILD.gn
@@ -25,6 +25,7 @@ component("controller") {
@@ -26,6 +26,7 @@ jumbo_component("controller") {
configs += [
"//build/config/compiler:wexit_time_destructors",
@ -45,28 +67,28 @@ index 7668f3725200..665e8e579c54 100644
"//third_party/blink/renderer:config",
"//third_party/blink/renderer:inside_blink",
"//third_party/blink/renderer:non_test_config",
@@ -47,6 +48,8 @@ component("controller") {
@@ -46,6 +47,8 @@ jumbo_component("controller") {
"dev_tools_frontend_impl.h",
"memory_usage_monitor.cc",
"memory_usage_monitor.h",
"memory_usage_monitor_android.cc",
"memory_usage_monitor_android.h",
+ "//cef/libcef/renderer/blink_glue.cc",
+ "//cef/libcef/renderer/blink_glue.h",
]
if (is_android) {
diff --git ui/events/keycodes/BUILD.gn ui/events/keycodes/BUILD.gn
index 1e6d31cc0c92..36f3283291d9 100644
index 97e5fd499c81..8508a8fbcc8e 100644
--- ui/events/keycodes/BUILD.gn
+++ ui/events/keycodes/BUILD.gn
@@ -14,6 +14,8 @@ jumbo_source_set("xkb") {
"xkb_keysym.h",
@@ -18,6 +18,8 @@ jumbo_source_set("xkb") {
"//ui/base:buildflags",
]
+ defines = [ "KEYCODES_X_IMPLEMENTATION" ]
+
deps = [
"//base",
"//ui/base:buildflags",
"//ui/events:dom_keycode_converter",
diff --git ui/events/keycodes/keyboard_code_conversion_xkb.h ui/events/keycodes/keyboard_code_conversion_xkb.h
index a1f9b78704fb..c7d3558251d9 100644
--- ui/events/keycodes/keyboard_code_conversion_xkb.h

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/download/download_target_determiner.cc chrome/browser/download/download_target_determiner.cc
index 1c59cafd7a77..b42979fa9dec 100644
index 25de1508db60..5fcfffa96b89 100644
--- chrome/browser/download/download_target_determiner.cc
+++ chrome/browser/download/download_target_determiner.cc
@@ -572,8 +572,8 @@ void IsHandledBySafePlugin(content::ResourceContext* resource_context,
@@ -597,8 +597,8 @@ void IsHandledBySafePlugin(content::ResourceContext* resource_context,
content::PluginService* plugin_service =
content::PluginService::GetInstance();
bool plugin_found = plugin_service->GetPluginInfo(
@ -38,23 +38,25 @@ index c707c8773a74..20bdf74abf01 100644
content::WebPluginInfo* plugin) override;
diff --git chrome/browser/plugins/pdf_iframe_navigation_throttle.cc chrome/browser/plugins/pdf_iframe_navigation_throttle.cc
index b6da8e846a2a..dd7ec1be2556 100644
index 2eb7f21919fd..4218d3352d70 100644
--- chrome/browser/plugins/pdf_iframe_navigation_throttle.cc
+++ chrome/browser/plugins/pdf_iframe_navigation_throttle.cc
@@ -56,7 +56,7 @@ PDFIFrameNavigationThrottle::MaybeCreateThrottleFor(
content::ResourceContext* resource_context =
handle->GetWebContents()->GetBrowserContext()->GetResourceContext();
if (filter->IsPluginAvailable(process_id, routing_id, resource_context,
- handle->GetURL(), url::Origin(),
+ handle->GetURL(), false, url::Origin(),
&pdf_plugin_info)) {
return nullptr;
}
@@ -71,8 +71,8 @@ bool IsPDFPluginEnabled(content::NavigationHandle* navigation_handle,
content::WebPluginInfo plugin_info;
return content::PluginService::GetInstance()->GetPluginInfo(
process_id, routing_id, resource_context, navigation_handle->GetURL(),
- web_contents->GetMainFrame()->GetLastCommittedOrigin(), kPDFMimeType,
- false /* allow_wildcard */, is_stale, &plugin_info,
+ false, web_contents->GetMainFrame()->GetLastCommittedOrigin(),
+ kPDFMimeType, false /* allow_wildcard */, is_stale, &plugin_info,
nullptr /* actual_mime_type */);
}
#endif
diff --git chrome/browser/ui/views/frame/browser_root_view.cc chrome/browser/ui/views/frame/browser_root_view.cc
index ebf8531af849..fff277b7e62b 100644
index e877397f869b..d3040b01cf6a 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,
@@ -70,7 +70,7 @@ void OnFindURLMimeType(const GURL& url,
content::PluginService::GetInstance()->GetPluginInfo(
-1, // process ID
MSG_ROUTING_NONE, // routing ID
@ -64,10 +66,10 @@ index ebf8531af849..fff277b7e62b 100644
}
diff --git content/browser/frame_host/navigation_handle_impl.cc content/browser/frame_host/navigation_handle_impl.cc
index 244992176f0f..a238f052d468 100644
index 48b56d92a82a..06d463660a94 100644
--- content/browser/frame_host/navigation_handle_impl.cc
+++ content/browser/frame_host/navigation_handle_impl.cc
@@ -391,12 +391,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() {
@@ -348,12 +348,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() {
}
RenderFrameHostImpl* NavigationHandleImpl::GetRenderFrameHost() {
@ -81,10 +83,10 @@ index 244992176f0f..a238f052d468 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 a6c9e15b29af..6fa7cbe3de6b 100644
index 2d6227362f32..4aa419238e94 100644
--- content/browser/frame_host/render_frame_host_impl.cc
+++ content/browser/frame_host/render_frame_host_impl.cc
@@ -2153,6 +2153,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
@@ -2125,6 +2125,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
if (GetNavigationHandle()) {
GetNavigationHandle()->set_net_error_code(
static_cast<net::Error>(params.error_code));
@ -92,7 +94,7 @@ index a6c9e15b29af..6fa7cbe3de6b 100644
}
frame_tree_node_->navigator()->DidFailProvisionalLoadWithError(this, params);
@@ -4834,9 +4835,9 @@ void RenderFrameHostImpl::CommitNavigation(
@@ -4741,9 +4742,9 @@ void RenderFrameHostImpl::CommitNavigation(
DCHECK(base::FeatureList::IsEnabled(network::features::kNetworkService) ||
base::FeatureList::IsEnabled(
blink::features::kServiceWorkerServicification));
@ -105,10 +107,10 @@ index a6c9e15b29af..6fa7cbe3de6b 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 789c40612628..17c30e0b5d57 100644
index e17622d6221a..a44c7d6a577d 100644
--- content/browser/frame_host/render_frame_message_filter.cc
+++ content/browser/frame_host/render_frame_message_filter.cc
@@ -699,6 +699,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id,
@@ -704,6 +704,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id,
void RenderFrameMessageFilter::OnGetPluginInfo(
int render_frame_id,
const GURL& url,
@ -116,7 +118,7 @@ index 789c40612628..17c30e0b5d57 100644
const url::Origin& main_frame_origin,
const std::string& mime_type,
bool* found,
@@ -710,8 +711,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
@@ -715,8 +716,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
bool allow_wildcard = true;
*found = plugin_service_->GetPluginInfo(
render_process_id_, render_frame_id, resource_context_, url,
@ -128,10 +130,10 @@ index 789c40612628..17c30e0b5d57 100644
void RenderFrameMessageFilter::OnOpenChannelToPepperPlugin(
diff --git content/browser/frame_host/render_frame_message_filter.h content/browser/frame_host/render_frame_message_filter.h
index 5d68724cf488..d071548d130d 100644
index 641c7bcbf1b8..3faf6a6452c4 100644
--- content/browser/frame_host/render_frame_message_filter.h
+++ content/browser/frame_host/render_frame_message_filter.h
@@ -145,6 +145,7 @@ class CONTENT_EXPORT RenderFrameMessageFilter
@@ -146,6 +146,7 @@ class CONTENT_EXPORT RenderFrameMessageFilter
#if BUILDFLAG(ENABLE_PLUGINS)
void OnGetPluginInfo(int render_frame_id,
const GURL& url,
@ -140,10 +142,10 @@ index 5d68724cf488..d071548d130d 100644
const std::string& mime_type,
bool* found,
diff --git content/browser/loader/mime_sniffing_resource_handler.cc content/browser/loader/mime_sniffing_resource_handler.cc
index 29fa240d62f0..5fac556426ba 100644
index 3b788c4a564d..7f16dccdb712 100644
--- content/browser/loader/mime_sniffing_resource_handler.cc
+++ content/browser/loader/mime_sniffing_resource_handler.cc
@@ -504,8 +504,8 @@ bool MimeSniffingResourceHandler::CheckForPluginHandler(
@@ -510,8 +510,8 @@ bool MimeSniffingResourceHandler::CheckForPluginHandler(
WebPluginInfo plugin;
bool has_plugin = plugin_service_->GetPluginInfo(
info->GetChildID(), info->GetRenderFrameID(), info->GetContext(),
@ -155,10 +157,10 @@ index 29fa240d62f0..5fac556426ba 100644
if (stale) {
// Refresh the plugins asynchronously.
diff --git content/browser/plugin_service_impl.cc content/browser/plugin_service_impl.cc
index 7834d3d18430..b88ec0016d83 100644
index a599f989065f..115867edec92 100644
--- content/browser/plugin_service_impl.cc
+++ content/browser/plugin_service_impl.cc
@@ -303,6 +303,7 @@ bool PluginServiceImpl::GetPluginInfo(int render_process_id,
@@ -302,6 +302,7 @@ bool PluginServiceImpl::GetPluginInfo(int render_process_id,
int render_frame_id,
ResourceContext* context,
const GURL& url,
@ -166,7 +168,7 @@ index 7834d3d18430..b88ec0016d83 100644
const url::Origin& main_frame_origin,
const std::string& mime_type,
bool allow_wildcard,
@@ -319,7 +320,8 @@ bool PluginServiceImpl::GetPluginInfo(int render_process_id,
@@ -318,7 +319,8 @@ bool PluginServiceImpl::GetPluginInfo(int render_process_id,
for (size_t i = 0; i < plugins.size(); ++i) {
if (!filter_ ||
filter_->IsPluginAvailable(render_process_id, render_frame_id, context,
@ -189,10 +191,10 @@ index cb19abcd26b8..12d66dd7db6e 100644
const std::string& mime_type,
bool allow_wildcard,
diff --git content/browser/renderer_host/plugin_registry_impl.cc content/browser/renderer_host/plugin_registry_impl.cc
index ec071f3b89c1..bfd71fbbe18d 100644
index 0c598ddb2df7..1049a9ac2b74 100644
--- content/browser/renderer_host/plugin_registry_impl.cc
+++ content/browser/renderer_host/plugin_registry_impl.cc
@@ -24,6 +24,7 @@ void PluginRegistryImpl::Bind(blink::mojom::PluginRegistryRequest request) {
@@ -25,6 +25,7 @@ void PluginRegistryImpl::Bind(blink::mojom::PluginRegistryRequest request) {
}
void PluginRegistryImpl::GetPlugins(bool refresh,
@ -200,7 +202,7 @@ index ec071f3b89c1..bfd71fbbe18d 100644
const url::Origin& main_frame_origin,
GetPluginsCallback callback) {
auto* plugin_service = PluginServiceImpl::GetInstance();
@@ -45,17 +46,18 @@ void PluginRegistryImpl::GetPlugins(bool refresh,
@@ -46,17 +47,18 @@ void PluginRegistryImpl::GetPlugins(bool refresh,
plugin_service->GetPlugins(base::BindOnce(
&PluginRegistryImpl::GetPluginsComplete, weak_factory_.GetWeakPtr(),
@ -221,7 +223,7 @@ index ec071f3b89c1..bfd71fbbe18d 100644
const int routing_id = MSG_ROUTING_NONE;
// In this loop, copy the WebPluginInfo (and do not use a reference) because
// the filter might mutate it.
@@ -64,7 +66,7 @@ void PluginRegistryImpl::GetPluginsComplete(
@@ -65,7 +67,7 @@ void PluginRegistryImpl::GetPluginsComplete(
if (!filter ||
filter->IsPluginAvailable(child_process_id, routing_id,
resource_context_, main_frame_origin.GetURL(),
@ -261,10 +263,10 @@ index 3009401dac6b..b4c5a9e2db50 100644
};
diff --git content/common/frame_messages.h content/common/frame_messages.h
index 6ffaaf08ccc0..7e18a3cf2399 100644
index b48fee6e264a..24665ed6fe07 100644
--- content/common/frame_messages.h
+++ content/common/frame_messages.h
@@ -1350,9 +1350,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
@@ -1349,9 +1349,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.
@ -301,7 +303,7 @@ index 3b610b1f554e..7c439e060779 100644
WebPluginInfo* plugin) = 0;
diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h
index cfe87b6c3903..fcbd83a5db9b 100644
index 0bca8dc6a55e..bd40da8b5396 100644
--- content/public/renderer/content_renderer_client.h
+++ content/public/renderer/content_renderer_client.h
@@ -73,6 +73,9 @@ class CONTENT_EXPORT ContentRendererClient {
@ -314,7 +316,7 @@ index cfe87b6c3903..fcbd83a5db9b 100644
// Notifies that a new RenderFrame has been created.
virtual void RenderFrameCreated(RenderFrame* render_frame) {}
@@ -327,6 +330,10 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -328,6 +331,10 @@ class CONTENT_EXPORT ContentRendererClient {
// This method may invalidate the frame.
virtual void RunScriptsAtDocumentIdle(RenderFrame* render_frame) {}
@ -340,10 +342,10 @@ index 8136604d267a..be7fde2f1a38 100644
virtual void FocusedNodeChanged(const blink::WebNode& node) {}
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
index 5b45214bdb34..8d654d142309 100644
index 104e48abf3b8..0fbdbfc44fd7 100644
--- content/renderer/render_frame_impl.cc
+++ content/renderer/render_frame_impl.cc
@@ -3689,7 +3689,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
@@ -3893,7 +3893,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
std::string mime_type;
bool found = false;
Send(new FrameHostMsg_GetPluginInfo(
@ -353,7 +355,7 @@ index 5b45214bdb34..8d654d142309 100644
params.mime_type.Utf8(), &found, &info, &mime_type));
if (!found)
return nullptr;
@@ -4072,6 +4073,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
@@ -4276,6 +4277,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
void RenderFrameImpl::FrameFocused() {
Send(new FrameHostMsg_FrameFocused(routing_id_));
@ -363,10 +365,10 @@ index 5b45214bdb34..8d654d142309 100644
void RenderFrameImpl::WillCommitProvisionalLoad() {
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index 44df5d5461c7..b3a7d92a547e 100644
index b5669f996bb7..6c51c2e6699a 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -815,6 +815,8 @@ void RenderThreadImpl::Init() {
@@ -819,6 +819,8 @@ void RenderThreadImpl::Init() {
StartServiceManagerConnection();
@ -376,10 +378,10 @@ index 44df5d5461c7..b3a7d92a547e 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 704ee01d0a30..6ad832e8f492 100644
index 6fa35ba65753..eb9731d0ea48 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -1051,6 +1051,14 @@ void RendererBlinkPlatformImpl::SetMemoryPressureNotificationsSuppressed(
@@ -1082,6 +1082,14 @@ void RendererBlinkPlatformImpl::SetMemoryPressureNotificationsSuppressed(
base::MemoryPressureListener::SetNotificationsSuppressed(suppressed);
}
@ -395,10 +397,10 @@ index 704ee01d0a30..6ad832e8f492 100644
if (!web_database_host_) {
web_database_host_ = blink::mojom::ThreadSafeWebDatabaseHostPtr::Create(
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
index 0052cff07aec..e1920c231d9c 100644
index e3d39d775eff..7e75b0267c11 100644
--- content/renderer/renderer_blink_platform_impl.h
+++ content/renderer/renderer_blink_platform_impl.h
@@ -229,6 +229,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
@@ -237,6 +237,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
void RequestPurgeMemory() override;
void SetMemoryPressureNotificationsSuppressed(bool suppressed) override;

View File

@ -127,7 +127,7 @@ index fdc51ab22807..cb0a99dd190c 100644
g_crash_helper_enabled = true;
return true;
diff --git components/crash/content/app/breakpad_linux.cc components/crash/content/app/breakpad_linux.cc
index a7378204ffaa..7efc255eb1b4 100644
index ecc7d66acb03..abc4371f429b 100644
--- components/crash/content/app/breakpad_linux.cc
+++ components/crash/content/app/breakpad_linux.cc
@@ -28,6 +28,7 @@
@ -227,10 +227,10 @@ index a7378204ffaa..7efc255eb1b4 100644
void InitNonBrowserCrashReporterForAndroid(const std::string& process_type) {
SanitizationInfo sanitization_info;
diff --git components/crash/content/app/breakpad_linux.h components/crash/content/app/breakpad_linux.h
index 9ee85554812c..7af55ddda8fe 100644
index 6e95af6ca7f5..061fb189d60f 100644
--- components/crash/content/app/breakpad_linux.h
+++ components/crash/content/app/breakpad_linux.h
@@ -19,6 +19,9 @@ extern void InitCrashReporter(const std::string& process_type);
@@ -20,6 +20,9 @@ extern void InitCrashReporter(const std::string& process_type);
// Sets the product/distribution channel crash key.
void SetChannelCrashKey(const std::string& channel);
@ -388,10 +388,10 @@ index caebf67a7e0f..5e7cf3d8c1a6 100644
} // namespace crash_reporter
diff --git components/crash/content/app/crashpad.cc components/crash/content/app/crashpad.cc
index a04a4d843004..366a687c352d 100644
index 72c9703b692d..6f0464a78012 100644
--- components/crash/content/app/crashpad.cc
+++ components/crash/content/app/crashpad.cc
@@ -150,7 +150,8 @@ void InitializeCrashpadImpl(bool initial_client,
@@ -151,7 +151,8 @@ void InitializeCrashpadImpl(bool initial_client,
// fallback. Forwarding is turned off for debug-mode builds even for the
// browser process, because the system's crash reporter can take a very long
// time to chew on symbols.
@ -402,7 +402,7 @@ index a04a4d843004..366a687c352d 100644
->set_system_crash_reporter_forwarding(crashpad::TriState::kDisabled);
}
diff --git components/crash/content/app/crashpad_mac.mm components/crash/content/app/crashpad_mac.mm
index f079174b3586..ff9a19e259fb 100644
index a76d264648d2..ff9a19e259fb 100644
--- components/crash/content/app/crashpad_mac.mm
+++ components/crash/content/app/crashpad_mac.mm
@@ -16,11 +16,14 @@
@ -472,13 +472,14 @@ index f079174b3586..ff9a19e259fb 100644
} // @autoreleasepool
return process_annotations;
}();
@@ -122,9 +142,10 @@ base::FilePath PlatformCrashpadInitialization(
@@ -122,10 +142,10 @@ base::FilePath PlatformCrashpadInitialization(
if (initial_client) {
@autoreleasepool {
- base::FilePath framework_bundle_path = base::mac::FrameworkBundlePath();
- base::FilePath handler_path =
- framework_bundle_path.Append("Helpers").Append("crashpad_handler");
- framework_bundle_path.Append("Helpers").Append(
- "chrome_crashpad_handler");
+ // Use the same subprocess helper exe.
+ base::FilePath handler_path;
+ base::PathService::Get(content::CHILD_PROCESS_EXE, &handler_path);
@ -486,7 +487,7 @@ index f079174b3586..ff9a19e259fb 100644
// Is there a way to recover if this fails?
CrashReporterClient* crash_reporter_client = GetCrashReporterClient();
@@ -136,7 +157,7 @@ base::FilePath PlatformCrashpadInitialization(
@@ -137,7 +157,7 @@ base::FilePath PlatformCrashpadInitialization(
// crash server won't have symbols for any other build types.
std::string url = "https://clients2.google.com/cr/report";
#else
@ -495,7 +496,7 @@ index f079174b3586..ff9a19e259fb 100644
#endif
std::vector<std::string> arguments;
@@ -159,6 +180,12 @@ base::FilePath PlatformCrashpadInitialization(
@@ -160,6 +180,12 @@ base::FilePath PlatformCrashpadInitialization(
"--reset-own-crash-exception-port-to-system-default");
}
@ -597,10 +598,10 @@ index cc16c40ea320..3bb03459adf4 100644
if (crash_reporter_client->ShouldMonitorCrashHandlerExpensively()) {
diff --git content/browser/frame_host/debug_urls.cc content/browser/frame_host/debug_urls.cc
index d396b2fc0309..e1451174d705 100644
index 8dd06415ce2f..b809cf14d9d1 100644
--- content/browser/frame_host/debug_urls.cc
+++ content/browser/frame_host/debug_urls.cc
@@ -134,7 +134,9 @@ bool HandleDebugURL(const GURL& url, ui::PageTransition transition) {
@@ -135,7 +135,9 @@ bool HandleDebugURL(const GURL& url, ui::PageTransition transition) {
cc::switches::kEnableGpuBenchmarking) &&
(PageTransitionCoreTypeIs(transition, ui::PAGE_TRANSITION_TYPED));

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 7a91b1c38e99..19e7c2b71955 100644
index 32d4d6c11a15..7c1b1a344831 100644
--- third_party/crashpad/crashpad/handler/BUILD.gn
+++ third_party/crashpad/crashpad/handler/BUILD.gn
@@ -12,6 +12,7 @@

View File

@ -27,10 +27,10 @@ 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 53586512b68f..3a7ba906571a 100644
index 11643f592dee..687e9da19789 100644
--- content/browser/frame_host/render_frame_host_manager.cc
+++ content/browser/frame_host/render_frame_host_manager.cc
@@ -945,10 +945,11 @@ bool RenderFrameHostManager::ShouldSwapBrowsingInstancesForNavigation(
@@ -955,10 +955,11 @@ bool RenderFrameHostManager::ShouldSwapBrowsingInstancesForNavigation(
// TODO(alexmos): This check should've been enforced earlier in the
// navigation, in chrome::Navigate(). Verify this, and then convert this to
// a CHECK and remove the fallback.
@ -46,7 +46,7 @@ index 53586512b68f..3a7ba906571a 100644
return true;
}
@@ -1087,7 +1088,8 @@ RenderFrameHostManager::GetSiteInstanceForNavigation(
@@ -1097,7 +1098,8 @@ RenderFrameHostManager::GetSiteInstanceForNavigation(
// Double-check that the new SiteInstance is associated with the right
// BrowserContext.
@ -57,10 +57,10 @@ index 53586512b68f..3a7ba906571a 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 694796bf8dbb..86c9088c1721 100644
index a013031c6e2a..d43890a109e9 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -452,6 +452,13 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -456,6 +456,13 @@ class CONTENT_EXPORT ContentBrowserClient {
// Returns true if error page should be isolated in its own process.
virtual bool ShouldIsolateErrorPage(bool in_main_frame);
@ -74,7 +74,7 @@ index 694796bf8dbb..86c9088c1721 100644
// Returns true if the passed in URL should be assigned as the site of the
// current SiteInstance, if it does not yet have a site.
virtual bool ShouldAssignSiteForURL(const GURL& url);
@@ -1460,6 +1467,10 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1461,6 +1468,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Used as part of the user agent string.
virtual std::string GetProduct() const;
@ -191,10 +191,10 @@ index 4027505469b8..de8258562bb2 100644
// A weak pointer to the current or pending RenderViewHost. We don't access
// this through the host_contents because we want to deal with the pending
diff --git extensions/browser/extensions_browser_client.h extensions/browser/extensions_browser_client.h
index 380b2d3326f6..733918754949 100644
index 93dce1cad08c..fdb7ad2193d7 100644
--- extensions/browser/extensions_browser_client.h
+++ extensions/browser/extensions_browser_client.h
@@ -61,6 +61,7 @@ class ComponentExtensionResourceManager;
@@ -62,6 +62,7 @@ class ComponentExtensionResourceManager;
class Extension;
class ExtensionCache;
class ExtensionError;
@ -202,7 +202,7 @@ index 380b2d3326f6..733918754949 100644
class ExtensionHostDelegate;
class ExtensionPrefsObserver;
class ExtensionApiFrameIdMap;
@@ -133,6 +134,11 @@ class ExtensionsBrowserClient {
@@ -134,6 +135,11 @@ class ExtensionsBrowserClient {
virtual content::BrowserContext* GetOriginalContext(
content::BrowserContext* context) = 0;
@ -214,7 +214,7 @@ index 380b2d3326f6..733918754949 100644
#if defined(OS_CHROMEOS)
// Returns a user id hash from |context| or an empty string if no hash could
// be extracted.
@@ -215,6 +221,14 @@ class ExtensionsBrowserClient {
@@ -216,6 +222,14 @@ class ExtensionsBrowserClient {
virtual std::unique_ptr<ExtensionHostDelegate>
CreateExtensionHostDelegate() = 0;
@ -230,10 +230,10 @@ index 380b2d3326f6..733918754949 100644
// once each time the extensions system is loaded per browser_context. The
// implementation may wish to use the BrowserContext to record the current
diff --git extensions/browser/process_manager.cc extensions/browser/process_manager.cc
index f9b216c59808..e36d9afc6cdf 100644
index 30847850a812..9b59574c1bf1 100644
--- extensions/browser/process_manager.cc
+++ extensions/browser/process_manager.cc
@@ -359,9 +359,16 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
@@ -382,9 +382,16 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
return true; // TODO(kalman): return false here? It might break things...
DVLOG(1) << "CreateBackgroundHost " << extension->id();

View File

@ -27,10 +27,10 @@ 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 5aeda7bd9caf..1f18a5599bec 100644
index bc1934e2c7b4..c139815caa52 100644
--- content/browser/compositor/gpu_process_transport_factory.cc
+++ content/browser/compositor/gpu_process_transport_factory.cc
@@ -216,6 +216,18 @@ GpuProcessTransportFactory::~GpuProcessTransportFactory() {
@@ -209,6 +209,18 @@ GpuProcessTransportFactory::~GpuProcessTransportFactory() {
task_graph_runner_->Shutdown();
}
@ -49,41 +49,41 @@ index 5aeda7bd9caf..1f18a5599bec 100644
std::unique_ptr<viz::SoftwareOutputDevice>
GpuProcessTransportFactory::CreateSoftwareOutputDevice(
gfx::AcceleratedWidget widget,
@@ -485,11 +497,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
// surfaces as they are not following the correct mode.
DisableGpuCompositing(compositor.get());
}
@@ -451,11 +463,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
// surfaces as they are not following the correct mode.
DisableGpuCompositing(compositor.get());
}
+
+ std::unique_ptr<viz::SoftwareOutputDevice> output_device;
+ if (compositor->delegate()) {
+ output_device = compositor->delegate()->CreateSoftwareOutputDevice(
+ compositor.get());
+ }
+ if (!output_device) {
+ output_device = CreateSoftwareOutputDevice(compositor->widget(),
+ compositor->task_runner());
+ }
+ std::unique_ptr<viz::SoftwareOutputDevice> output_device;
+ if (compositor->delegate()) {
+ output_device = compositor->delegate()->CreateSoftwareOutputDevice(
+ compositor.get());
+ }
+ if (!output_device) {
+ output_device = CreateSoftwareOutputDevice(compositor->widget(),
+ compositor->task_runner());
+ }
+
display_output_surface =
std::make_unique<SoftwareBrowserCompositorOutputSurface>(
- CreateSoftwareOutputDevice(compositor->widget(),
- compositor->task_runner()),
- std::move(vsync_callback));
+ std::move(output_device), std::move(vsync_callback));
} else {
DCHECK(context_provider);
const auto& capabilities = context_provider->ContextCapabilities();
@@ -463,7 +484,8 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
display_output_surface =
std::make_unique<SoftwareBrowserCompositorOutputSurface>(
- CreateSoftwareOutputDevice(compositor->widget(),
- compositor->task_runner()),
- std::move(vsync_callback));
+ std::move(output_device), std::move(vsync_callback));
} else {
DCHECK(context_provider);
const auto& capabilities = context_provider->ContextCapabilities();
@@ -497,7 +518,8 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
display_output_surface =
std::make_unique<OffscreenBrowserCompositorOutputSurface>(
context_provider, std::move(vsync_callback),
- std::unique_ptr<viz::CompositorOverlayCandidateValidator>());
+ std::unique_ptr<viz::CompositorOverlayCandidateValidator>(),
+ compositor->shared_texture_enabled());
} else if (capabilities.surfaceless) {
std::make_unique<OffscreenBrowserCompositorOutputSurface>(
context_provider, std::move(vsync_callback),
- std::unique_ptr<viz::CompositorOverlayCandidateValidator>());
+ std::unique_ptr<viz::CompositorOverlayCandidateValidator>(),
+ compositor->shared_texture_enabled());
} else if (capabilities.surfaceless) {
#if defined(OS_MACOSX)
const auto& gpu_feature_info = context_provider->GetGpuFeatureInfo();
@@ -944,7 +966,8 @@ GpuProcessTransportFactory::CreatePerCompositorData(
const auto& gpu_feature_info = context_provider->GetGpuFeatureInfo();
@@ -908,7 +930,8 @@ GpuProcessTransportFactory::CreatePerCompositorData(
gfx::AcceleratedWidget widget = compositor->widget();
auto data = std::make_unique<PerCompositorData>();
@ -94,10 +94,10 @@ index 5aeda7bd9caf..1f18a5599bec 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 5653f31a8797..910de72d1543 100644
index 4c4548058be5..335099597a9d 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,
@@ -99,6 +99,7 @@ class GpuProcessTransportFactory : public ui::ContextFactory,
void IssueExternalBeginFrame(ui::Compositor* compositor,
const viz::BeginFrameArgs& args) override;
void SetOutputIsSecure(ui::Compositor* compositor, bool secure) override;
@ -106,10 +106,10 @@ index 5653f31a8797..910de72d1543 100644
// ImageTransportFactory implementation.
void DisableGpuCompositing() override;
diff --git content/browser/compositor/offscreen_browser_compositor_output_surface.cc content/browser/compositor/offscreen_browser_compositor_output_surface.cc
index c4efbe76891c..dcb032242304 100644
index ac661d7e0234..0059e9123e99 100644
--- content/browser/compositor/offscreen_browser_compositor_output_surface.cc
+++ content/browser/compositor/offscreen_browser_compositor_output_surface.cc
@@ -33,10 +33,12 @@ OffscreenBrowserCompositorOutputSurface::
@@ -34,10 +34,12 @@ OffscreenBrowserCompositorOutputSurface::
scoped_refptr<ws::ContextProviderCommandBuffer> context,
const UpdateVSyncParametersCallback& update_vsync_parameters_callback,
std::unique_ptr<viz::CompositorOverlayCandidateValidator>
@ -123,7 +123,7 @@ index c4efbe76891c..dcb032242304 100644
weak_ptr_factory_(this) {
capabilities_.uses_default_gl_framebuffer = false;
}
@@ -46,6 +48,10 @@ OffscreenBrowserCompositorOutputSurface::
@@ -47,6 +49,10 @@ OffscreenBrowserCompositorOutputSurface::
DiscardBackbuffer();
}
@ -134,7 +134,7 @@ index c4efbe76891c..dcb032242304 100644
void OffscreenBrowserCompositorOutputSurface::BindToClient(
viz::OutputSurfaceClient* client) {
DCHECK(client);
@@ -54,42 +60,72 @@ void OffscreenBrowserCompositorOutputSurface::BindToClient(
@@ -55,42 +61,72 @@ void OffscreenBrowserCompositorOutputSurface::BindToClient(
}
void OffscreenBrowserCompositorOutputSurface::EnsureBackbuffer() {
@ -237,7 +237,7 @@ index c4efbe76891c..dcb032242304 100644
}
void OffscreenBrowserCompositorOutputSurface::DiscardBackbuffer() {
@@ -101,6 +137,16 @@ void OffscreenBrowserCompositorOutputSurface::DiscardBackbuffer() {
@@ -102,6 +138,16 @@ void OffscreenBrowserCompositorOutputSurface::DiscardBackbuffer() {
reflector_->OnSourceTextureMailboxUpdated(nullptr);
}
@ -254,7 +254,7 @@ index c4efbe76891c..dcb032242304 100644
if (fbo_) {
gl->BindFramebuffer(GL_FRAMEBUFFER, fbo_);
gl->DeleteFramebuffers(1, &fbo_);
@@ -125,15 +171,20 @@ void OffscreenBrowserCompositorOutputSurface::Reshape(
@@ -126,15 +172,20 @@ void OffscreenBrowserCompositorOutputSurface::Reshape(
}
void OffscreenBrowserCompositorOutputSurface::BindFramebuffer() {
@ -279,7 +279,7 @@ index c4efbe76891c..dcb032242304 100644
}
}
@@ -154,6 +205,12 @@ void OffscreenBrowserCompositorOutputSurface::SwapBuffers(
@@ -155,6 +206,12 @@ void OffscreenBrowserCompositorOutputSurface::SwapBuffers(
// The original implementation had a flickering issue (crbug.com/515332).
gpu::gles2::GLES2Interface* gl = context_provider_->ContextGL();
@ -292,7 +292,7 @@ index c4efbe76891c..dcb032242304 100644
gpu::SyncToken sync_token;
gl->GenUnverifiedSyncTokenCHROMIUM(sync_token.GetData());
context_provider_->ContextSupport()->SignalSyncToken(
@@ -193,7 +250,9 @@ void OffscreenBrowserCompositorOutputSurface::OnSwapBuffersComplete(
@@ -194,7 +251,9 @@ void OffscreenBrowserCompositorOutputSurface::OnSwapBuffersComplete(
const std::vector<ui::LatencyInfo>& latency_info) {
latency_tracker_.OnGpuSwapBuffersCompleted(latency_info);
client_->DidReceiveSwapBuffersAck();
@ -348,10 +348,10 @@ index b028dc136e7f..fa83865087dc 100644
base::WeakPtrFactory<OffscreenBrowserCompositorOutputSurface>
weak_ptr_factory_;
diff --git gpu/GLES2/gl2chromium_autogen.h gpu/GLES2/gl2chromium_autogen.h
index e46e882a0f69..9b0ad1ee2bbc 100644
index 3065b8b9ea47..ba39222f3d87 100644
--- gpu/GLES2/gl2chromium_autogen.h
+++ gpu/GLES2/gl2chromium_autogen.h
@@ -409,6 +409,10 @@
@@ -414,6 +414,10 @@
GLES2_GET_FUN(CreateClientGpuFenceCHROMIUM)
#define glWaitGpuFenceCHROMIUM GLES2_GET_FUN(WaitGpuFenceCHROMIUM)
#define glDestroyGpuFenceCHROMIUM GLES2_GET_FUN(DestroyGpuFenceCHROMIUM)
@ -363,10 +363,10 @@ index e46e882a0f69..9b0ad1ee2bbc 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 2cc75e3b82b8..06e78c7064d8 100755
index 7fe7fed028b5..c6f8ee684dc9 100755
--- gpu/command_buffer/build_gles2_cmd_buffer.py
+++ gpu/command_buffer/build_gles2_cmd_buffer.py
@@ -4190,6 +4190,35 @@ _FUNCTION_INFO = {
@@ -4244,6 +4244,35 @@ _FUNCTION_INFO = {
'extension': 'CHROMIUM_gpu_fence',
'extension_flag': 'chromium_gpu_fence',
},
@ -403,10 +403,10 @@ index 2cc75e3b82b8..06e78c7064d8 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 0a8dab9b68b2..248693027d78 100644
index ca386c64990c..0adac90e4437 100644
--- gpu/command_buffer/client/gles2_c_lib_autogen.h
+++ gpu/command_buffer/client/gles2_c_lib_autogen.h
@@ -1859,6 +1859,20 @@ void GL_APIENTRY GLES2WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) {
@@ -1899,6 +1899,20 @@ void GL_APIENTRY GLES2WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) {
void GL_APIENTRY GLES2DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
gles2::GetGLContext()->DestroyGpuFenceCHROMIUM(gpu_fence_id);
}
@ -427,7 +427,7 @@ index 0a8dab9b68b2..248693027d78 100644
void GL_APIENTRY
GLES2InvalidateReadbackBufferShadowDataCHROMIUM(GLuint buffer_id) {
gles2::GetGLContext()->InvalidateReadbackBufferShadowDataCHROMIUM(buffer_id);
@@ -3351,6 +3365,22 @@ extern const NameToFunc g_gles2_function_table[] = {
@@ -3411,6 +3425,22 @@ extern const NameToFunc g_gles2_function_table[] = {
"glDestroyGpuFenceCHROMIUM",
reinterpret_cast<GLES2FunctionPointer>(glDestroyGpuFenceCHROMIUM),
},
@ -451,10 +451,10 @@ index 0a8dab9b68b2..248693027d78 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 4b936cbc4d26..d78b47046a8a 100644
index e0c0ca8e93fb..2998690b8bf8 100644
--- gpu/command_buffer/client/gles2_cmd_helper_autogen.h
+++ gpu/command_buffer/client/gles2_cmd_helper_autogen.h
@@ -3441,6 +3441,42 @@ void DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
@@ -3508,6 +3508,42 @@ void DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
}
}
@ -498,10 +498,10 @@ index 4b936cbc4d26..d78b47046a8a 100644
GLint shm_id,
GLuint shm_offset,
diff --git gpu/command_buffer/client/gles2_implementation.cc gpu/command_buffer/client/gles2_implementation.cc
index a5ca58fb6e5e..9d1d4a70070b 100644
index 3f15a8c2ceb5..6305875463f7 100644
--- gpu/command_buffer/client/gles2_implementation.cc
+++ gpu/command_buffer/client/gles2_implementation.cc
@@ -7429,6 +7429,22 @@ void GLES2Implementation::Viewport(GLint x,
@@ -7651,6 +7651,22 @@ void GLES2Implementation::Viewport(GLint x,
CheckGLError();
}
@ -525,10 +525,10 @@ index a5ca58fb6e5e..9d1d4a70070b 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 624ea51c8289..e2b2f61f1088 100644
index 60200cb39bdc..d6b603fde369 100644
--- gpu/command_buffer/client/gles2_implementation_autogen.h
+++ gpu/command_buffer/client/gles2_implementation_autogen.h
@@ -1309,6 +1309,16 @@ void WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
@@ -1338,6 +1338,16 @@ void WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
void DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
@ -546,10 +546,10 @@ index 624ea51c8289..e2b2f61f1088 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 b196b0a5879e..77b4a10e7396 100644
index bfbcd6b7741c..9a461a9cc321 100644
--- gpu/command_buffer/client/gles2_implementation_impl_autogen.h
+++ gpu/command_buffer/client/gles2_implementation_impl_autogen.h
@@ -3719,6 +3719,30 @@ void GLES2Implementation::DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
@@ -3751,6 +3751,30 @@ void GLES2Implementation::DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
CheckGLError();
}
@ -581,10 +581,10 @@ index b196b0a5879e..77b4a10e7396 100644
GLenum target,
GLenum attachment,
diff --git gpu/command_buffer/client/gles2_interface_autogen.h gpu/command_buffer/client/gles2_interface_autogen.h
index 8f024988b3af..c8d9850217db 100644
index 9daed65b7658..692e72c651a4 100644
--- gpu/command_buffer/client/gles2_interface_autogen.h
+++ gpu/command_buffer/client/gles2_interface_autogen.h
@@ -980,6 +980,12 @@ virtual GLuint CreateGpuFenceCHROMIUM() = 0;
@@ -1004,6 +1004,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;
@ -598,10 +598,10 @@ index 8f024988b3af..c8d9850217db 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 263313c515b8..2e9f44ac4f69 100644
index 35b35b1684cd..320a9661ca63 100644
--- gpu/command_buffer/client/gles2_interface_stub_autogen.h
+++ gpu/command_buffer/client/gles2_interface_stub_autogen.h
@@ -950,6 +950,12 @@ GLuint CreateGpuFenceCHROMIUM() override;
@@ -974,6 +974,12 @@ GLuint CreateGpuFenceCHROMIUM() override;
GLuint CreateClientGpuFenceCHROMIUM(ClientGpuFence source) override;
void WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
void DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
@ -615,10 +615,10 @@ index 263313c515b8..2e9f44ac4f69 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 81e592e25f73..df122ea5416b 100644
index bb14269b85c1..22330e480b6a 100644
--- gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
+++ gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
@@ -1266,6 +1266,14 @@ GLuint GLES2InterfaceStub::CreateClientGpuFenceCHROMIUM(
@@ -1296,6 +1296,14 @@ GLuint GLES2InterfaceStub::CreateClientGpuFenceCHROMIUM(
}
void GLES2InterfaceStub::WaitGpuFenceCHROMIUM(GLuint /* gpu_fence_id */) {}
void GLES2InterfaceStub::DestroyGpuFenceCHROMIUM(GLuint /* gpu_fence_id */) {}
@ -634,10 +634,10 @@ index 81e592e25f73..df122ea5416b 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 61c2fa70d651..6e5f4ddacb86 100644
index 428d60ef0af5..ec6792d5bb07 100644
--- gpu/command_buffer/client/gles2_trace_implementation_autogen.h
+++ gpu/command_buffer/client/gles2_trace_implementation_autogen.h
@@ -950,6 +950,12 @@ GLuint CreateGpuFenceCHROMIUM() override;
@@ -974,6 +974,12 @@ GLuint CreateGpuFenceCHROMIUM() override;
GLuint CreateClientGpuFenceCHROMIUM(ClientGpuFence source) override;
void WaitGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
void DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) override;
@ -651,10 +651,10 @@ index 61c2fa70d651..6e5f4ddacb86 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 dcde091ee4b9..41f1eb704ab8 100644
index b14f102a33ae..5e6dd209e3ad 100644
--- gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
+++ gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
@@ -2685,6 +2685,28 @@ void GLES2TraceImplementation::DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
@@ -2734,6 +2734,28 @@ void GLES2TraceImplementation::DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
gl_->DestroyGpuFenceCHROMIUM(gpu_fence_id);
}
@ -684,10 +684,10 @@ index dcde091ee4b9..41f1eb704ab8 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 d45e669919bb..fb71bf5d5093 100644
index 41836d0a4a4f..ef29fcc644b1 100644
--- gpu/command_buffer/common/gles2_cmd_format_autogen.h
+++ gpu/command_buffer/common/gles2_cmd_format_autogen.h
@@ -16933,6 +16933,193 @@ static_assert(offsetof(DestroyGpuFenceCHROMIUM, header) == 0,
@@ -17261,6 +17261,193 @@ static_assert(offsetof(DestroyGpuFenceCHROMIUM, header) == 0,
static_assert(offsetof(DestroyGpuFenceCHROMIUM, gpu_fence_id) == 4,
"offset of DestroyGpuFenceCHROMIUM gpu_fence_id should be 4");
@ -882,10 +882,10 @@ index d45e669919bb..fb71bf5d5093 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 62958cdf8a00..9e691beb6a46 100644
index 23dbbe72f2ff..321dca6d026c 100644
--- gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
+++ gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
@@ -5610,6 +5610,52 @@ TEST_F(GLES2FormatTest, DestroyGpuFenceCHROMIUM) {
@@ -5701,6 +5701,52 @@ TEST_F(GLES2FormatTest, DestroyGpuFenceCHROMIUM) {
CheckBytesWrittenMatchesExpectedSize(next_cmd, sizeof(cmd));
}
@ -939,27 +939,28 @@ index 62958cdf8a00..9e691beb6a46 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 c3321ba34c63..db418228551b 100644
index 1731b16d3eb2..3bf2b95d2513 100644
--- gpu/command_buffer/common/gles2_cmd_ids_autogen.h
+++ gpu/command_buffer/common/gles2_cmd_ids_autogen.h
@@ -355,7 +355,11 @@
OP(MaxShaderCompilerThreadsKHR) /* 596 */ \
OP(CreateAndTexStorage2DSharedImageINTERNALImmediate) /* 597 */ \
OP(BeginSharedImageAccessDirectCHROMIUM) /* 598 */ \
- OP(EndSharedImageAccessDirectCHROMIUM) /* 599 */
+ OP(EndSharedImageAccessDirectCHROMIUM) /* 599 */ \
+ OP(CreateSharedTexture) /* 600 */ \
+ OP(LockSharedTexture) /* 601 */ \
+ OP(UnlockSharedTexture) /* 602 */ \
+ OP(DeleteSharedTexture) /* 603 */
@@ -360,7 +360,12 @@
OP(MaxShaderCompilerThreadsKHR) /* 601 */ \
OP(CreateAndTexStorage2DSharedImageINTERNALImmediate) /* 602 */ \
OP(BeginSharedImageAccessDirectCHROMIUM) /* 603 */ \
- OP(EndSharedImageAccessDirectCHROMIUM) /* 604 */
+ OP(EndSharedImageAccessDirectCHROMIUM) /* 604 */ \
+ OP(CreateSharedTexture) /* 605 */ \
+ OP(LockSharedTexture) /* 606 */ \
+ OP(UnlockSharedTexture) /* 607 */ \
+ OP(DeleteSharedTexture) /* 608 */
+
enum CommandId {
kOneBeforeStartPoint =
diff --git gpu/command_buffer/gles2_cmd_buffer_functions.txt gpu/command_buffer/gles2_cmd_buffer_functions.txt
index 740a8dcd3d8c..65c88077908e 100644
index a0227387cf62..da714ca81b62 100644
--- gpu/command_buffer/gles2_cmd_buffer_functions.txt
+++ gpu/command_buffer/gles2_cmd_buffer_functions.txt
@@ -409,6 +409,12 @@ GL_APICALL GLuint GL_APIENTRY glCreateClientGpuFenceCHROMIUM (ClientGpuFen
@@ -416,6 +416,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);
@ -973,7 +974,7 @@ index 740a8dcd3d8c..65c88077908e 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 c0fd9edb8ad3..6df357123182 100644
index 24c15709c327..36264c1665ff 100644
--- gpu/command_buffer/service/BUILD.gn
+++ gpu/command_buffer/service/BUILD.gn
@@ -106,6 +106,8 @@ target(link_target_type, "gles2_sources") {
@ -986,10 +987,10 @@ index c0fd9edb8ad3..6df357123182 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 a3caf17ca6af..64ee2559e638 100644
index e3f5d83ca54f..67e1bdee5068 100644
--- gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -36,6 +36,7 @@
@@ -38,6 +38,7 @@
#include "base/strings/stringprintf.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
@ -997,7 +998,7 @@ index a3caf17ca6af..64ee2559e638 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"
@@ -901,6 +902,13 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
@@ -909,6 +910,13 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
return group_->mailbox_manager();
}
@ -1011,7 +1012,7 @@ index a3caf17ca6af..64ee2559e638 100644
ImageManager* image_manager() { return group_->image_manager(); }
VertexArrayManager* vertex_array_manager() {
@@ -2606,6 +2614,8 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
@@ -2620,6 +2628,8 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
std::unique_ptr<VertexArrayManager> vertex_array_manager_;
@ -1020,7 +1021,7 @@ index a3caf17ca6af..64ee2559e638 100644
base::flat_set<scoped_refptr<Buffer>> writes_submitted_but_not_completed_;
// The format of the back buffer_
@@ -5524,6 +5534,59 @@ error::Error GLES2DecoderImpl::HandleDestroyGpuFenceCHROMIUM(
@@ -5580,6 +5590,59 @@ error::Error GLES2DecoderImpl::HandleDestroyGpuFenceCHROMIUM(
return error::kNoError;
}
@ -1081,10 +1082,10 @@ index a3caf17ca6af..64ee2559e638 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 f2b5153e3a36..afe5c7621f51 100644
index 805d9ae94712..6723682670e4 100644
--- gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
+++ gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
@@ -10,6 +10,7 @@
@@ -11,6 +11,7 @@
#include "base/callback.h"
#include "base/stl_util.h"
#include "base/strings/string_split.h"
@ -1092,7 +1093,7 @@ index f2b5153e3a36..afe5c7621f51 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"
@@ -2499,6 +2500,67 @@ error::Error GLES2DecoderPassthroughImpl::CheckSwapBuffersResult(
@@ -2501,6 +2502,67 @@ error::Error GLES2DecoderPassthroughImpl::CheckSwapBuffersResult(
return error::kNoError;
}
@ -1191,10 +1192,10 @@ index ed682013976b..4bc28fe68a5d 100644
size_t active_texture_unit_;
diff --git ui/compositor/compositor.cc ui/compositor/compositor.cc
index 74e8d5b78d53..c169a5672ac1 100644
index 311c26b6e0ea..8583fdfecc19 100644
--- ui/compositor/compositor.cc
+++ ui/compositor/compositor.cc
@@ -516,6 +516,16 @@ scoped_refptr<CompositorVSyncManager> Compositor::vsync_manager() const {
@@ -555,6 +555,16 @@ scoped_refptr<CompositorVSyncManager> Compositor::vsync_manager() const {
return vsync_manager_;
}
@ -1212,12 +1213,12 @@ index 74e8d5b78d53..c169a5672ac1 100644
observer_list_.AddObserver(observer);
}
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
index 313431f82ee7..e71fb0739ffc 100644
index 29784c677f4b..6e82af0d6aab 100644
--- ui/compositor/compositor.h
+++ ui/compositor/compositor.h
@@ -25,6 +25,7 @@
#include "components/viz/common/surfaces/frame_sink_id.h"
#include "components/viz/common/surfaces/local_surface_id.h"
#include "components/viz/common/surfaces/local_surface_id_allocation.h"
#include "components/viz/host/host_frame_sink_client.h"
+#include "components/viz/service/display/software_output_device.h"
#include "third_party/skia/include/core/SkColor.h"
@ -1250,7 +1251,7 @@ index 313431f82ee7..e71fb0739ffc 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
@@ -232,6 +246,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -235,6 +249,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
// Schedules a redraw of the layer tree associated with this compositor.
void ScheduleDraw();
@ -1260,7 +1261,7 @@ index 313431f82ee7..e71fb0739ffc 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
@@ -334,6 +351,10 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -348,6 +365,10 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
return task_runner_;
}
@ -1271,7 +1272,7 @@ index 313431f82ee7..e71fb0739ffc 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);
@@ -442,6 +463,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -458,6 +479,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
ui::ContextFactory* context_factory_;
ui::ContextFactoryPrivate* context_factory_private_;
@ -1280,7 +1281,7 @@ index 313431f82ee7..e71fb0739ffc 100644
// The root of the Layer tree drawn by this compositor.
Layer* root_layer_ = nullptr;
@@ -476,6 +499,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -492,6 +515,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
ExternalBeginFrameClient* const external_begin_frame_client_;

View File

@ -1,8 +1,8 @@
diff --git .gn .gn
index a8956fd54ce7..b7254af29760 100644
index b3587587786f..8d3ff106d714 100644
--- .gn
+++ .gn
@@ -672,6 +672,8 @@ exec_script_whitelist =
@@ -671,6 +671,8 @@ exec_script_whitelist =
# in the Chromium repo outside of //build.
"//build_overrides/build.gni",
@ -12,10 +12,10 @@ index a8956fd54ce7..b7254af29760 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index 7ac0e16e1e14..40e3b2a3e305 100644
index b7227438d469..c879fd3d071d 100644
--- BUILD.gn
+++ BUILD.gn
@@ -184,6 +184,7 @@ group("gn_all") {
@@ -188,6 +188,7 @@ group("gn_all") {
if (!is_ios && !is_fuchsia) {
deps += [
@ -100,10 +100,10 @@ index 2c8675206f31..d3e419d8fe98 100644
diff --git build/vs_toolchain.py build/vs_toolchain.py
index e088f609c6fe..09409c7cfb99 100755
index 83b5e25dfa87..65186ae4780c 100755
--- build/vs_toolchain.py
+++ build/vs_toolchain.py
@@ -73,11 +73,18 @@ def SetEnvironmentAndGetRuntimeDllDirs():
@@ -76,11 +76,18 @@ def SetEnvironmentAndGetRuntimeDllDirs():
runtime_path = os.path.pathsep.join(vs_runtime_dll_dirs)
os.environ['PATH'] = runtime_path + os.path.pathsep + os.environ['PATH']
elif sys.platform == 'win32' and not depot_tools_win_toolchain:

View File

@ -1,5 +1,5 @@
diff --git tools/gritsettings/resource_ids tools/gritsettings/resource_ids
index bc56e877d3a8..905613a8c5dd 100644
index 6f7cfefd69ac..35ccc5b2ea15 100644
--- tools/gritsettings/resource_ids
+++ tools/gritsettings/resource_ids
@@ -434,4 +434,11 @@

View File

@ -1,5 +1,5 @@
diff --git build/config/linux/gtk/BUILD.gn build/config/linux/gtk/BUILD.gn
index fe2e10627f42..f984662f8318 100644
index 6624d138e14a..1ae9cadc4f3a 100644
--- build/config/linux/gtk/BUILD.gn
+++ build/config/linux/gtk/BUILD.gn
@@ -4,8 +4,10 @@
@ -28,18 +28,18 @@ index 547b42fb5c66..0eae3470e1bb 100644
# Additional dependent variables -----------------------------------------------
diff --git chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
index d44c7feaabec..5f1992335a38 100644
index faae7805435a..5101e0d51bf2 100644
--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
+++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h"
@@ -6,6 +6,7 @@
#include "base/bind.h"
#include "base/run_loop.h"
+#include "cef/libcef/features/features.h"
#include "chrome/browser/chrome_browser_main.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/themes/theme_service.h"
@@ -30,6 +31,7 @@
@@ -31,6 +32,7 @@
namespace {
@ -47,7 +47,7 @@ index d44c7feaabec..5f1992335a38 100644
ui::NativeTheme* GetNativeThemeForWindow(aura::Window* window) {
if (!window)
return nullptr;
@@ -54,6 +56,7 @@ ui::NativeTheme* GetNativeThemeForWindow(aura::Window* window) {
@@ -55,6 +57,7 @@ ui::NativeTheme* GetNativeThemeForWindow(aura::Window* window) {
return ui::NativeTheme::GetInstanceForNativeUi();
}
@ -55,7 +55,7 @@ index d44c7feaabec..5f1992335a38 100644
} // namespace
@@ -67,9 +70,11 @@ ChromeBrowserMainExtraPartsViewsLinux::
@@ -68,9 +71,11 @@ ChromeBrowserMainExtraPartsViewsLinux::
}
void ChromeBrowserMainExtraPartsViewsLinux::PreEarlyInitialization() {
@ -68,10 +68,10 @@ index d44c7feaabec..5f1992335a38 100644
void ChromeBrowserMainExtraPartsViewsLinux::ToolkitInitialized() {
diff --git chrome/test/BUILD.gn chrome/test/BUILD.gn
index 8654e43cf38d..4176a60bbab3 100644
index f691b9c4be33..e9dec0b09c8b 100644
--- chrome/test/BUILD.gn
+++ chrome/test/BUILD.gn
@@ -3962,7 +3962,7 @@ test("unit_tests") {
@@ -4085,7 +4085,7 @@ test("unit_tests") {
"../browser/ui/input_method/input_method_engine_unittest.cc",
]
}
@ -80,7 +80,7 @@ index 8654e43cf38d..4176a60bbab3 100644
sources +=
[ "../browser/ui/libgtkui/select_file_dialog_impl_gtk_unittest.cc" ]
deps += [ "//build/config/linux/gtk" ]
@@ -3983,7 +3983,7 @@ test("unit_tests") {
@@ -4106,7 +4106,7 @@ test("unit_tests") {
if (use_gio) {
configs += [ "//build/linux:gio_config" ]
}
@ -89,7 +89,7 @@ index 8654e43cf38d..4176a60bbab3 100644
deps += [ "//chrome/browser/ui/libgtkui" ]
}
@@ -4985,7 +4985,7 @@ if (!is_android) {
@@ -5119,7 +5119,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 8654e43cf38d..4176a60bbab3 100644
"../browser/ui/libgtkui/select_file_dialog_interactive_uitest.cc",
]
diff --git remoting/host/BUILD.gn remoting/host/BUILD.gn
index 8082ebcbeed7..b86278518197 100644
index ff592fdd56d2..80cdc2093175 100644
--- remoting/host/BUILD.gn
+++ remoting/host/BUILD.gn
@@ -349,7 +349,7 @@ static_library("common") {
@@ -350,7 +350,7 @@ static_library("common") {
"//build/config/linux:xrandr",
]
deps += [ "//remoting/host/linux:x11" ]
@ -111,7 +111,7 @@ index 8082ebcbeed7..b86278518197 100644
deps += [ "//build/config/linux/gtk" ]
}
} else {
@@ -731,7 +731,7 @@ if (enable_me2me_host) {
@@ -732,7 +732,7 @@ if (enable_me2me_host) {
deps += [ "//components/policy:generated" ]
}
@ -120,6 +120,19 @@ index 8082ebcbeed7..b86278518197 100644
deps += [ "//build/config/linux/gtk" ]
}
if ((is_linux && !is_chromeos) || is_mac) {
diff --git remoting/host/file_transfer/BUILD.gn remoting/host/file_transfer/BUILD.gn
index d8985375e279..bf034bc990f5 100644
--- remoting/host/file_transfer/BUILD.gn
+++ remoting/host/file_transfer/BUILD.gn
@@ -60,7 +60,7 @@ source_set("common") {
"//remoting/protocol",
]
- if (is_desktop_linux) {
+ if (is_desktop_linux && use_gtk) {
sources += [ "file_chooser_linux.cc" ]
deps += [ "//build/config/linux/gtk" ]
}
diff --git remoting/host/it2me/BUILD.gn remoting/host/it2me/BUILD.gn
index 39dc46737578..e5cb11d5ef04 100644
--- remoting/host/it2me/BUILD.gn
@ -156,10 +169,10 @@ index a07f8b0254af..970c1a54b4d2 100644
}
}
diff --git remoting/test/BUILD.gn remoting/test/BUILD.gn
index 0bb66b9b7e9b..bfffc92f452f 100644
index 2b7d0d78eef9..4feb3a244da9 100644
--- remoting/test/BUILD.gn
+++ remoting/test/BUILD.gn
@@ -197,7 +197,7 @@ if (enable_remoting_host && !is_android && !is_chromeos) {
@@ -149,7 +149,7 @@ if (enable_remoting_host && !is_android && !is_chromeos) {
":it2me_standalone_host",
]

View File

@ -1,8 +1,19 @@
diff --git base/message_loop/message_loop.cc base/message_loop/message_loop.cc
index f72f17d9317c..40c421ad4dcb 100644
index cec3a133889d..4b25f540a4af 100644
--- base/message_loop/message_loop.cc
+++ base/message_loop/message_loop.cc
@@ -177,6 +177,9 @@ MessageLoopBase* MessageLoop::GetMessageLoopBase() {
@@ -151,6 +151,10 @@ void MessageLoop::RemoveTaskObserver(TaskObserver* task_observer) {
}
bool MessageLoop::IsBoundToCurrentThread() const {
+ if (!pump_) {
+ // Avoid DCHECKs in the MessageLoop destructor after we call ReleasePump().
+ return false;
+ }
return backend_->IsBoundToCurrentThread();
}
@@ -164,6 +168,9 @@ MessageLoopBase* MessageLoop::GetMessageLoopBase() {
//------------------------------------------------------------------------------
@ -13,10 +24,10 @@ index f72f17d9317c..40c421ad4dcb 100644
std::unique_ptr<MessageLoop> MessageLoop::CreateUnbound(
Type type,
diff --git base/message_loop/message_loop.h base/message_loop/message_loop.h
index 1adfd4cd1904..acfc0886003c 100644
index f49f56285de7..159e645a0c9f 100644
--- base/message_loop/message_loop.h
+++ base/message_loop/message_loop.h
@@ -188,6 +188,8 @@ class BASE_EXPORT MessageLoopBase {
@@ -185,6 +185,8 @@ class BASE_EXPORT MessageLoopBase {
// can post other tasks when destructed.
virtual void DeletePendingTasks() = 0;
@ -25,9 +36,9 @@ index 1adfd4cd1904..acfc0886003c 100644
protected:
friend class MessageLoop;
friend class MessageLoopForUI;
@@ -294,6 +296,9 @@ class BASE_EXPORT MessageLoop {
SEQUENCE_MANAGER,
};
@@ -286,6 +288,9 @@ class BASE_EXPORT MessageLoop {
MessageLoopBase* GetMessageLoopBase();
+ // Called from Thread::CleanUp() to release resources.
+ void ReleasePump() { pump_ = nullptr; backend_->ReleasePump(); }
@ -35,7 +46,7 @@ index 1adfd4cd1904..acfc0886003c 100644
//----------------------------------------------------------------------------
protected:
using MessagePumpFactoryCallback =
@@ -402,6 +407,7 @@ class BASE_EXPORT MessageLoop {
@@ -374,6 +379,7 @@ class BASE_EXPORT MessageLoop {
class BASE_EXPORT MessageLoopForUI : public MessageLoop {
public:
explicit MessageLoopForUI(Type type = TYPE_UI);
@ -44,7 +55,7 @@ index 1adfd4cd1904..acfc0886003c 100644
#if defined(OS_IOS)
// On iOS, the main message loop cannot be Run(). Instead call Attach(),
diff --git base/message_loop/message_loop_current.cc base/message_loop/message_loop_current.cc
index dca465455e36..bc2dc7c33110 100644
index e669669c72f5..84cc1bee2c74 100644
--- base/message_loop/message_loop_current.cc
+++ base/message_loop/message_loop_current.cc
@@ -49,6 +49,8 @@ void MessageLoopCurrent::AddDestructionObserver(
@ -57,7 +68,7 @@ index dca465455e36..bc2dc7c33110 100644
current_->RemoveDestructionObserver(destruction_observer);
}
diff --git base/message_loop/message_loop_current.h base/message_loop/message_loop_current.h
index 56c147d1e739..4afd37ba5b10 100644
index d469a7214001..76ae4cb77c8e 100644
--- base/message_loop/message_loop_current.h
+++ base/message_loop/message_loop_current.h
@@ -134,6 +134,16 @@ class BASE_EXPORT MessageLoopCurrent {
@ -107,32 +118,19 @@ index 56c147d1e739..4afd37ba5b10 100644
};
#if !defined(OS_NACL)
diff --git base/message_loop/message_loop_impl.h base/message_loop/message_loop_impl.h
index bfcdf0c9694b..d0009f6a88d0 100644
--- base/message_loop/message_loop_impl.h
+++ base/message_loop/message_loop_impl.h
@@ -78,6 +78,8 @@ class BASE_EXPORT MessageLoopImpl : public MessageLoopBase,
void DeletePendingTasks() override;
bool HasTasks() override;
+ void ReleasePump() override { pump_ = nullptr; }
+
// Gets the TaskRunner associated with this message loop.
const scoped_refptr<SingleThreadTaskRunner>& task_runner() const {
return task_runner_;
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
index 5d917056f2e2..4aee732f1b71 100644
index 9de7721c9cfb..13b9bf8660ed 100644
--- base/message_loop/message_pump_win.cc
+++ base/message_loop/message_pump_win.cc
@@ -11,6 +11,7 @@
@@ -12,6 +12,7 @@
#include "base/bind.h"
#include "base/debug/alias.h"
#include "base/memory/ptr_util.h"
+#include "base/message_loop/message_loop_current.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/stringprintf.h"
#include "base/trace_event/trace_event.h"
@@ -385,20 +386,28 @@ bool MessagePumpForUI::ProcessMessageHelper(const MSG& msg) {
@@ -390,20 +391,28 @@ bool MessagePumpForUI::ProcessMessageHelper(const MSG& msg) {
}
bool MessagePumpForUI::ProcessPumpReplacementMessage() {
@ -174,15 +172,15 @@ index 5d917056f2e2..4aee732f1b71 100644
msg.hwnd != message_window_.hwnd());
diff --git base/task/sequence_manager/sequence_manager_impl.h base/task/sequence_manager/sequence_manager_impl.h
index e3838c1b33bd..ded869d57924 100644
index 6c5c85f0e62f..78d400e609dc 100644
--- base/task/sequence_manager/sequence_manager_impl.h
+++ base/task/sequence_manager/sequence_manager_impl.h
@@ -165,6 +165,8 @@ class BASE_EXPORT SequenceManagerImpl
@@ -155,6 +155,8 @@ class BASE_EXPORT SequenceManagerImpl
void BindToCurrentThread(std::unique_ptr<MessagePump> pump) override;
void DeletePendingTasks() override;
bool HasTasks() override;
+
+ void ReleasePump() override { }
+ void ReleasePump() override {}
// Requests that a task to process work is posted on the main task runner.
// These tasks are de-duplicated in two buckets: main-thread and all other
// Requests that a task to process work is scheduled.
void ScheduleWork();

View File

@ -1,8 +1,8 @@
diff --git base/message_loop/message_pump_mac.mm base/message_loop/message_pump_mac.mm
index 2f53a79c2362..2b22fd37bb0a 100644
index 6ebddfc9f404..85809cf7b134 100644
--- base/message_loop/message_pump_mac.mm
+++ base/message_loop/message_pump_mac.mm
@@ -798,7 +798,8 @@ void MessagePumpUIApplication::Attach(Delegate* delegate) {
@@ -799,7 +799,8 @@ void MessagePumpUIApplication::Attach(Delegate* delegate) {
#else
ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
@ -12,7 +12,7 @@ index 2f53a79c2362..2b22fd37bb0a 100644
DCHECK_EQ(kNSApplicationModalSafeModeMask, g_app_pump->GetModeMask());
// Pumping events in private runloop modes is known to interact badly with
// app modal windows like NSAlert.
@@ -810,7 +811,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
@@ -811,7 +812,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
}
ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() {

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 fe433909de14..f49d9d7bbae8 100644
index b7a2bca7bf42..d0952ba4a4d7 100644
--- net/http/transport_security_state.cc
+++ net/http/transport_security_state.cc
@@ -1099,8 +1099,10 @@ void TransportSecurityState::ClearReportCachesForTesting() {
@@ -1100,8 +1100,10 @@ void TransportSecurityState::ClearReportCachesForTesting() {
sent_expect_ct_reports_cache_.Clear();
}
@ -75,7 +75,7 @@ index fe433909de14..f49d9d7bbae8 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 5e772fd78b5d..fb5fd04fbaf9 100644
index 48ccb74e2e1d..79dc9958d1de 100644
--- net/http/transport_security_state.h
+++ net/http/transport_security_state.h
@@ -530,6 +530,10 @@ class NET_EXPORT TransportSecurityState {

View File

@ -1,8 +1,8 @@
diff --git BUILD.gn BUILD.gn
index 52c22d6a1..42888ca9f 100644
index 6885fc27d..72f312ac1 100644
--- BUILD.gn
+++ BUILD.gn
@@ -209,6 +209,10 @@ jumbo_static_library("pdfium") {
@@ -215,6 +215,10 @@ jumbo_static_library("pdfium") {
complete_static_lib = true
configs -= [ "//build/config/compiler:thin_archive" ]
}
@ -14,7 +14,7 @@ index 52c22d6a1..42888ca9f 100644
# Targets below this are only visible within this file (and to the
diff --git fpdfsdk/fpdf_view.cpp fpdfsdk/fpdf_view.cpp
index e46c3dbe3..acb963c7b 100644
index 0123035f7..8cc537325 100644
--- fpdfsdk/fpdf_view.cpp
+++ fpdfsdk/fpdf_view.cpp
@@ -38,6 +38,7 @@

View File

@ -1,8 +1,8 @@
diff --git content/public/common/common_param_traits_macros.h content/public/common/common_param_traits_macros.h
index 242b0628f54e..0538943b4f20 100644
index 37693ee802d2..66d4827146d5 100644
--- content/public/common/common_param_traits_macros.h
+++ content/public/common/common_param_traits_macros.h
@@ -189,6 +189,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
@@ -186,6 +186,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
IPC_STRUCT_TRAITS_MEMBER(main_frame_resizes_are_orientation_changes)
IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale)
IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled)
@ -11,7 +11,7 @@ index 242b0628f54e..0538943b4f20 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 8ce9ab728194..22305856b974 100644
index bb5de85a28c1..c48451322c00 100644
--- content/public/common/web_preferences.cc
+++ content/public/common/web_preferences.cc
@@ -168,6 +168,7 @@ WebPreferences::WebPreferences()
@ -19,26 +19,26 @@ index 8ce9ab728194..22305856b974 100644
use_solid_color_scrollbars(false),
navigate_on_drag_drop(true),
+ base_background_color(0xFFFFFFFF), // Color::white
v8_cache_options(V8_CACHE_OPTIONS_DEFAULT),
v8_cache_options(blink::mojom::V8CacheOptions::kDefault),
record_whole_document(false),
cookie_enabled(true),
diff --git content/public/common/web_preferences.h content/public/common/web_preferences.h
index 32cc528cd938..91bc866edddb 100644
index 798b963f5900..86d81ec9a58a 100644
--- content/public/common/web_preferences.h
+++ content/public/common/web_preferences.h
@@ -192,6 +192,7 @@ struct CONTENT_EXPORT WebPreferences {
@@ -183,6 +183,7 @@ struct CONTENT_EXPORT WebPreferences {
bool spatial_navigation_enabled;
bool use_solid_color_scrollbars;
bool navigate_on_drag_drop;
+ uint32_t base_background_color;
V8CacheOptions v8_cache_options;
blink::mojom::V8CacheOptions v8_cache_options;
bool record_whole_document;
diff --git content/renderer/render_view_impl.cc content/renderer/render_view_impl.cc
index 77b93bd04c8b..512bf7ab5922 100644
index 2d0908fb291b..33668351b73a 100644
--- content/renderer/render_view_impl.cc
+++ content/renderer/render_view_impl.cc
@@ -1013,6 +1013,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
@@ -1008,6 +1008,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
#endif
WebRuntimeFeatures::EnableTranslateService(prefs.translate_service_available);

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index 46bee4c2a411..182b9b7ccc32 100644
index 6a0e84303ff0..4d5e821d2624 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -362,6 +362,7 @@ jumbo_split_static_library("ui") {
@@ -365,6 +365,7 @@ jumbo_split_static_library("ui") {
"//base:i18n",
"//base/allocator:buildflags",
"//cc/paint",
@ -10,7 +10,7 @@ index 46bee4c2a411..182b9b7ccc32 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2311,7 +2312,7 @@ jumbo_split_static_library("ui") {
@@ -2309,7 +2310,7 @@ jumbo_split_static_library("ui") {
"views/frame/native_browser_frame_factory_ozone.cc",
]
} else {
@ -263,7 +263,7 @@ index 1802034a6e15..ae0d479ecafa 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 cd9306860bba..3b7b505aff73 100644
index 56e2dd5faf2b..9428db8c616d 100644
--- components/printing/renderer/print_render_frame_helper.cc
+++ components/printing/renderer/print_render_frame_helper.cc
@@ -351,7 +351,6 @@ bool IsPrintingFrameset(const blink::WebLocalFrame* frame) {

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/printing/print_job_worker.cc chrome/browser/printing/print_job_worker.cc
index 961e1560aa91..e04639e54baa 100644
index 691c476708b6..f198e2d0584f 100644
--- chrome/browser/printing/print_job_worker.cc
+++ chrome/browser/printing/print_job_worker.cc
@@ -146,6 +146,7 @@ PrintJobWorker::PrintJobWorker(int render_process_id,
@@ -148,6 +148,7 @@ PrintJobWorker::PrintJobWorker(int render_process_id,
thread_("Printing_Worker"),
weak_factory_(this) {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
@ -11,10 +11,10 @@ index 961e1560aa91..e04639e54baa 100644
PrintJobWorker::~PrintJobWorker() {
diff --git printing/printing_context.h printing/printing_context.h
index 1704d5aa9f00..1308f57915e4 100644
index a5879b5888c9..a46bfa474f47 100644
--- printing/printing_context.h
+++ printing/printing_context.h
@@ -130,6 +130,13 @@ class PRINTING_EXPORT PrintingContext {
@@ -131,6 +131,13 @@ class PRINTING_EXPORT PrintingContext {
int job_id() const { return job_id_; }
@ -28,7 +28,7 @@ index 1704d5aa9f00..1308f57915e4 100644
protected:
explicit PrintingContext(Delegate* delegate);
@@ -154,6 +161,10 @@ class PRINTING_EXPORT PrintingContext {
@@ -155,6 +162,10 @@ class PRINTING_EXPORT PrintingContext {
// The job id for the current job. The value is 0 if no jobs are active.
int job_id_;

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/renderer_preferences_util.cc chrome/browser/renderer_preferences_util.cc
index 1779a41590c3..364c96265fe9 100644
index f3fc761cf5d5..3ccb345c41f0 100644
--- chrome/browser/renderer_preferences_util.cc
+++ chrome/browser/renderer_preferences_util.cc
@@ -28,7 +28,8 @@
@@ -29,7 +29,8 @@
#include "ui/base/cocoa/defaults_utils.h"
#endif
@ -12,7 +12,7 @@ index 1779a41590c3..364c96265fe9 100644
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/themes/theme_service_factory.h"
#include "ui/views/linux_ui/linux_ui.h"
@@ -127,7 +128,8 @@ void UpdateFromSystemSettings(content::RendererPreferences* prefs,
@@ -129,7 +130,8 @@ void UpdateFromSystemSettings(blink::mojom::RendererPreferences* prefs,
prefs->caret_blink_interval = interval;
#endif

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 cffe3954f036..a1fa27523f93 100644
index 071e658ff195..651cc9eedf65 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -731,10 +731,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const {
@@ -733,10 +733,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const {
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
DCHECK(GetBackgroundColor());
@ -19,7 +19,7 @@ index cffe3954f036..a1fa27523f93 100644
}
void RenderWidgetHostViewAura::WindowTitleChanged() {
@@ -2024,6 +2026,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
@@ -2026,6 +2028,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
if (frame_sink_id_.is_valid())
window_->SetEmbedFrameSinkId(frame_sink_id_);

View File

@ -1,8 +1,8 @@
diff --git services/service_manager/embedder/main.cc services/service_manager/embedder/main.cc
index 06e62473c316..a2b545246009 100644
index 46ae0545c0a9..c6f193b7c6dd 100644
--- services/service_manager/embedder/main.cc
+++ services/service_manager/embedder/main.cc
@@ -289,22 +289,36 @@ int RunService(MainDelegate* delegate) {
@@ -244,22 +244,36 @@ int RunService(MainDelegate* delegate) {
return 0;
}
@ -43,7 +43,7 @@ index 06e62473c316..a2b545246009 100644
// A flag to indicate whether Main() has been called before. On Android, we
// may re-run Main() without restarting the browser process. This flag
@@ -380,12 +394,7 @@ int Main(const MainParams& params) {
@@ -335,12 +349,7 @@ int Main(const MainParams& params) {
MainDelegate::InitializeParams init_params;
#if defined(OS_MACOSX)
@ -57,7 +57,7 @@ index 06e62473c316..a2b545246009 100644
InitializeMac();
#endif
@@ -429,18 +438,16 @@ int Main(const MainParams& params) {
@@ -384,18 +393,16 @@ int Main(const MainParams& params) {
}
}
@ -85,7 +85,7 @@ index 06e62473c316..a2b545246009 100644
switch (process_type) {
case ProcessType::kDefault:
NOTREACHED();
@@ -462,6 +469,8 @@ int Main(const MainParams& params) {
@@ -417,6 +424,8 @@ int Main(const MainParams& params) {
break;
}
@ -94,7 +94,7 @@ index 06e62473c316..a2b545246009 100644
if (tracker) {
if (exit_code == 0) {
tracker->SetProcessPhaseIfEnabled(
@@ -473,13 +482,38 @@ int Main(const MainParams& params) {
@@ -428,13 +437,38 @@ int Main(const MainParams& params) {
}
}

View File

@ -1,8 +1,8 @@
diff --git content/browser/appcache/appcache_internals_ui.cc content/browser/appcache/appcache_internals_ui.cc
index f03f5472f99d..004aeb3d9b69 100644
index d63844fe8e67..57c990dbb994 100644
--- content/browser/appcache/appcache_internals_ui.cc
+++ content/browser/appcache/appcache_internals_ui.cc
@@ -384,8 +384,8 @@ void AppCacheInternalsUI::CreateProxyForPartition(
@@ -386,8 +386,8 @@ void AppCacheInternalsUI::CreateProxyForPartition(
StoragePartition* storage_partition) {
scoped_refptr<Proxy> proxy =
new Proxy(weak_ptr_factory_.GetWeakPtr(), storage_partition->GetPath());
@ -14,10 +14,10 @@ index f03f5472f99d..004aeb3d9b69 100644
}
diff --git content/browser/background_fetch/background_fetch_service_impl.cc content/browser/background_fetch/background_fetch_service_impl.cc
index d56cc6909782..69c4e8c2877e 100644
index a19d29165970..aaf918cd4b71 100644
--- content/browser/background_fetch/background_fetch_service_impl.cc
+++ content/browser/background_fetch/background_fetch_service_impl.cc
@@ -47,8 +47,7 @@ void BackgroundFetchServiceImpl::CreateForWorker(
@@ -49,8 +49,7 @@ void BackgroundFetchServiceImpl::CreateForWorker(
FROM_HERE, {BrowserThread::IO},
base::BindOnce(
BackgroundFetchServiceImpl::CreateOnIoThread,
@ -27,7 +27,7 @@ index d56cc6909782..69c4e8c2877e 100644
->GetBackgroundFetchContext()),
origin, /* render_frame_tree_node_id= */ 0,
/* wc_getter= */ base::NullCallback(), std::move(request)));
@@ -79,8 +78,7 @@ void BackgroundFetchServiceImpl::CreateForFrame(
@@ -81,8 +80,7 @@ void BackgroundFetchServiceImpl::CreateForFrame(
FROM_HERE, {BrowserThread::IO},
base::BindOnce(
BackgroundFetchServiceImpl::CreateOnIoThread,
@ -38,7 +38,7 @@ index d56cc6909782..69c4e8c2877e 100644
render_frame_host->GetLastCommittedOrigin(),
render_frame_host->GetFrameTreeNodeId(), std::move(wc_getter),
diff --git content/browser/blob_storage/chrome_blob_storage_context.cc content/browser/blob_storage/chrome_blob_storage_context.cc
index 944324e66cad..6d2ddc4d04be 100644
index 8c5b2fc028c3..d6848a7e8750 100644
--- content/browser/blob_storage/chrome_blob_storage_context.cc
+++ content/browser/blob_storage/chrome_blob_storage_context.cc
@@ -88,6 +88,11 @@ class BlobHandleImpl : public BlobHandle {
@ -50,9 +50,9 @@ index 944324e66cad..6d2ddc4d04be 100644
+ return kBlobStorageContextKeyName;
+}
+
// static
ChromeBlobStorageContext* ChromeBlobStorageContext::GetFor(
BrowserContext* context) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
diff --git content/browser/blob_storage/chrome_blob_storage_context.h content/browser/blob_storage/chrome_blob_storage_context.h
index 26cf1ebfdffc..f6de541d25d1 100644
--- content/browser/blob_storage/chrome_blob_storage_context.h
@ -67,10 +67,10 @@ index 26cf1ebfdffc..f6de541d25d1 100644
static ChromeBlobStorageContext* GetFor(
BrowserContext* browser_context);
diff --git content/browser/bluetooth/web_bluetooth_service_impl.cc content/browser/bluetooth/web_bluetooth_service_impl.cc
index 4728c4f008b5..07dc19b2240a 100644
index 6952610f8c88..fd8babeb99fd 100644
--- content/browser/bluetooth/web_bluetooth_service_impl.cc
+++ content/browser/bluetooth/web_bluetooth_service_impl.cc
@@ -1553,9 +1553,9 @@ url::Origin WebBluetoothServiceImpl::GetOrigin() {
@@ -1554,9 +1554,9 @@ url::Origin WebBluetoothServiceImpl::GetOrigin() {
}
BluetoothAllowedDevices& WebBluetoothServiceImpl::allowed_devices() {
@ -83,10 +83,10 @@ index 4728c4f008b5..07dc19b2240a 100644
partition->GetBluetoothAllowedDevicesMap();
return allowed_devices_map->GetOrCreateAllowedDevices(GetOrigin());
diff --git content/browser/browser_context.cc content/browser/browser_context.cc
index 0c58a53ac435..aa462081c726 100644
index 68e34ea69ecc..da82a4d99a91 100644
--- content/browser/browser_context.cc
+++ content/browser/browser_context.cc
@@ -209,11 +209,18 @@ StoragePartition* GetStoragePartitionFromConfig(
@@ -210,11 +210,18 @@ StoragePartition* GetStoragePartitionFromConfig(
StoragePartitionImplMap* partition_map =
GetStoragePartitionMap(browser_context);
@ -108,7 +108,7 @@ index 0c58a53ac435..aa462081c726 100644
}
void SaveSessionStateOnIOThread(
@@ -731,6 +738,11 @@ ServiceManagerConnection* BrowserContext::GetServiceManagerConnectionFor(
@@ -732,6 +739,11 @@ ServiceManagerConnection* BrowserContext::GetServiceManagerConnectionFor(
BrowserContext::BrowserContext()
: unique_id_(base::UnguessableToken::Create().ToString()) {}
@ -121,10 +121,10 @@ index 0c58a53ac435..aa462081c726 100644
CHECK(GetUserData(kServiceInstanceGroup))
<< "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 6ff1be0aed25..140a59ba3ac0 100644
index 69d2ffaea87b..5eb30fe7f22f 100644
--- content/browser/devtools/protocol/network_handler.cc
+++ content/browser/devtools/protocol/network_handler.cc
@@ -804,8 +804,7 @@ class BackgroundSyncRestorer {
@@ -807,8 +807,7 @@ class BackgroundSyncRestorer {
scoped_refptr<ServiceWorkerDevToolsAgentHost> service_worker_host =
static_cast<ServiceWorkerDevToolsAgentHost*>(host.get());
scoped_refptr<BackgroundSyncContext> sync_context =
@ -135,10 +135,10 @@ index 6ff1be0aed25..140a59ba3ac0 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 37edf0b545aa..8a195c714c66 100644
index 3dc663a54995..8ed420d31c0d 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,
@@ -173,8 +173,7 @@ void ServiceWorkerHandler::SetRenderer(int process_host_id,
return;
}
@ -171,7 +171,7 @@ 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 941eb49f0283..c693adf52068 100644
index 5da8761a8e1b..f573f9f49434 100644
--- content/browser/download/download_manager_impl.cc
+++ content/browser/download/download_manager_impl.cc
@@ -99,9 +99,9 @@ void DeleteDownloadedFileOnUIThread(const base::FilePath& file_path) {
@ -215,7 +215,7 @@ index 941eb49f0283..c693adf52068 100644
std::move(proxy_factory_ptr_info), std::move(proxy_factory_request));
}
@@ -1198,7 +1197,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete(
@@ -1230,7 +1229,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete(
tab_referrer_url = entry->GetReferrer().url;
}
}
@ -224,7 +224,7 @@ index 941eb49f0283..c693adf52068 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,
@@ -1249,10 +1248,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete(
@@ -1281,10 +1280,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete(
base::MakeRefCounted<WebUIDownloadURLLoaderFactoryGetter>(
rfh, params->url());
} else if (rfh && params->url().SchemeIsFileSystem()) {
@ -237,7 +237,7 @@ index 941eb49f0283..c693adf52068 100644
std::string storage_domain;
auto* site_instance = rfh->GetSiteInstance();
if (site_instance) {
@@ -1267,10 +1264,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete(
@@ -1299,10 +1296,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete(
params->url(), rfh, /*is_navigation=*/false,
storage_partition->GetFileSystemContext(), storage_domain);
} else {
@ -251,7 +251,7 @@ index 941eb49f0283..c693adf52068 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 eb08165b2708..149abb4b4e79 100644
index 81809b25675d..fe4b21a71091 100644
--- content/browser/loader/navigation_url_loader_impl.cc
+++ content/browser/loader/navigation_url_loader_impl.cc
@@ -387,7 +387,7 @@ class AboutURLLoaderFactory : public network::mojom::URLLoaderFactory {
@ -263,7 +263,7 @@ index eb08165b2708..149abb4b4e79 100644
DCHECK_CURRENTLY_ON(BrowserThread::UI);
network::mojom::URLLoaderFactoryPtrInfo factory_info;
network::mojom::URLLoaderFactoryParamsPtr params =
@@ -1259,7 +1259,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
@@ -1267,7 +1267,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_,
@ -272,7 +272,7 @@ index eb08165b2708..149abb4b4e79 100644
false /* allow_wildcard */, &stale, &plugin, nullptr);
if (stale) {
@@ -1608,7 +1608,7 @@ NavigationURLLoaderImpl::NavigationURLLoaderImpl(
@@ -1616,7 +1616,7 @@ NavigationURLLoaderImpl::NavigationURLLoaderImpl(
CreateResourceRequest(request_info.get(), frame_tree_node_id,
IsNavigationDownloadAllowed(download_policy_));
@ -298,10 +298,10 @@ index c2ee504cd0c7..422dc641d0a0 100644
partition->GetPaymentAppContext();
diff --git content/browser/payments/payment_app_provider_impl.cc content/browser/payments/payment_app_provider_impl.cc
index d821dc59609c..58ff1bc59fed 100644
index 9d3bee713440..38cc82d730a5 100644
--- content/browser/payments/payment_app_provider_impl.cc
+++ content/browser/payments/payment_app_provider_impl.cc
@@ -365,10 +365,11 @@ void StartServiceWorkerForDispatch(BrowserContext* browser_context,
@@ -367,10 +367,11 @@ void StartServiceWorkerForDispatch(BrowserContext* browser_context,
ServiceWorkerStartCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -316,7 +316,7 @@ index d821dc59609c..58ff1bc59fed 100644
base::PostTaskWithTraits(
FROM_HERE, {BrowserThread::IO},
@@ -442,8 +443,8 @@ void PaymentAppProviderImpl::GetAllPaymentApps(
@@ -444,8 +445,8 @@ void PaymentAppProviderImpl::GetAllPaymentApps(
GetAllPaymentAppsCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -328,10 +328,10 @@ index d821dc59609c..58ff1bc59fed 100644
partition->GetPaymentAppContext();
diff --git content/browser/renderer_host/render_process_host_impl.cc content/browser/renderer_host/render_process_host_impl.cc
index 2841e44002e7..de25b4bb3067 100644
index b33f30b3ec0d..9b78bdcd55b0 100644
--- content/browser/renderer_host/render_process_host_impl.cc
+++ content/browser/renderer_host/render_process_host_impl.cc
@@ -747,11 +747,10 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data,
@@ -700,11 +700,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) {
@ -347,7 +347,7 @@ index 2841e44002e7..de25b4bb3067 100644
// Is this the default storage partition? If it isn't, then just give it its
// own non-shared process.
@@ -1523,7 +1522,7 @@ int RenderProcessHost::GetCurrentRenderProcessCountForTesting() {
@@ -1433,7 +1432,7 @@ int RenderProcessHost::GetCurrentRenderProcessCountForTesting() {
// static
RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost(
BrowserContext* browser_context,
@ -356,7 +356,7 @@ index 2841e44002e7..de25b4bb3067 100644
SiteInstance* site_instance,
bool is_for_guests_only) {
if (g_render_process_host_factory_) {
@@ -1532,8 +1531,8 @@ RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost(
@@ -1442,8 +1441,8 @@ RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost(
}
if (!storage_partition_impl) {
@ -367,7 +367,7 @@ index 2841e44002e7..de25b4bb3067 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
@@ -1558,7 +1557,7 @@ const unsigned int RenderProcessHostImpl::kMaxFrameDepthForPriority =
@@ -1468,7 +1467,7 @@ const unsigned int RenderProcessHostImpl::kMaxFrameDepthForPriority =
RenderProcessHostImpl::RenderProcessHostImpl(
BrowserContext* browser_context,
@ -376,7 +376,7 @@ index 2841e44002e7..de25b4bb3067 100644
bool is_for_guests_only)
: fast_shutdown_started_(false),
deleting_soon_(false),
@@ -1609,10 +1608,12 @@ RenderProcessHostImpl::RenderProcessHostImpl(
@@ -1503,10 +1502,12 @@ RenderProcessHostImpl::RenderProcessHostImpl(
permission_service_context_(new PermissionServiceContext(this)),
indexed_db_factory_(new IndexedDBDispatcherHost(
id_,
@ -391,7 +391,7 @@ index 2841e44002e7..de25b4bb3067 100644
id_)),
channel_connected_(false),
sent_render_process_ready_(false),
@@ -1646,7 +1647,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
@@ -1539,7 +1540,8 @@ RenderProcessHostImpl::RenderProcessHostImpl(
}
push_messaging_manager_.reset(new PushMessagingManager(
@ -401,7 +401,7 @@ index 2841e44002e7..de25b4bb3067 100644
AddObserver(indexed_db_factory_.get());
AddObserver(service_worker_dispatcher_host_.get());
@@ -1976,6 +1978,15 @@ void RenderProcessHostImpl::ResetChannelProxy() {
@@ -1865,6 +1867,15 @@ void RenderProcessHostImpl::ResetChannelProxy() {
void RenderProcessHostImpl::CreateMessageFilters() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -417,7 +417,7 @@ index 2841e44002e7..de25b4bb3067 100644
MediaInternals* media_internals = MediaInternals::GetInstance();
// Add BrowserPluginMessageFilter to ensure it gets the first stab at messages
// from guests.
@@ -2015,10 +2026,10 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1904,10 +1915,10 @@ void RenderProcessHostImpl::CreateMessageFilters() {
media_request_context));
resource_message_filter_ = new ResourceMessageFilter(
@ -430,7 +430,7 @@ index 2841e44002e7..de25b4bb3067 100644
storage_partition_impl_->GetPrefetchURLLoaderService(),
browser_context->GetSharedCorsOriginAccessList(),
std::move(get_contexts_callback),
@@ -2027,8 +2038,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1916,8 +1927,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
AddFilter(resource_message_filter_.get());
}
@ -440,7 +440,7 @@ index 2841e44002e7..de25b4bb3067 100644
peer_connection_tracker_host_ = new PeerConnectionTrackerHost(GetID());
AddFilter(peer_connection_tracker_host_.get());
@@ -2045,10 +2055,6 @@ void RenderProcessHostImpl::CreateMessageFilters() {
@@ -1934,10 +1944,6 @@ void RenderProcessHostImpl::CreateMessageFilters() {
AddFilter(new TraceMessageFilter(GetID()));
AddFilter(new ResolveProxyMsgHelper(GetID()));
@ -451,7 +451,7 @@ index 2841e44002e7..de25b4bb3067 100644
}
void RenderProcessHostImpl::BindCacheStorage(
@@ -2060,7 +2066,8 @@ void RenderProcessHostImpl::BindCacheStorage(
@@ -1949,7 +1955,8 @@ void RenderProcessHostImpl::BindCacheStorage(
cache_storage_dispatcher_host_ =
base::MakeRefCounted<CacheStorageDispatcherHost>();
cache_storage_dispatcher_host_->Init(
@ -461,7 +461,7 @@ index 2841e44002e7..de25b4bb3067 100644
}
// Send the binding to IO thread, because Cache Storage handles Mojo IPC on IO
// thread entirely.
@@ -2268,7 +2275,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
@@ -2153,7 +2160,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
registry->AddInterface(base::BindRepeating(
&CodeCacheHostImpl::Create, GetID(),
@ -471,17 +471,17 @@ index 2841e44002e7..de25b4bb3067 100644
base::RetainedRef(
storage_partition_impl_->GetGeneratedCodeCacheContext())));
@@ -2280,7 +2288,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
@@ -2165,7 +2173,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
registry->AddInterface(base::BindRepeating(
&AppCacheDispatcherHost::Create,
&ChromeAppCacheService::CreateBackend,
- base::Unretained(storage_partition_impl_->GetAppCacheService()),
+ base::Unretained(static_cast<ChromeAppCacheService*>(
+ storage_partition_impl_->GetAppCacheService())),
GetID()));
AddUIThreadInterface(
@@ -2326,6 +2335,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
@@ -2211,6 +2220,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
plugin_registry_.reset(
new PluginRegistryImpl(GetBrowserContext()->GetResourceContext()));
}
@ -492,7 +492,7 @@ index 2841e44002e7..de25b4bb3067 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 9cbb089496aa..9236e3833c39 100644
index d5d82b53dd5e..080011133034 100644
--- content/browser/renderer_host/render_process_host_impl.h
+++ content/browser/renderer_host/render_process_host_impl.h
@@ -101,7 +101,6 @@ class ServiceWorkerDispatcherHost;
@ -512,7 +512,7 @@ index 9cbb089496aa..9236e3833c39 100644
SiteInstance* site_instance,
bool is_for_guests_only);
@@ -515,7 +514,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
@@ -516,7 +515,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
// Use CreateRenderProcessHost() instead of calling this constructor
// directly.
RenderProcessHostImpl(BrowserContext* browser_context,
@ -521,7 +521,7 @@ index 9cbb089496aa..9236e3833c39 100644
bool is_for_guests_only);
// Initializes a new IPC::ChannelProxy in |channel_|, which will be connected
@@ -781,10 +780,10 @@ class CONTENT_EXPORT RenderProcessHostImpl
@@ -782,10 +781,10 @@ class CONTENT_EXPORT RenderProcessHostImpl
// The globally-unique identifier for this RPH.
const int id_;
@ -586,10 +586,10 @@ index 8e4df0b15aeb..02bcdca69af9 100644
->CreateService(std::move(request), origin);
}));
diff --git content/browser/storage_partition_impl.h content/browser/storage_partition_impl.h
index e8a33dcd4b23..2435173b5c17 100644
index afc09164afd8..8b6e2cacc9d2 100644
--- content/browser/storage_partition_impl.h
+++ content/browser/storage_partition_impl.h
@@ -97,8 +97,8 @@ class CONTENT_EXPORT StoragePartitionImpl
@@ -98,8 +98,8 @@ class CONTENT_EXPORT StoragePartitionImpl
storage::FileSystemContext* GetFileSystemContext() override;
storage::DatabaseTracker* GetDatabaseTracker() override;
DOMStorageContextWrapper* GetDOMStorageContext() override;
@ -600,7 +600,7 @@ index e8a33dcd4b23..2435173b5c17 100644
IndexedDBContextImpl* GetIndexedDBContext() override;
CacheStorageContextImpl* GetCacheStorageContext() override;
ServiceWorkerContextWrapper* GetServiceWorkerContext() override;
@@ -139,14 +139,14 @@ class CONTENT_EXPORT StoragePartitionImpl
@@ -144,15 +144,16 @@ class CONTENT_EXPORT StoragePartitionImpl
void FlushNetworkInterfaceForTesting() override;
void WaitForDeletionTasksForTesting() override;
@ -612,6 +612,7 @@ index e8a33dcd4b23..2435173b5c17 100644
- BlobRegistryWrapper* GetBlobRegistry();
- PrefetchURLLoaderService* GetPrefetchURLLoaderService();
- CookieStoreContext* GetCookieStoreContext();
- DevToolsBackgroundServicesContext* GetDevToolsBackgroundServicesContext();
+ BackgroundFetchContext* GetBackgroundFetchContext() override;
+ BackgroundSyncContext* GetBackgroundSyncContext() override;
+ PaymentAppContextImpl* GetPaymentAppContext() override;
@ -620,10 +621,12 @@ index e8a33dcd4b23..2435173b5c17 100644
+ BlobRegistryWrapper* GetBlobRegistry() override;
+ PrefetchURLLoaderService* GetPrefetchURLLoaderService() override;
+ CookieStoreContext* GetCookieStoreContext() override;
+ DevToolsBackgroundServicesContext* GetDevToolsBackgroundServicesContext()
+ override;
// blink::mojom::StoragePartitionService interface.
void OpenLocalStorage(const url::Origin& origin,
@@ -163,21 +163,22 @@ class CONTENT_EXPORT StoragePartitionImpl
@@ -170,21 +171,22 @@ class CONTENT_EXPORT StoragePartitionImpl
const GURL& origin,
OnCanSendDomainReliabilityUploadCallback callback) override;
@ -651,7 +654,7 @@ index e8a33dcd4b23..2435173b5c17 100644
auto& bindings_for_testing() { return bindings_; }
@@ -188,10 +189,11 @@ class CONTENT_EXPORT StoragePartitionImpl
@@ -195,10 +197,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.
@ -725,11 +728,51 @@ index 63fe0125ca1c..698378600723 100644
}
RenderFrameHost* render_frame_host_;
diff --git content/browser/worker_host/dedicated_worker_host.cc content/browser/worker_host/dedicated_worker_host.cc
index d0eae9ed2150..edf0c88464d8 100644
--- content/browser/worker_host/dedicated_worker_host.cc
+++ content/browser/worker_host/dedicated_worker_host.cc
@@ -77,8 +77,7 @@ class DedicatedWorkerHost : public service_manager::mojom::InterfaceProvider {
client->OnScriptLoadFailed();
return;
}
- auto* storage_partition_impl = static_cast<StoragePartitionImpl*>(
- render_process_host->GetStoragePartition());
+ auto* storage_partition_impl = render_process_host->GetStoragePartition();
scoped_refptr<network::SharedURLLoaderFactory> blob_url_loader_factory;
if (blob_url_token) {
@@ -93,11 +92,13 @@ class DedicatedWorkerHost : public service_manager::mojom::InterfaceProvider {
}
appcache_handle_ = std::make_unique<AppCacheNavigationHandle>(
- storage_partition_impl->GetAppCacheService(), process_id_);
+ static_cast<ChromeAppCacheService*>(
+ storage_partition_impl->GetAppCacheService()), process_id_);
WorkerScriptFetchInitiator::Start(
process_id_, script_url, request_initiator_origin, RESOURCE_TYPE_WORKER,
- storage_partition_impl->GetServiceWorkerContext(),
+ static_cast<ServiceWorkerContextWrapper*>(
+ storage_partition_impl->GetServiceWorkerContext()),
appcache_handle_->core(), std::move(blob_url_loader_factory),
storage_partition_impl,
base::BindOnce(&DedicatedWorkerHost::DidLoadDedicatedWorker,
@@ -141,8 +142,7 @@ class DedicatedWorkerHost : public service_manager::mojom::InterfaceProvider {
client->OnScriptLoadFailed();
return;
}
- auto* storage_partition_impl = static_cast<StoragePartitionImpl*>(
- render_process_host->GetStoragePartition());
+ auto* storage_partition_impl = render_process_host->GetStoragePartition();
// Set up the default network loader factory.
network::mojom::URLLoaderFactoryPtrInfo default_factory_info;
diff --git content/browser/worker_host/shared_worker_connector_impl.cc content/browser/worker_host/shared_worker_connector_impl.cc
index 9ec4836022bb..57a6480bfd95 100644
index 4b410f1384b0..299e9402b93d 100644
--- content/browser/worker_host/shared_worker_connector_impl.cc
+++ content/browser/worker_host/shared_worker_connector_impl.cc
@@ -52,8 +52,8 @@ void SharedWorkerConnectorImpl::Connect(
@@ -53,8 +53,8 @@ void SharedWorkerConnectorImpl::Connect(
host->GetBrowserContext(), std::move(blob_url_token));
}
SharedWorkerServiceImpl* service =
@ -741,10 +784,47 @@ index 9ec4836022bb..57a6480bfd95 100644
std::move(client), creation_context_type,
blink::MessagePortChannel(std::move(message_port)),
diff --git content/browser/worker_host/worker_script_fetch_initiator.cc content/browser/worker_host/worker_script_fetch_initiator.cc
index 1b69f17bd2e3..186f36148565 100644
index a8f396c70a7b..ba94144b93e0 100644
--- content/browser/worker_host/worker_script_fetch_initiator.cc
+++ content/browser/worker_host/worker_script_fetch_initiator.cc
@@ -98,7 +98,7 @@ void WorkerScriptFetchInitiator::Start(
@@ -11,11 +11,11 @@
#include "base/macros.h"
#include "base/metrics/field_trial_params.h"
#include "base/task/post_task.h"
+#include "content/browser/appcache/appcache_host.h"
#include "content/browser/appcache/appcache_navigation_handle.h"
#include "content/browser/appcache/appcache_navigation_handle_core.h"
#include "content/browser/file_url_loader_factory.h"
#include "content/browser/service_worker/service_worker_context_wrapper.h"
-#include "content/browser/storage_partition_impl.h"
#include "content/browser/url_loader_factory_getter.h"
#include "content/browser/web_contents/web_contents_impl.h"
#include "content/browser/worker_host/worker_script_fetcher.h"
@@ -23,12 +23,14 @@
#include "content/browser/worker_host/worker_script_loader_factory.h"
#include "content/common/content_constants_internal.h"
#include "content/common/navigation_subresource_loader_params.h"
+#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/shared_cors_origin_access_list.h"
+#include "content/public/browser/storage_partition.h"
#include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/origin_util.h"
@@ -53,7 +55,7 @@ void WorkerScriptFetchInitiator::Start(
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
AppCacheNavigationHandleCore* appcache_handle_core,
scoped_refptr<network::SharedURLLoaderFactory> blob_url_loader_factory,
- StoragePartitionImpl* storage_partition,
+ StoragePartition* storage_partition,
CompletionCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
DCHECK(blink::ServiceWorkerUtils::IsServicificationEnabled());
@@ -99,7 +101,7 @@ void WorkerScriptFetchInitiator::Start(
base::BindOnce(
&WorkerScriptFetchInitiator::CreateScriptLoaderOnIO, process_id,
std::move(resource_request),
@ -753,8 +833,47 @@ index 1b69f17bd2e3..186f36148565 100644
std::move(factory_bundle_for_browser),
std::move(subresource_loader_factories),
std::move(service_worker_context), appcache_handle_core,
@@ -110,7 +112,7 @@ void WorkerScriptFetchInitiator::Start(
std::unique_ptr<blink::URLLoaderFactoryBundleInfo>
WorkerScriptFetchInitiator::CreateFactoryBundle(
int process_id,
- StoragePartitionImpl* storage_partition,
+ StoragePartition* storage_partition,
bool file_support) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
DCHECK(blink::ServiceWorkerUtils::IsServicificationEnabled());
diff --git content/browser/worker_host/worker_script_fetch_initiator.h content/browser/worker_host/worker_script_fetch_initiator.h
index 8bf63d954554..47a03e2d3364 100644
--- content/browser/worker_host/worker_script_fetch_initiator.h
+++ content/browser/worker_host/worker_script_fetch_initiator.h
@@ -32,7 +32,7 @@ namespace content {
class AppCacheNavigationHandleCore;
class BrowserContext;
class ServiceWorkerContextWrapper;
-class StoragePartitionImpl;
+class StoragePartition;
class URLLoaderFactoryGetter;
struct SubresourceLoaderParams;
@@ -59,14 +59,14 @@ class WorkerScriptFetchInitiator {
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
AppCacheNavigationHandleCore* appcache_handle_core,
scoped_refptr<network::SharedURLLoaderFactory> blob_url_loader_factory,
- StoragePartitionImpl* storage_partition,
+ StoragePartition* storage_partition,
CompletionCallback callback);
private:
// Creates a loader factory bundle. Must be called on the UI thread.
static std::unique_ptr<blink::URLLoaderFactoryBundleInfo> CreateFactoryBundle(
int process_id,
- StoragePartitionImpl* storage_partition,
+ StoragePartition* storage_partition,
bool file_support);
// Adds additional request headers to |resource_request|. Must be called on
diff --git content/public/browser/browser_context.h content/public/browser/browser_context.h
index 6e1403e84d1d..3d3e81335260 100644
index 0a6913f2ca56..31bda5a84c31 100644
--- content/public/browser/browser_context.h
+++ content/public/browser/browser_context.h
@@ -227,6 +227,8 @@ class CONTENT_EXPORT BrowserContext : public base::SupportsUserData {
@ -781,7 +900,7 @@ index 6e1403e84d1d..3d3e81335260 100644
const std::string unique_id_;
bool was_notify_will_be_destroyed_called_ = false;
diff --git content/public/browser/storage_partition.h content/public/browser/storage_partition.h
index 80083ad9ad16..d77e5999ba11 100644
index 911c9e347c33..6f97bbd947a9 100644
--- content/public/browser/storage_partition.h
+++ content/public/browser/storage_partition.h
@@ -14,8 +14,10 @@
@ -790,12 +909,12 @@ index 80083ad9ad16..d77e5999ba11 100644
#include "content/common/content_export.h"
+#include "mojo/public/cpp/bindings/binding_set.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
#include "services/network/public/mojom/cookie_manager.mojom.h"
#include "services/network/public/mojom/cookie_manager.mojom-forward.h"
+#include "third_party/blink/public/mojom/dom_storage/storage_partition_service.mojom.h"
class GURL;
@@ -59,12 +61,29 @@ class PlatformNotificationContext;
@@ -59,12 +61,30 @@ class PlatformNotificationContext;
class ServiceWorkerContext;
class SharedWorkerService;
@ -806,6 +925,7 @@ index 80083ad9ad16..d77e5999ba11 100644
+class BluetoothAllowedDevicesMap;
+class BroadcastChannelProvider;
+class CookieStoreContext;
+class DevToolsBackgroundServicesContext;
+class IdleManager;
+class LockManager;
+class PaymentAppContextImpl;
@ -825,7 +945,7 @@ index 80083ad9ad16..d77e5999ba11 100644
// Defines what persistent state a child process can access.
//
// The StoragePartition defines the view each child process has of the
@@ -104,6 +123,8 @@ class CONTENT_EXPORT StoragePartition {
@@ -104,6 +124,8 @@ class CONTENT_EXPORT StoragePartition {
virtual storage::FileSystemContext* GetFileSystemContext() = 0;
virtual storage::DatabaseTracker* GetDatabaseTracker() = 0;
virtual DOMStorageContext* GetDOMStorageContext() = 0;
@ -834,7 +954,7 @@ index 80083ad9ad16..d77e5999ba11 100644
virtual IndexedDBContext* GetIndexedDBContext() = 0;
virtual ServiceWorkerContext* GetServiceWorkerContext() = 0;
virtual SharedWorkerService* GetSharedWorkerService() = 0;
@@ -234,6 +255,28 @@ class CONTENT_EXPORT StoragePartition {
@@ -239,6 +261,30 @@ class CONTENT_EXPORT StoragePartition {
// Wait until all deletions tasks are finished. For test use only.
virtual void WaitForDeletionTasksForTesting() = 0;
@ -846,6 +966,8 @@ index 80083ad9ad16..d77e5999ba11 100644
+ virtual BlobRegistryWrapper* GetBlobRegistry() = 0;
+ virtual PrefetchURLLoaderService* GetPrefetchURLLoaderService() = 0;
+ virtual CookieStoreContext* GetCookieStoreContext() = 0;
+ virtual DevToolsBackgroundServicesContext*
+ GetDevToolsBackgroundServicesContext() = 0;
+
+ virtual URLLoaderFactoryGetter* url_loader_factory_getter() = 0;
+ virtual BrowserContext* browser_context() const = 0;
@ -864,10 +986,10 @@ index 80083ad9ad16..d77e5999ba11 100644
virtual ~StoragePartition() {}
};
diff --git storage/browser/database/database_tracker.cc storage/browser/database/database_tracker.cc
index e4a8bbd66018..c72412a29a75 100644
index 18f8b0a11438..a10ab23aaceb 100644
--- storage/browser/database/database_tracker.cc
+++ storage/browser/database/database_tracker.cc
@@ -502,7 +502,7 @@ bool DatabaseTracker::LazyInit() {
@@ -509,7 +509,7 @@ bool DatabaseTracker::LazyInit() {
meta_table_.reset(new sql::MetaTable());
is_initialized_ =

View File

@ -1,5 +1,5 @@
diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h
index b4c7cb994726..4c2e6b85f3a0 100644
index 72adf46bf133..1af3dfddb795 100644
--- base/trace_event/builtin_categories.h
+++ base/trace_event/builtin_categories.h
@@ -47,6 +47,8 @@

View File

@ -1,25 +0,0 @@
diff --git src/snapshot/embedded-file-writer.cc src/snapshot/embedded-file-writer.cc
index 9612fa6..6394287 100644
--- src/snapshot/embedded-file-writer.cc
+++ src/snapshot/embedded-file-writer.cc
@@ -4,6 +4,7 @@
#include "src/snapshot/embedded-file-writer.h"
+#include <algorithm>
#include <cinttypes>
#include "src/objects/code-inl.h"
@@ -613,7 +614,11 @@
void PlatformDependentEmbeddedFileWriter::DeclareExternalFilename(
int fileid, const char* filename) {
- fprintf(fp_, ".file %d \"%s\"\n", fileid, filename);
+ // Replace any Windows style paths (backslashes) with forward
+ // slashes.
+ std::string fixed_filename(filename);
+ std::replace(fixed_filename.begin(), fixed_filename.end(), '\\', '/');
+ fprintf(fp_, ".file %d \"%s\"\n", fileid, fixed_filename.c_str());
}
void PlatformDependentEmbeddedFileWriter::FileEpilogue() {}

View File

@ -1,5 +1,5 @@
diff --git ui/base/models/menu_model.h ui/base/models/menu_model.h
index bb53c043a8fe..e1427ac3a1ef 100644
index cce16a111356..9f0a8b73adb5 100644
--- ui/base/models/menu_model.h
+++ ui/base/models/menu_model.h
@@ -15,6 +15,7 @@
@ -10,7 +10,7 @@ index bb53c043a8fe..e1427ac3a1ef 100644
struct VectorIcon;
}
@@ -120,6 +121,27 @@ class UI_BASE_EXPORT MenuModel {
@@ -122,6 +123,27 @@ class UI_BASE_EXPORT MenuModel {
// |event_flags| is a bit mask of ui::EventFlags.
virtual void ActivatedAt(int index, int event_flags);
@ -140,10 +140,10 @@ index 79b6dca32725..9dbb179ee3a4 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 0200201196b2..6e1617c927ba 100644
index 01dfb90dca0a..048da0d3b631 100644
--- ui/views/controls/button/label_button.h
+++ ui/views/controls/button/label_button.h
@@ -97,6 +97,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
@@ -100,6 +100,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
void RemoveInkDropLayer(ui::Layer* ink_drop_layer) override;
void GetAccessibleNodeData(ui::AXNodeData* node_data) override;
@ -240,10 +240,10 @@ index 771034ccebbe..79e3026f6870 100644
std::unique_ptr<SelectionController> selection_controller_;
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
index f30abb99f6f0..2d1ecf4a198b 100644
index 2164c847f795..5083a47ebc4b 100644
--- ui/views/controls/menu/menu_controller.cc
+++ ui/views/controls/menu/menu_controller.cc
@@ -2508,8 +2508,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
@@ -2575,8 +2575,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
void MenuController::OpenSubmenuChangeSelectionIfCan() {
MenuItemView* item = pending_state_.item;
@ -258,7 +258,7 @@ index f30abb99f6f0..2d1ecf4a198b 100644
MenuItemView* to_select = NULL;
if (item->GetSubmenu()->GetMenuItemCount() > 0)
to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN);
@@ -2524,8 +2529,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
@@ -2595,8 +2600,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
void MenuController::CloseSubmenu() {
MenuItemView* item = state_.item;
DCHECK(item);
@ -310,10 +310,10 @@ index 921aef245bf3..4b7474c01c0e 100644
virtual int GetMaxWidthForMenu(MenuItemView* menu);
diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc
index 72346e78c5bd..5772433fd741 100644
index 9e1b05f914c2..d071aa7ab9c5 100644
--- ui/views/controls/menu/menu_item_view.cc
+++ ui/views/controls/menu/menu_item_view.cc
@@ -1044,6 +1044,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
@@ -1055,6 +1055,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
spilling_rect.set_y(spilling_rect.y() - corner_radius_);
spilling_rect.set_height(spilling_rect.height() + corner_radius_);
canvas->DrawRoundRect(spilling_rect, corner_radius_, flags);
@ -329,7 +329,7 @@ index 72346e78c5bd..5772433fd741 100644
} else if (render_selection) {
gfx::Rect item_bounds = GetLocalBounds();
if (type_ == ACTIONABLE_SUBMENU) {
@@ -1110,6 +1119,13 @@ void MenuItemView::PaintMinorIconAndText(
@@ -1121,6 +1130,13 @@ void MenuItemView::PaintMinorIconAndText(
}
SkColor MenuItemView::GetTextColor(bool minor, bool render_selection) const {
@ -344,10 +344,10 @@ index 72346e78c5bd..5772433fd741 100644
minor ? ui::NativeTheme::kColorId_MenuItemMinorTextColor
: ui::NativeTheme::kColorId_EnabledMenuItemForegroundColor;
diff --git ui/views/controls/menu/menu_model_adapter.cc ui/views/controls/menu/menu_model_adapter.cc
index c91415cb1e92..4af5835550dd 100644
index 03186888c8de..1382571e8d8c 100644
--- ui/views/controls/menu/menu_model_adapter.cc
+++ ui/views/controls/menu/menu_model_adapter.cc
@@ -220,6 +220,77 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
@@ -224,6 +224,77 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
return false;
}
@ -426,10 +426,10 @@ index c91415cb1e92..4af5835550dd 100644
// Look up the menu model for this menu.
const std::map<MenuItemView*, ui::MenuModel*>::const_iterator map_iterator =
diff --git ui/views/controls/menu/menu_model_adapter.h ui/views/controls/menu/menu_model_adapter.h
index a35987190633..c34c905b708b 100644
index 240525c22b8b..6dcaa7045c3b 100644
--- ui/views/controls/menu/menu_model_adapter.h
+++ ui/views/controls/menu/menu_model_adapter.h
@@ -75,6 +75,20 @@ class VIEWS_EXPORT MenuModelAdapter : public MenuDelegate {
@@ -84,6 +84,20 @@ class VIEWS_EXPORT MenuModelAdapter : public MenuDelegate,
bool IsCommandEnabled(int id) const override;
bool IsCommandVisible(int id) const override;
bool IsItemChecked(int id) const override;
@ -482,7 +482,7 @@ index 0180b30d383a..c0724b6b80a7 100644
// Move the cursor because EnterNotify/LeaveNotify are generated with the
// current mouse position as a result of XGrabPointer()
diff --git ui/views/view.h ui/views/view.h
index 2aa7df41f179..206fedae27ba 100644
index 4c10e9872aa7..0adbfab904b1 100644
--- ui/views/view.h
+++ ui/views/view.h
@@ -19,6 +19,7 @@

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
index 7e2761a4afb1..ee8e65f743f7 100644
index 68d55c2f9e2d..6965fc87237a 100644
--- content/browser/renderer_host/render_widget_host_view_base.cc
+++ content/browser/renderer_host/render_widget_host_view_base.cc
@@ -589,6 +589,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const {
@@ -571,6 +571,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const {
return screen_info.device_scale_factor;
}
@ -18,7 +18,7 @@ index 7e2761a4afb1..ee8e65f743f7 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 b7febba61de2..ce9de3b369f9 100644
index 148c980a6f60..fc88fd4bebe0 100644
--- content/browser/renderer_host/render_widget_host_view_base.h
+++ content/browser/renderer_host/render_widget_host_view_base.h
@@ -84,6 +84,7 @@ class CursorManager;
@ -48,7 +48,7 @@ index b7febba61de2..ce9de3b369f9 100644
TouchSelectionControllerClientManager*
GetTouchSelectionControllerClientManager() override;
@@ -490,6 +496,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -477,6 +483,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 b7febba61de2..ce9de3b369f9 100644
// Sets the cursor for this view to the one associated with the specified
// cursor_type.
virtual void UpdateCursor(const WebCursor& cursor) = 0;
@@ -691,6 +703,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -678,6 +690,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
bool is_currently_scrolling_viewport_ = false;
@ -103,10 +103,10 @@ index c362e6be4c35..a63527310e05 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 b2ee7df96f71..1113d1bc38b7 100644
index d02f832a9945..accbabeae2d2 100644
--- content/public/browser/render_widget_host_view.h
+++ content/public/browser/render_widget_host_view.h
@@ -248,6 +248,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
@@ -246,6 +246,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 e43193ea912c..457f019db4c4 100644
index 3072635b1d3f..8f95501e27e1 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -89,6 +89,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
@@ -90,6 +90,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
should_animate_window_close_(false),
pending_close_(false),
has_non_client_view_(false),
@ -146,7 +146,7 @@ index e43193ea912c..457f019db4c4 100644
tooltip_(NULL) {
}
@@ -123,8 +124,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
@@ -124,8 +125,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
native_widget_delegate_);
HWND parent_hwnd = NULL;
@ -160,7 +160,7 @@ index e43193ea912c..457f019db4c4 100644
remove_standard_frame_ = params.remove_standard_frame;
has_non_client_view_ = Widget::RequiresNonClientView(params.type);
@@ -894,11 +899,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
@@ -892,11 +897,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
}
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
@ -194,10 +194,10 @@ index 57fdabdb047a..db7c6b027452 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 c2ea66ff7552..d90cd3538a40 100644
index 42c4658fe75f..17e47e1b61ba 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
@@ -145,6 +145,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
@@ -146,6 +146,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
use_native_frame_(false),
should_maximize_after_map_(false),
use_argb_visual_(false),
@ -205,7 +205,7 @@ index c2ea66ff7552..d90cd3538a40 100644
drag_drop_client_(NULL),
native_widget_delegate_(native_widget_delegate),
desktop_native_widget_aura_(desktop_native_widget_aura),
@@ -157,6 +158,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
@@ -158,6 +159,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
has_window_focus_(false),
has_pointer_focus_(false),
modal_dialog_counter_(0),
@ -213,7 +213,7 @@ index c2ea66ff7552..d90cd3538a40 100644
close_widget_factory_(this),
weak_factory_(this) {}
@@ -192,6 +194,8 @@ std::vector<aura::Window*> DesktopWindowTreeHostX11::GetAllOpenWindows() {
@@ -193,6 +195,8 @@ std::vector<aura::Window*> DesktopWindowTreeHostX11::GetAllOpenWindows() {
}
gfx::Rect DesktopWindowTreeHostX11::GetX11RootWindowBounds() const {
@ -222,7 +222,7 @@ index c2ea66ff7552..d90cd3538a40 100644
return bounds_in_pixels_;
}
@@ -502,7 +506,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
@@ -503,7 +507,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
// Actually free our native resources.
if (ui::PlatformEventSource::GetInstance())
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
@ -232,7 +232,7 @@ index c2ea66ff7552..d90cd3538a40 100644
xwindow_ = x11::None;
desktop_native_widget_aura_->OnHostClosed();
@@ -644,6 +649,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
@@ -648,6 +653,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
}
gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const {
@ -241,7 +241,7 @@ index c2ea66ff7552..d90cd3538a40 100644
return ToDIPRect(bounds_in_pixels_);
}
@@ -1271,6 +1278,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels(
@@ -1274,6 +1281,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels(
}
gfx::Point DesktopWindowTreeHostX11::GetLocationOnScreenInPixels() const {
@ -250,7 +250,7 @@ index c2ea66ff7552..d90cd3538a40 100644
return bounds_in_pixels_.origin();
}
@@ -1411,7 +1420,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
@@ -1414,7 +1423,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
XAtom window_type;
switch (params.type) {
case Widget::InitParams::TYPE_MENU:
@ -258,7 +258,7 @@ index c2ea66ff7552..d90cd3538a40 100644
window_type = gfx::GetAtom("_NET_WM_WINDOW_TYPE_MENU");
break;
case Widget::InitParams::TYPE_TOOLTIP:
@@ -1467,9 +1475,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
@@ -1470,9 +1478,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
attribute_mask |= CWBorderPixel;
swa.border_pixel = 0;
@ -275,7 +275,7 @@ index c2ea66ff7552..d90cd3538a40 100644
bounds_in_pixels_.y(), bounds_in_pixels_.width(),
bounds_in_pixels_.height(),
0, // border width
@@ -2090,6 +2104,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
@@ -2093,6 +2107,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
}
break;
}
@ -335,7 +335,7 @@ index c547609abf03..5092e2a38b67 100644
base::WeakPtrFactory<DesktopWindowTreeHostX11> weak_factory_;
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
index 496e7240e2c4..43b4053f11d6 100644
index 04a14bf90d58..db1f16c72f37 100644
--- ui/views/widget/widget.cc
+++ ui/views/widget/widget.cc
@@ -138,6 +138,7 @@ Widget::InitParams::InitParams(Type type)
@ -369,7 +369,7 @@ index 496e7240e2c4..43b4053f11d6 100644
}
// This must come after SetContentsView() or it might not be able to find
// the correct NativeTheme (on Linux). See http://crbug.com/384492
@@ -1130,10 +1136,16 @@ void Widget::OnNativeWidgetDestroyed() {
@@ -1135,10 +1141,16 @@ void Widget::OnNativeWidgetDestroyed() {
}
gfx::Size Widget::GetMinimumSize() const {
@ -387,7 +387,7 @@ index 496e7240e2c4..43b4053f11d6 100644
}
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
index 0323bbb17b19..5d2b6129c930 100644
index bb13f4e9ff1a..c8535665cea7 100644
--- ui/views/widget/widget.h
+++ ui/views/widget/widget.h
@@ -255,6 +255,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@ -399,10 +399,10 @@ index 0323bbb17b19..5d2b6129c930 100644
// the NativeWidget may specify a default size. If the parent is specified,
// |bounds| is in the parent's coordinate system. If the parent is not
diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h
index 186a5509c13f..557c4f6d38a6 100644
index 75ace4b98cfa..257efbea2f42 100644
--- ui/views/widget/widget_delegate.h
+++ ui/views/widget/widget_delegate.h
@@ -192,6 +192,10 @@ class VIEWS_EXPORT WidgetDelegate {
@@ -190,6 +190,10 @@ class VIEWS_EXPORT WidgetDelegate {
// be cycled through with keyboard focus.
virtual void GetAccessiblePanes(std::vector<View*>* panes) {}
@ -427,10 +427,10 @@ index 5bcb8d8b9bae..020fa85573aa 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 f3523d2a05c3..3c16a7fdd4a3 100644
index a71728f78327..aff700c1ace0 100644
--- ui/views/win/hwnd_message_handler.cc
+++ ui/views/win/hwnd_message_handler.cc
@@ -2896,10 +2896,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -2916,10 +2916,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
} else if (event.type() == ui::ET_MOUSEWHEEL) {
ui::MouseWheelEvent mouse_wheel_event(msg);
// Reroute the mouse wheel to the window under the pointer if applicable.

View File

@ -1,8 +1,8 @@
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
index bdc3ae99f2b3..f3c70ccd242a 100644
index 11ee9803f85e..f4178215d5ec 100644
--- content/browser/web_contents/web_contents_impl.cc
+++ content/browser/web_contents/web_contents_impl.cc
@@ -2033,21 +2033,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -2041,21 +2041,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 bdc3ae99f2b3..f3c70ccd242a 100644
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -2745,6 +2754,15 @@ void WebContentsImpl::CreateNewWindow(
@@ -2746,6 +2755,15 @@ void WebContentsImpl::CreateNewWindow(
create_params.renderer_initiated_creation =
main_frame_route_id != MSG_ROUTING_NONE;
@ -61,7 +61,7 @@ index bdc3ae99f2b3..f3c70ccd242a 100644
std::unique_ptr<WebContents> new_contents;
if (!is_guest) {
create_params.context = view_->GetNativeView();
@@ -2777,7 +2795,7 @@ void WebContentsImpl::CreateNewWindow(
@@ -2778,7 +2796,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 bdc3ae99f2b3..f3c70ccd242a 100644
}
// Save the created window associated with the route so we can show it
// later.
@@ -6288,7 +6306,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
@@ -6320,7 +6338,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager(
RenderViewHost* render_view_host) {
RenderWidgetHostViewBase* rwh_view =
@ -95,10 +95,10 @@ 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 e6b4cd044895..3d7e8bb57f45 100644
index 87031ac3aaaa..8bd3fc212283 100644
--- content/public/browser/web_contents.h
+++ content/public/browser/web_contents.h
@@ -73,9 +73,11 @@ class BrowserPluginGuestDelegate;
@@ -75,9 +75,11 @@ class BrowserPluginGuestDelegate;
class InterstitialPage;
class RenderFrameHost;
class RenderViewHost;
@ -110,7 +110,7 @@ index e6b4cd044895..3d7e8bb57f45 100644
struct CustomContextMenuContext;
struct DropData;
struct MHTMLGenerationParams;
@@ -215,6 +217,10 @@ class WebContents : public PageNavigator,
@@ -216,6 +218,10 @@ class WebContents : public PageNavigator,
// Sandboxing flags set on the new WebContents.
blink::WebSandboxFlags starting_sandbox_flags;
@ -122,7 +122,7 @@ index e6b4cd044895..3d7e8bb57f45 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 7e76c0e63532..41ebc1e283c7 100644
index 5a0ec94ade36..86b12ad25b0d 100644
--- content/public/browser/web_contents_delegate.h
+++ content/public/browser/web_contents_delegate.h
@@ -56,10 +56,12 @@ class FileSelectListener;

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 bfc4a95febcf..1d06dbbb09b0 100644
index 55bd97c5ddae..5d69388be783 100644
--- third_party/blink/public/platform/platform.h
+++ third_party/blink/public/platform/platform.h
@@ -754,6 +754,11 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -732,6 +732,11 @@ class BLINK_PLATFORM_EXPORT Platform {
// runs during Chromium's build step).
virtual bool IsTakingV8ContextSnapshot() { return false; }
@ -44,10 +44,10 @@ index 31d7915a56b1..3867128de143 100644
.Top()
.GetSecurityContext()
diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc
index 9c8ffb99f78e..baa128f55603 100644
index daf6c8f000dd..ca2ac98edf8a 100644
--- third_party/blink/renderer/core/frame/local_frame.cc
+++ third_party/blink/renderer/core/frame/local_frame.cc
@@ -1323,7 +1323,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
@@ -1322,7 +1322,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
PluginData* LocalFrame::GetPluginData() const {
if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin))
return nullptr;
@ -57,7 +57,7 @@ index 9c8ffb99f78e..baa128f55603 100644
}
diff --git third_party/blink/renderer/core/inspector/devtools_session.cc third_party/blink/renderer/core/inspector/devtools_session.cc
index 347b9a74d341..aa71fb8de4a4 100644
index 3eb429271b95..3ebd2ac75f4d 100644
--- third_party/blink/renderer/core/inspector/devtools_session.cc
+++ third_party/blink/renderer/core/inspector/devtools_session.cc
@@ -4,6 +4,7 @@
@ -68,7 +68,7 @@ index 347b9a74d341..aa71fb8de4a4 100644
#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"
@@ -112,6 +113,7 @@ DevToolsSession::DevToolsSession(
@@ -146,6 +147,7 @@ DevToolsSession::DevToolsSession(
for (wtf_size_t i = 0; i < agents_.size(); i++)
agents_[i]->Restore();
}
@ -76,7 +76,7 @@ index 347b9a74d341..aa71fb8de4a4 100644
}
DevToolsSession::~DevToolsSession() {
@@ -150,6 +152,7 @@ void DevToolsSession::Detach() {
@@ -184,6 +186,7 @@ void DevToolsSession::Detach() {
agents_.clear();
v8_session_.reset();
agent_->client_->DebuggerTaskFinished();
@ -85,10 +85,10 @@ index 347b9a74d341..aa71fb8de4a4 100644
void DevToolsSession::FlushProtocolNotifications() {
diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc
index ff579698b831..b42856d0d3c9 100644
index b1533fe6db9a..6c006296ef9e 100644
--- third_party/blink/renderer/core/page/page.cc
+++ third_party/blink/renderer/core/page/page.cc
@@ -170,7 +170,8 @@ Page::Page(PageClients& page_clients)
@@ -171,7 +171,8 @@ Page::Page(PageClients& page_clients)
overscroll_controller_(
OverscrollController::Create(GetVisualViewport(), GetChromeClient())),
link_highlights_(LinkHighlights::Create(*this)),
@ -98,7 +98,7 @@ index ff579698b831..b42856d0d3c9 100644
// TODO(pdr): Initialize |validation_message_client_| lazily.
validation_message_client_(ValidationMessageClientImpl::Create(*this)),
opened_by_dom_(false),
@@ -325,21 +326,40 @@ void Page::InitialStyleChanged() {
@@ -326,21 +327,40 @@ void Page::InitialStyleChanged() {
}
}
@ -148,7 +148,7 @@ index ff579698b831..b42856d0d3c9 100644
page->NotifyPluginsChanged();
}
}
@@ -734,7 +754,8 @@ void Page::Trace(blink::Visitor* visitor) {
@@ -745,7 +765,8 @@ void Page::Trace(blink::Visitor* visitor) {
visitor->Trace(link_highlights_);
visitor->Trace(spatial_navigation_controller_);
visitor->Trace(main_frame_);
@ -159,10 +159,10 @@ index ff579698b831..b42856d0d3c9 100644
visitor->Trace(plugins_changed_observers_);
visitor->Trace(next_related_page_);
diff --git third_party/blink/renderer/core/page/page.h third_party/blink/renderer/core/page/page.h
index 616470be36dd..55e162ddf99f 100644
index 38e73455007f..cae4a0c51d55 100644
--- third_party/blink/renderer/core/page/page.h
+++ third_party/blink/renderer/core/page/page.h
@@ -136,7 +136,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
@@ -139,7 +139,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
ViewportDescription GetViewportDescription() const;
// Returns the plugin data associated with |main_frame_origin|.
@ -172,7 +172,7 @@ index 616470be36dd..55e162ddf99f 100644
// Resets the plugin data for all pages in the renderer process and notifies
// PluginsChangedObservers.
@@ -356,7 +357,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
@@ -361,7 +362,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
const Member<LinkHighlights> link_highlights_;
Member<SpatialNavigationController> spatial_navigation_controller_;

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 49c6ec343bd6..e8a00e915a70 100644
index 0d527c28e043..0175257c0c3c 100644
--- third_party/blink/renderer/core/input/pointer_event_manager.cc
+++ third_party/blink/renderer/core/input/pointer_event_manager.cc
@@ -282,7 +282,7 @@ void PointerEventManager::HandlePointerInterruption(

View File

@ -1,5 +1,5 @@
diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h
index f7f0ae5b0c70..005b4c37fc7d 100644
index 79f633d3c8d0..b8ee1de999d5 100644
--- third_party/blink/public/web/web_view.h
+++ third_party/blink/public/web/web_view.h
@@ -344,6 +344,7 @@ class WebView {
@ -11,7 +11,7 @@ index f7f0ae5b0c70..005b4c37fc7d 100644
// Cancels and hides the current popup (datetime, select...) if any.
virtual void CancelPagePopup() = 0;
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
index 2455c3728620..3182a7999e05 100644
index 86caa260d408..c0791f605d0d 100644
--- third_party/blink/renderer/core/exported/web_view_impl.cc
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -236,8 +236,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
@ -30,19 +30,19 @@ index 2455c3728620..3182a7999e05 100644
}
namespace {
@@ -308,6 +313,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client,
enable_fake_page_scale_animation_for_testing_(false),
fake_page_scale_animation_page_scale_factor_(0),
fake_page_scale_animation_use_anchor_(false),
@@ -299,6 +304,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client,
chrome_client_(ChromeClientImpl::Create(this)),
minimum_zoom_level_(ZoomFactorToZoomLevel(kMinTextSizeMultiplier)),
maximum_zoom_level_(ZoomFactorToZoomLevel(kMaxTextSizeMultiplier)),
+ should_use_external_popup_menus_(g_should_use_external_popup_menus),
compositor_device_scale_factor_override_(0),
suppress_next_keypress_event_(false),
ime_accept_events_(true),
does_composite_(does_composite),
fullscreen_controller_(FullscreenController::Create(this)) {
if (!AsView().client) {
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
index c83d975c7b04..f6a1e331cc31 100644
index 60d70f5bebd0..a4b78f823f49 100644
--- third_party/blink/renderer/core/exported/web_view_impl.h
+++ third_party/blink/renderer/core/exported/web_view_impl.h
@@ -107,7 +107,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -106,7 +106,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
static HashSet<WebViewImpl*>& AllInstances();
// Returns true if popup menus should be rendered by the browser, false if
// they should be rendered by WebKit (which is the default).
@ -52,20 +52,20 @@ index c83d975c7b04..f6a1e331cc31 100644
// WebView methods:
void SetWebWidgetClient(WebWidgetClient*) override;
@@ -607,6 +608,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
float fake_page_scale_animation_page_scale_factor_;
bool fake_page_scale_animation_use_anchor_;
@@ -613,6 +614,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
float fake_page_scale_animation_page_scale_factor_ = 0.f;
bool fake_page_scale_animation_use_anchor_ = false;
+ bool should_use_external_popup_menus_;
+
float compositor_device_scale_factor_override_;
float compositor_device_scale_factor_override_ = 0.f;
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 939f59cac349..2609c587d80d 100644
index 99da78636e16..55296b806d54 100644
--- third_party/blink/renderer/core/page/chrome_client_impl.cc
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc
@@ -809,7 +809,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
@@ -801,7 +801,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame,
HTMLSelectElement& select) {
NotifyPopupOpeningObservers();

View File

@ -1,16 +1,16 @@
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 05a1108ec2cc..163d2c263155 100644
index 6a943ceb13bc..44db1b8a2371 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 @@
@@ -19,6 +19,7 @@
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/sync/profile_sync_service_factory.h"
#include "chrome/common/channel_info.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "components/browser_sync/profile_sync_service.h"
#include "components/prefs/pref_service.h"
@@ -266,6 +267,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
#include "components/sync/driver/about_sync_util.h"
@@ -267,6 +268,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
}
void ChromeInternalLogSource::PopulateSyncLogs(SystemLogsResponse* response) {
@ -20,7 +20,7 @@ index 05a1108ec2cc..163d2c263155 100644
+
// We are only interested in sync logs for the primary user profile.
Profile* profile = ProfileManager::GetPrimaryUserProfile();
if (!profile ||
if (!profile || !ProfileSyncServiceFactory::HasProfileSyncService(profile))
@@ -309,6 +314,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
if (!profile)
return;

View File

@ -1,8 +1,8 @@
diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd
index 3706703c4eb4..3f9d4367af44 100644
index d31b79b758ae..c1cb0d7e75eb 100644
--- chrome/app/generated_resources.grd
+++ chrome/app/generated_resources.grd
@@ -4563,7 +4563,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
@@ -4581,7 +4581,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
</message>
</if>
<message name="IDS_PLUGIN_BLOCKED_BY_POLICY" desc="The placeholder text for a plugin blocked by enterprise policy.">

View File

@ -340,7 +340,7 @@ void TestMultipleCookies(CefRefPtr<CefCookieManager> manager,
cookies.clear();
// Delete the 2nd cookie.
DeleteCookies(manager, kTestUrl, CefString("my_cookie1"), -1, event);
DeleteCookies(manager, kTestUrl, CefString("my_cookie1"), 1, event);
// Verify that the cookie has been deleted.
VisitUrlCookies(manager, kTestUrl, false, cookies, false, event);

View File

@ -473,7 +473,7 @@ class OSRTestHandler : public RoutingTestHandler,
break;
case OSR_TEST_TAKE_FOCUS:
if (StartTest() || started()) {
// Tab traversal across HTML element
// Tab traversal across HTML element
#if defined(OS_WIN)
SendKeyEvent(browser, VK_TAB);
@ -559,9 +559,11 @@ class OSRTestHandler : public RoutingTestHandler,
browser->GetHost()->Invalidate(PET_VIEW);
} else {
EXPECT_EQ(dirtyRects.size(), 1U);
EXPECT_EQ(dirtyRects[0],
GetScaledRect(CefRect(0, 0, kOsrWidth, kOsrHeight)));
DestroySucceededTestSoon();
const CefRect& expected_rect =
GetScaledRect(CefRect(0, 0, kOsrWidth, kOsrHeight));
// There may be some partial repaints before the full repaint.
if (dirtyRects[0] == expected_rect)
DestroySucceededTestSoon();
}
break;
}
@ -703,7 +705,7 @@ class OSRTestHandler : public RoutingTestHandler,
EXPECT_GT(dirtyRects[0].height, kExpandedSelectRect.height);
}
// first pixel of border
// first pixel of border
#if defined(OS_MACOSX)
EXPECT_EQ(0xff5d99d6U, *(reinterpret_cast<const uint32*>(buffer)));
@ -741,11 +743,12 @@ class OSRTestHandler : public RoutingTestHandler,
const CefRect& expanded_select_rect =
GetScaledRect(kExpandedSelectRect);
EXPECT_EQ(dirtyRects.size(), 1U);
EXPECT_EQ(0, dirtyRects[0].x);
EXPECT_EQ(0, dirtyRects[0].y);
// dirtyRects[0] has a 1px inset.
EXPECT_EQ(1, dirtyRects[0].x);
EXPECT_EQ(1, dirtyRects[0].y);
if (ExpectComputedPopupSize()) {
EXPECT_EQ(expanded_select_rect.width, dirtyRects[0].width);
EXPECT_EQ(expanded_select_rect.height, dirtyRects[0].height);
EXPECT_EQ(expanded_select_rect.width - 2, dirtyRects[0].width);
EXPECT_EQ(expanded_select_rect.height - 2, dirtyRects[0].height);
} else {
EXPECT_GT(dirtyRects[0].width, kExpandedSelectRect.width);
EXPECT_GT(dirtyRects[0].height, kExpandedSelectRect.height);

View File

@ -26,8 +26,19 @@ def MakeFileSegment(input, all_names):
contents = read_file(input)
# Format for Windows builds with resource whitelisting enabled [1]:
# #define IDR_RESOURCE_NAME (::ui::WhitelistedResource<12345>(), 12345)
# Format for other builds:
# #define IDR_RESOURCE_NAME 12345
# [1] See https://crbug.com/684788#c18
regex = '#define\s([A-Za-z0-9_]{1,})\s'
if contents.find('ui::WhitelistedResource') > 0:
regex += '.*<'
regex += '([0-9]{1,})'
# identify the defines in the file
p = re.compile('#define\s([A-Za-z0-9_]{1,})\s([0-9]{1,})')
p = re.compile(regex)
list = p.findall(contents)
for name, id in list:
# If the same define exists in multiple files add a suffix.