mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Update to Chromium version 75.0.3749.0 (#645082)
This commit is contained in:
committed by
Marshall Greenblatt
parent
1beec23065
commit
879911b721
@ -7,5 +7,5 @@
|
||||
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
|
||||
|
||||
{
|
||||
'chromium_checkout': 'refs/tags/74.0.3729.0'
|
||||
'chromium_checkout': 'refs/tags/75.0.3749.0'
|
||||
}
|
||||
|
@ -938,6 +938,7 @@ typedef enum {
|
||||
ERR_UNEXPECTED_PROXY_AUTH = -323,
|
||||
ERR_EMPTY_RESPONSE = -324,
|
||||
ERR_RESPONSE_HEADERS_TOO_BIG = -325,
|
||||
ERR_CONTENT_DECODING_FAILED = -330,
|
||||
ERR_CACHE_MISS = -400,
|
||||
ERR_INSECURE_RESPONSE = -501,
|
||||
} cef_errorcode_t;
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
#include "base/synchronization/lock.h"
|
||||
#include "content/public/browser/render_process_host_observer.h"
|
||||
#include "third_party/blink/public/web/window_features.mojom.h"
|
||||
#include "third_party/blink/public/mojom/window_features/window_features.mojom.h"
|
||||
#include "ui/base/window_open_disposition.h"
|
||||
#include "url/gurl.h"
|
||||
|
||||
|
@ -101,6 +101,7 @@
|
||||
#include "extensions/common/switches.h"
|
||||
#include "net/ssl/ssl_cert_request_info.h"
|
||||
#include "ppapi/host/ppapi_host.h"
|
||||
#include "services/network/public/cpp/network_switches.h"
|
||||
#include "services/service_manager/embedder/switches.h"
|
||||
#include "services/service_manager/public/mojom/connector.mojom.h"
|
||||
#include "services/service_manager/sandbox/switches.h"
|
||||
@ -736,7 +737,7 @@ void CefContentBrowserClient::AppendExtraCommandLineSwitches(
|
||||
switches::kPpapiFlashPath,
|
||||
switches::kPpapiFlashVersion,
|
||||
switches::kUncaughtExceptionStackSize,
|
||||
switches::kUnsafelyTreatInsecureOriginAsSecure,
|
||||
network::switches::kUnsafelyTreatInsecureOriginAsSecure,
|
||||
};
|
||||
command_line->CopySwitchesFrom(*browser_cmd, kSwitchNames,
|
||||
base::size(kSwitchNames));
|
||||
@ -1239,7 +1240,9 @@ bool CefContentBrowserClient::HandleExternalProtocol(
|
||||
ui::PageTransition page_transition,
|
||||
bool has_user_gesture,
|
||||
const std::string& method,
|
||||
const net::HttpRequestHeaders& headers) {
|
||||
const net::HttpRequestHeaders& headers,
|
||||
network::mojom::URLLoaderFactoryRequest* factory_request,
|
||||
network::mojom::URLLoaderFactory*& out_factory) {
|
||||
CEF_POST_TASK(
|
||||
CEF_UIT,
|
||||
base::Bind(
|
||||
|
@ -171,7 +171,9 @@ class CefContentBrowserClient : public content::ContentBrowserClient {
|
||||
ui::PageTransition page_transition,
|
||||
bool has_user_gesture,
|
||||
const std::string& method,
|
||||
const net::HttpRequestHeaders& headers) override;
|
||||
const net::HttpRequestHeaders& headers,
|
||||
network::mojom::URLLoaderFactoryRequest* factory_request,
|
||||
network::mojom::URLLoaderFactory*& out_factory) override;
|
||||
std::string GetProduct() const override;
|
||||
std::string GetChromeProduct() const override;
|
||||
std::string GetUserAgent() const override;
|
||||
|
@ -199,5 +199,5 @@ void CefDevToolsFileManager::CallClientFunction(
|
||||
}
|
||||
javascript.append(");");
|
||||
browser_impl_->web_contents()->GetMainFrame()->ExecuteJavaScript(
|
||||
base::UTF8ToUTF16(javascript));
|
||||
base::UTF8ToUTF16(javascript), base::NullCallback());
|
||||
}
|
||||
|
@ -265,7 +265,8 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
|
||||
agent_host_->DispatchProtocolMessage(this, protocol_message);
|
||||
} else if (method == "loadCompleted") {
|
||||
web_contents()->GetMainFrame()->ExecuteJavaScriptForTests(
|
||||
base::ASCIIToUTF16("DevToolsAPI.setUseSoftMenu(true);"));
|
||||
base::ASCIIToUTF16("DevToolsAPI.setUseSoftMenu(true);"),
|
||||
base::NullCallback());
|
||||
} else if (method == "loadNetworkResource" && params->GetSize() == 3) {
|
||||
// TODO(pfeldman): handle some of the embedder messages in content.
|
||||
std::string url;
|
||||
@ -344,7 +345,8 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
|
||||
update.Get()->RemoveWithoutPathExpansion(name, nullptr);
|
||||
} else if (method == "requestFileSystems") {
|
||||
web_contents()->GetMainFrame()->ExecuteJavaScriptForTests(
|
||||
base::ASCIIToUTF16("DevToolsAPI.fileSystemsLoaded([]);"));
|
||||
base::ASCIIToUTF16("DevToolsAPI.fileSystemsLoaded([]);"),
|
||||
base::NullCallback());
|
||||
} else if (method == "reattach") {
|
||||
if (!agent_host_)
|
||||
return;
|
||||
@ -388,7 +390,8 @@ void CefDevToolsFrontend::DispatchProtocolMessage(
|
||||
base::EscapeJSONString(message, true, ¶m);
|
||||
std::string code = "DevToolsAPI.dispatchMessage(" + param + ");";
|
||||
base::string16 javascript = base::UTF8ToUTF16(code);
|
||||
web_contents()->GetMainFrame()->ExecuteJavaScriptForTests(javascript);
|
||||
web_contents()->GetMainFrame()->ExecuteJavaScriptForTests(
|
||||
javascript, base::NullCallback());
|
||||
return;
|
||||
}
|
||||
|
||||
@ -400,7 +403,8 @@ void CefDevToolsFrontend::DispatchProtocolMessage(
|
||||
std::string code = "DevToolsAPI.dispatchMessageChunk(" + param + "," +
|
||||
std::to_string(pos ? 0 : total_size) + ");";
|
||||
base::string16 javascript = base::UTF8ToUTF16(code);
|
||||
web_contents()->GetMainFrame()->ExecuteJavaScriptForTests(javascript);
|
||||
web_contents()->GetMainFrame()->ExecuteJavaScriptForTests(
|
||||
javascript, base::NullCallback());
|
||||
}
|
||||
}
|
||||
|
||||
@ -448,7 +452,7 @@ void CefDevToolsFrontend::CallClientFunction(const std::string& function_name,
|
||||
}
|
||||
javascript.append(");");
|
||||
web_contents()->GetMainFrame()->ExecuteJavaScriptForTests(
|
||||
base::UTF8ToUTF16(javascript));
|
||||
base::UTF8ToUTF16(javascript), base::NullCallback());
|
||||
}
|
||||
|
||||
void CefDevToolsFrontend::SendMessageAck(int request_id,
|
||||
|
@ -27,7 +27,7 @@ bool CefMenuRunnerLinux::RunContextMenu(
|
||||
parent_widget = browser->GetWindowWidget();
|
||||
|
||||
menu_->RunMenuAt(parent_widget, NULL, gfx::Rect(screen_point, gfx::Size()),
|
||||
views::MENU_ANCHOR_TOPRIGHT, ui::MENU_SOURCE_NONE);
|
||||
views::MenuAnchorPosition::kTopRight, ui::MENU_SOURCE_NONE);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ void CefWindowDelegateView::InitContent() {
|
||||
}
|
||||
|
||||
void CefWindowDelegateView::ViewHierarchyChanged(
|
||||
const ViewHierarchyChangedDetails& details) {
|
||||
const views::ViewHierarchyChangedDetails& details) {
|
||||
if (details.is_add && details.child == this)
|
||||
InitContent();
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ class CefWindowDelegateView : public views::WidgetDelegateView {
|
||||
|
||||
// View methods:
|
||||
void ViewHierarchyChanged(
|
||||
const ViewHierarchyChangedDetails& details) override;
|
||||
const views::ViewHierarchyChangedDetails& details) override;
|
||||
|
||||
private:
|
||||
SkColor background_color_;
|
||||
|
@ -323,7 +323,8 @@ void CefCookieManagerOldImpl::SetCookieMonsterSchemes(
|
||||
all_schemes.push_back("ws");
|
||||
all_schemes.push_back("wss");
|
||||
|
||||
cookie_monster->SetCookieableSchemes(all_schemes);
|
||||
cookie_monster->SetCookieableSchemes(
|
||||
all_schemes, net::CookieStore::SetCookieableSchemesCallback());
|
||||
}
|
||||
|
||||
void CefCookieManagerOldImpl::RunMethodWithContext(
|
||||
@ -462,6 +463,10 @@ void CefCookieManagerOldImpl::SetCookieInternal(
|
||||
if (cookie.has_expires)
|
||||
cef_time_to_basetime(cookie.expires, expiration_time);
|
||||
|
||||
net::CookieOptions options;
|
||||
if (cookie.httponly)
|
||||
options.set_include_httponly();
|
||||
|
||||
cookie_store->SetCanonicalCookieAsync(
|
||||
net::CanonicalCookie::CreateSanitizedCookie(
|
||||
url, name, value, domain, path,
|
||||
@ -470,8 +475,7 @@ void CefCookieManagerOldImpl::SetCookieInternal(
|
||||
base::Time(), // Last access time.
|
||||
cookie.secure ? true : false, cookie.httponly ? true : false,
|
||||
net::CookieSameSite::DEFAULT_MODE, net::COOKIE_PRIORITY_DEFAULT),
|
||||
url.scheme(), cookie.httponly ? true : false,
|
||||
base::Bind(SetCookieCallbackImpl, callback));
|
||||
url.scheme(), options, base::Bind(SetCookieCallbackImpl, callback));
|
||||
}
|
||||
|
||||
void CefCookieManagerOldImpl::DeleteCookiesInternal(
|
||||
|
@ -18,11 +18,11 @@
|
||||
#include "base/bind.h"
|
||||
#include "base/logging.h"
|
||||
#include "base/strings/string_util.h"
|
||||
#include "net/base/http_user_agent_settings.h"
|
||||
#include "net/base/io_buffer.h"
|
||||
#include "net/base/load_flags.h"
|
||||
#include "net/base/mime_util.h"
|
||||
#include "net/http/http_response_headers.h"
|
||||
#include "net/url_request/http_user_agent_settings.h"
|
||||
#include "net/url_request/url_request.h"
|
||||
#include "net/url_request/url_request_context.h"
|
||||
|
||||
@ -566,8 +566,7 @@ void CefResourceRequestJob::SaveNextCookie() {
|
||||
|
||||
if (can_set_cookie) {
|
||||
request_->context()->cookie_store()->SetCanonicalCookieAsync(
|
||||
std::move(cookie), request_->url().scheme(),
|
||||
!options.exclude_httponly(),
|
||||
std::move(cookie), request_->url().scheme(), options,
|
||||
base::Bind(&CefResourceRequestJob::OnCookieSaved,
|
||||
weak_factory_.GetWeakPtr()));
|
||||
return;
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include "content/public/common/content_client.h"
|
||||
#include "content/public/common/content_switches.h"
|
||||
#include "content/public/common/url_constants.h"
|
||||
#include "net/base/http_user_agent_settings.h"
|
||||
#include "net/cert/cert_verifier.h"
|
||||
#include "net/cert/ct_log_verifier.h"
|
||||
#include "net/cert/multi_log_ct_verifier.h"
|
||||
@ -56,7 +57,6 @@
|
||||
#include "net/proxy_resolution/pac_file_fetcher_impl.h"
|
||||
#include "net/proxy_resolution/proxy_resolution_service.h"
|
||||
#include "net/ssl/ssl_config_service_defaults.h"
|
||||
#include "net/url_request/http_user_agent_settings.h"
|
||||
#include "net/url_request/url_request.h"
|
||||
#include "net/url_request/url_request_context.h"
|
||||
#include "net/url_request/url_request_context_storage.h"
|
||||
@ -318,7 +318,7 @@ net::URLRequestContext* CefURLRequestContextGetter::GetURLRequestContext() {
|
||||
base::WrapUnique(new CefHttpUserAgentSettings(accept_language)));
|
||||
|
||||
io_state_->storage_->set_host_resolver(
|
||||
net::HostResolver::CreateDefaultResolver(io_state_->net_log_));
|
||||
net::HostResolver::CreateStandaloneResolver(io_state_->net_log_));
|
||||
io_state_->storage_->set_cert_verifier(net::CertVerifier::CreateDefault());
|
||||
|
||||
std::unique_ptr<net::TransportSecurityState> transport_security_state(
|
||||
@ -542,7 +542,7 @@ void CefURLRequestContextGetter::SetCookieStoragePath(
|
||||
// cookie store, if any, will be automatically flushed and closed when no
|
||||
// longer referenced.
|
||||
std::unique_ptr<net::CookieMonster> cookie_monster(new net::CookieMonster(
|
||||
persistent_store.get(), nullptr, io_state_->net_log_));
|
||||
persistent_store.get(), io_state_->net_log_));
|
||||
if (persistent_store.get() && persist_session_cookies)
|
||||
cookie_monster->SetPersistSessionCookies(true);
|
||||
io_state_->cookie_store_path_ = path;
|
||||
|
@ -206,9 +206,12 @@ bool CefCookieManagerImpl::SetCookie(const CefString& url,
|
||||
cookie.secure ? true : false, cookie.httponly ? true : false,
|
||||
net::CookieSameSite::DEFAULT_MODE, net::COOKIE_PRIORITY_DEFAULT);
|
||||
|
||||
net::CookieOptions options;
|
||||
if (cookie.httponly)
|
||||
options.set_include_httponly();
|
||||
|
||||
GetCookieManager(request_context_.get())
|
||||
->SetCanonicalCookie(*canonical_cookie, gurl.scheme(),
|
||||
cookie.httponly ? true : false,
|
||||
->SetCanonicalCookie(*canonical_cookie, gurl.scheme(), options,
|
||||
base::Bind(SetCookieCallbackImpl, callback));
|
||||
return true;
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ std::unique_ptr<PrefService> CreatePrefService(Profile* profile,
|
||||
// Call RegisterProfilePrefs() for all services listed by
|
||||
// EnsureBrowserContextKeyedServiceFactoriesBuilt().
|
||||
BrowserContextDependencyManager::GetInstance()
|
||||
->RegisterProfilePrefsForServices(profile, registry.get());
|
||||
->RegisterProfilePrefsForServices(registry.get());
|
||||
|
||||
// Default profile preferences.
|
||||
AccessibilityUIMessageHandler::RegisterProfilePrefs(registry.get());
|
||||
@ -185,7 +185,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());
|
||||
language::LanguagePrefs::RegisterProfilePrefs(registry.get());
|
||||
ProfileNetworkContextService::RegisterProfilePrefs(registry.get());
|
||||
renderer_prefs::RegisterProfilePrefs(registry.get());
|
||||
|
||||
|
@ -49,6 +49,8 @@ const char* GetTypeString(base::Value::Type type) {
|
||||
return "DICTIONARY";
|
||||
case base::Value::Type::LIST:
|
||||
return "LIST";
|
||||
case base::Value::Type::DEAD:
|
||||
return "DEAD";
|
||||
}
|
||||
|
||||
NOTREACHED();
|
||||
|
@ -492,8 +492,7 @@ void CefServerImpl::OnWebSocketRequest(
|
||||
CreateRequest(address_, request_info, true), callback);
|
||||
}
|
||||
|
||||
void CefServerImpl::OnWebSocketMessage(int connection_id,
|
||||
const std::string& data) {
|
||||
void CefServerImpl::OnWebSocketMessage(int connection_id, std::string data) {
|
||||
CEF_REQUIRE_HT();
|
||||
|
||||
ConnectionInfo* info = GetConnectionInfo(connection_id);
|
||||
|
@ -71,7 +71,7 @@ class CefServerImpl : public CefServer, net::HttpServer::Delegate {
|
||||
void OnWebSocketRequest(
|
||||
int connection_id,
|
||||
const net::HttpServerRequestInfo& request_info) override;
|
||||
void OnWebSocketMessage(int connection_id, const std::string& data) override;
|
||||
void OnWebSocketMessage(int connection_id, std::string data) override;
|
||||
void OnClose(int connection_id) override;
|
||||
|
||||
void StartOnUIThread(const std::string& address, uint16 port, int backlog);
|
||||
|
@ -13,7 +13,7 @@ CefBrowserViewView::CefBrowserViewView(CefBrowserViewDelegate* cef_delegate,
|
||||
}
|
||||
|
||||
void CefBrowserViewView::ViewHierarchyChanged(
|
||||
const ViewHierarchyChangedDetails& details) {
|
||||
const views::ViewHierarchyChangedDetails& details) {
|
||||
ParentClass::ViewHierarchyChanged(details);
|
||||
if (details.is_add && details.child == this) {
|
||||
gfx::Size size = GetPreferredSize();
|
||||
|
@ -40,7 +40,7 @@ class CefBrowserViewView
|
||||
|
||||
// View methods:
|
||||
void ViewHierarchyChanged(
|
||||
const ViewHierarchyChangedDetails& details) override;
|
||||
const views::ViewHierarchyChangedDetails& details) override;
|
||||
|
||||
private:
|
||||
// Not owned by this object.
|
||||
|
@ -14,10 +14,10 @@ namespace {
|
||||
class ButtonPressedLock : public CefMenuButtonPressedLock {
|
||||
public:
|
||||
explicit ButtonPressedLock(views::MenuButton* menu_button)
|
||||
: pressed_lock_(menu_button->menu_button_event_handler()) {}
|
||||
: pressed_lock_(menu_button->menu_button_controller()) {}
|
||||
|
||||
private:
|
||||
views::MenuButtonEventHandler::PressedLock pressed_lock_;
|
||||
views::MenuButtonController::PressedLock pressed_lock_;
|
||||
|
||||
IMPLEMENT_REFCOUNTING_DELETE_ON_UIT(ButtonPressedLock);
|
||||
DISALLOW_COPY_AND_ASSIGN(ButtonPressedLock);
|
||||
|
@ -178,7 +178,7 @@ CEF_PANEL_IMPL_T void CEF_PANEL_IMPL_D::RemoveChildView(
|
||||
|
||||
CEF_PANEL_IMPL_T void CEF_PANEL_IMPL_D::RemoveAllChildViews() {
|
||||
CEF_REQUIRE_VALID_RETURN_VOID();
|
||||
while (ParentClass::content_view()->has_children()) {
|
||||
while (!ParentClass::content_view()->children().empty()) {
|
||||
CefRefPtr<CefView> view =
|
||||
view_util::GetFor(ParentClass::content_view()->child_at(0), false);
|
||||
RemoveChildView(view);
|
||||
|
@ -27,8 +27,7 @@ void CefScrollViewImpl::SetContentView(CefRefPtr<CefView> view) {
|
||||
if (!view.get() || !view->IsValid() || view->IsAttached())
|
||||
return;
|
||||
|
||||
std::unique_ptr<views::View> view_ptr = view_util::PassOwnership(view);
|
||||
root_view()->SetContents(view_ptr.release());
|
||||
root_view()->SetContents(view_util::PassOwnership(view));
|
||||
}
|
||||
|
||||
CefRefPtr<CefView> CefScrollViewImpl::GetContentView() {
|
||||
|
@ -69,7 +69,7 @@ CEF_VIEW_VIEW_T class CefViewView : public ViewsViewClass {
|
||||
int GetHeightForWidth(int w) const override;
|
||||
void Layout() override;
|
||||
void ViewHierarchyChanged(
|
||||
const views::View::ViewHierarchyChangedDetails& details) override;
|
||||
const views::ViewHierarchyChangedDetails& details) override;
|
||||
void OnFocus() override;
|
||||
void OnBlur() override;
|
||||
|
||||
@ -79,9 +79,9 @@ CEF_VIEW_VIEW_T class CefViewView : public ViewsViewClass {
|
||||
|
||||
private:
|
||||
void NotifyChildViewChanged(
|
||||
const views::View::ViewHierarchyChangedDetails& details);
|
||||
const views::ViewHierarchyChangedDetails& details);
|
||||
void NotifyParentViewChanged(
|
||||
const views::View::ViewHierarchyChangedDetails& details);
|
||||
const views::ViewHierarchyChangedDetails& details);
|
||||
|
||||
// Not owned by this object.
|
||||
CefViewDelegateClass* cef_delegate_;
|
||||
@ -156,7 +156,7 @@ CEF_VIEW_VIEW_T void CEF_VIEW_VIEW_D::Layout() {
|
||||
}
|
||||
|
||||
CEF_VIEW_VIEW_T void CEF_VIEW_VIEW_D::ViewHierarchyChanged(
|
||||
const views::View::ViewHierarchyChangedDetails& details) {
|
||||
const views::ViewHierarchyChangedDetails& details) {
|
||||
NotifyChildViewChanged(details);
|
||||
NotifyParentViewChanged(details);
|
||||
ParentClass::ViewHierarchyChanged(details);
|
||||
@ -175,7 +175,7 @@ CEF_VIEW_VIEW_T void CEF_VIEW_VIEW_D::OnBlur() {
|
||||
}
|
||||
|
||||
CEF_VIEW_VIEW_T void CEF_VIEW_VIEW_D::NotifyChildViewChanged(
|
||||
const views::View::ViewHierarchyChangedDetails& details) {
|
||||
const views::ViewHierarchyChangedDetails& details) {
|
||||
if (!cef_delegate())
|
||||
return;
|
||||
|
||||
@ -192,7 +192,7 @@ CEF_VIEW_VIEW_T void CEF_VIEW_VIEW_D::NotifyChildViewChanged(
|
||||
}
|
||||
|
||||
CEF_VIEW_VIEW_T void CEF_VIEW_VIEW_D::NotifyParentViewChanged(
|
||||
const views::View::ViewHierarchyChangedDetails& details) {
|
||||
const views::ViewHierarchyChangedDetails& details) {
|
||||
if (!cef_delegate())
|
||||
return;
|
||||
|
||||
|
@ -461,7 +461,7 @@ bool CefWindowView::MaybeGetMaximumSize(gfx::Size* size) const {
|
||||
}
|
||||
|
||||
void CefWindowView::ViewHierarchyChanged(
|
||||
const views::View::ViewHierarchyChangedDetails& details) {
|
||||
const views::ViewHierarchyChangedDetails& details) {
|
||||
if (details.child == this) {
|
||||
// This View's parent types (RootView, ClientView) are not exposed via the
|
||||
// CEF API. Therefore don't send notifications about this View's parent
|
||||
|
@ -73,7 +73,7 @@ class CefWindowView
|
||||
|
||||
// views::View methods:
|
||||
void ViewHierarchyChanged(
|
||||
const views::View::ViewHierarchyChangedDetails& details) override;
|
||||
const views::ViewHierarchyChangedDetails& details) override;
|
||||
|
||||
// Returns the Display containing this Window.
|
||||
display::Display GetDisplay() const;
|
||||
|
@ -218,7 +218,7 @@ void SetHeaderMap(const CefRequest::HeaderMap& map,
|
||||
blink::WebURLRequest& request) {
|
||||
CefRequest::HeaderMap::const_iterator it = map.begin();
|
||||
for (; it != map.end(); ++it) {
|
||||
request.SetHTTPHeaderField(
|
||||
request.SetHttpHeaderField(
|
||||
blink::WebString::FromUTF16(it->first.ToString16()),
|
||||
blink::WebString::FromUTF16(it->second.ToString16()));
|
||||
}
|
||||
@ -595,7 +595,7 @@ void CefRequestImpl::Get(const CefMsg_LoadRequest_Params& params,
|
||||
for (net::HttpUtil::HeadersIterator i(params.headers.begin(),
|
||||
params.headers.end(), "\n\r");
|
||||
i.GetNext();) {
|
||||
request.AddHTTPHeaderField(blink::WebString::FromUTF8(i.name()),
|
||||
request.AddHttpHeaderField(blink::WebString::FromUTF8(i.name()),
|
||||
blink::WebString::FromUTF8(i.values()));
|
||||
headerMap.insert(std::make_pair(i.name(), i.values()));
|
||||
}
|
||||
@ -613,7 +613,7 @@ void CefRequestImpl::Get(const CefMsg_LoadRequest_Params& params,
|
||||
.HttpHeaderField(blink::WebString::FromASCII(
|
||||
net::HttpRequestHeaders::kContentType))
|
||||
.length() == 0) {
|
||||
request.SetHTTPHeaderField(
|
||||
request.SetHttpHeaderField(
|
||||
blink::WebString::FromASCII(net::HttpRequestHeaders::kContentType),
|
||||
blink::WebString::FromASCII(kApplicationFormURLEncoded));
|
||||
}
|
||||
|
@ -748,6 +748,8 @@ CefValueType CefDictionaryValueImpl::GetType(const CefString& key) {
|
||||
return VTYPE_DICTIONARY;
|
||||
case base::Value::Type::LIST:
|
||||
return VTYPE_LIST;
|
||||
case base::Value::Type::DEAD:
|
||||
return VTYPE_INVALID;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1156,6 +1158,8 @@ CefValueType CefListValueImpl::GetType(size_t index) {
|
||||
return VTYPE_DICTIONARY;
|
||||
case base::Value::Type::LIST:
|
||||
return VTYPE_LIST;
|
||||
case base::Value::Type::DEAD:
|
||||
return VTYPE_INVALID;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "third_party/blink/public/platform/web_url_response.h"
|
||||
#include "third_party/blink/public/web/web_document.h"
|
||||
#include "third_party/blink/public/web/web_element.h"
|
||||
#include "third_party/blink/public/web/web_local_frame_client.h"
|
||||
#include "third_party/blink/public/web/web_node.h"
|
||||
#include "third_party/blink/public/web/web_view_client.h"
|
||||
|
||||
@ -54,17 +55,29 @@ bool CanGoForward(blink::WebView* view) {
|
||||
void GoBack(blink::WebView* view) {
|
||||
if (!view)
|
||||
return;
|
||||
blink::WebViewImpl* impl = reinterpret_cast<blink::WebViewImpl*>(view);
|
||||
if (impl->Client()->HistoryBackListCount() > 0)
|
||||
impl->Client()->NavigateBackForwardSoon(-1, true /* has_user_gesture */);
|
||||
|
||||
blink::WebFrame* main_frame = view->MainFrame();
|
||||
if (main_frame && main_frame->IsWebLocalFrame()) {
|
||||
blink::WebViewImpl* view_impl = reinterpret_cast<blink::WebViewImpl*>(view);
|
||||
if (view_impl->Client()->HistoryBackListCount() > 0) {
|
||||
main_frame->ToWebLocalFrame()->Client()->NavigateBackForwardSoon(
|
||||
-1, true /* has_user_gesture */);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GoForward(blink::WebView* view) {
|
||||
if (!view)
|
||||
return;
|
||||
blink::WebViewImpl* impl = reinterpret_cast<blink::WebViewImpl*>(view);
|
||||
if (impl->Client()->HistoryForwardListCount() > 0)
|
||||
impl->Client()->NavigateBackForwardSoon(1, true /* has_user_gesture */);
|
||||
|
||||
blink::WebFrame* main_frame = view->MainFrame();
|
||||
if (main_frame && main_frame->IsWebLocalFrame()) {
|
||||
blink::WebViewImpl* view_impl = reinterpret_cast<blink::WebViewImpl*>(view);
|
||||
if (view_impl->Client()->HistoryForwardListCount() > 0) {
|
||||
main_frame->ToWebLocalFrame()->Client()->NavigateBackForwardSoon(
|
||||
1, true /* has_user_gesture */);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::string DumpDocumentText(blink::WebLocalFrame* frame) {
|
||||
|
@ -51,7 +51,6 @@
|
||||
#include "build/build_config.h"
|
||||
#include "chrome/common/chrome_switches.h"
|
||||
#include "chrome/common/constants.mojom.h"
|
||||
#include "chrome/common/secure_origin_whitelist.h"
|
||||
#include "chrome/common/url_constants.h"
|
||||
#include "chrome/renderer/chrome_content_renderer_client.h"
|
||||
#include "chrome/renderer/loadtimes_extension_bindings.h"
|
||||
@ -84,6 +83,7 @@
|
||||
#include "ipc/ipc_sync_channel.h"
|
||||
#include "media/base/media.h"
|
||||
#include "printing/print_settings.h"
|
||||
#include "services/network/public/cpp/is_potentially_trustworthy.h"
|
||||
#include "services/service_manager/public/cpp/connector.h"
|
||||
#include "services/service_manager/public/cpp/interface_provider.h"
|
||||
#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
|
||||
@ -412,8 +412,7 @@ void CefContentRendererClient::RenderThreadStarted() {
|
||||
pdf::PepperPDFHost::SetPrintClient(pdf_print_client_.get());
|
||||
}
|
||||
|
||||
for (auto& origin_or_hostname_pattern :
|
||||
secure_origin_whitelist::GetWhitelist()) {
|
||||
for (auto& origin_or_hostname_pattern : network::GetSecureOriginAllowlist()) {
|
||||
blink::WebSecurityPolicy::AddOriginTrustworthyWhiteList(
|
||||
blink::WebString::FromUTF8(origin_or_hostname_pattern));
|
||||
}
|
||||
@ -541,14 +540,13 @@ void CefContentRendererClient::WillSendRequest(
|
||||
}
|
||||
}
|
||||
|
||||
unsigned long long CefContentRendererClient::VisitedLinkHash(
|
||||
const char* canonical_url,
|
||||
size_t length) {
|
||||
uint64_t CefContentRendererClient::VisitedLinkHash(const char* canonical_url,
|
||||
size_t length) {
|
||||
return observer_->visited_link_slave()->ComputeURLFingerprint(canonical_url,
|
||||
length);
|
||||
}
|
||||
|
||||
bool CefContentRendererClient::IsLinkVisited(unsigned long long link_hash) {
|
||||
bool CefContentRendererClient::IsLinkVisited(uint64_t link_hash) {
|
||||
return observer_->visited_link_slave()->IsVisited(link_hash);
|
||||
}
|
||||
|
||||
|
@ -121,9 +121,8 @@ class CefContentRendererClient
|
||||
const url::Origin* initiator_origin,
|
||||
GURL* new_url,
|
||||
bool* attach_same_site_cookies) override;
|
||||
unsigned long long VisitedLinkHash(const char* canonical_url,
|
||||
size_t length) override;
|
||||
bool IsLinkVisited(unsigned long long link_hash) override;
|
||||
uint64_t VisitedLinkHash(const char* canonical_url, size_t length) override;
|
||||
bool IsLinkVisited(uint64_t link_hash) override;
|
||||
bool IsOriginIsolatedPepperPlugin(const base::FilePath& plugin_path) override;
|
||||
content::BrowserPluginDelegate* CreateBrowserPluginDelegate(
|
||||
content::RenderFrame* render_frame,
|
||||
|
@ -16,12 +16,6 @@ CefExtensionsDispatcherDelegate::CefExtensionsDispatcherDelegate() {}
|
||||
CefExtensionsDispatcherDelegate::~CefExtensionsDispatcherDelegate() {}
|
||||
|
||||
void CefExtensionsDispatcherDelegate::PopulateSourceMap(
|
||||
extensions::ResourceBundleSourceMap* source_map) {
|
||||
// These bindings are unnecessary with native bindings enabled.
|
||||
if (!base::FeatureList::IsEnabled(extensions_features::kNativeCrxBindings)) {
|
||||
// Custom types sources.
|
||||
source_map->RegisterSource("ContentSetting", IDR_CONTENT_SETTING_JS);
|
||||
}
|
||||
}
|
||||
extensions::ResourceBundleSourceMap* source_map) {}
|
||||
|
||||
} // namespace extensions
|
||||
|
@ -55,6 +55,8 @@ class CefWebURLLoaderClient : public blink::WebURLLoaderClient {
|
||||
int64_t total_encoded_data_length,
|
||||
int64_t total_encoded_body_length,
|
||||
int64_t total_decoded_body_length) override;
|
||||
void DidStartLoadingResponseBody(
|
||||
mojo::ScopedDataPipeConsumerHandle response_body) override;
|
||||
bool WillFollowRedirect(
|
||||
const WebURL& new_url,
|
||||
const WebURL& new_site_for_cookies,
|
||||
@ -87,6 +89,7 @@ class CefRenderURLRequest::Context
|
||||
task_runner_(CefTaskRunnerImpl::GetCurrentTaskRunner()),
|
||||
status_(UR_IO_PENDING),
|
||||
error_code_(ERR_NONE),
|
||||
body_watcher_(FROM_HERE, mojo::SimpleWatcher::ArmingPolicy::MANUAL),
|
||||
response_was_cached_(false),
|
||||
upload_data_size_(0),
|
||||
got_upload_progress_complete_(false),
|
||||
@ -189,6 +192,10 @@ class CefRenderURLRequest::Context
|
||||
void OnComplete() {
|
||||
DCHECK(CalledOnValidThread());
|
||||
|
||||
if (body_handle_.is_valid()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (status_ == UR_IO_PENDING) {
|
||||
status_ = UR_SUCCESS;
|
||||
NotifyUploadProgressIfNecessary();
|
||||
@ -204,6 +211,61 @@ class CefRenderURLRequest::Context
|
||||
url_request_ = NULL;
|
||||
}
|
||||
|
||||
void OnBodyReadable(MojoResult, const mojo::HandleSignalsState&) {
|
||||
const void* buffer = nullptr;
|
||||
uint32_t read_bytes = 0;
|
||||
MojoResult result = body_handle_->BeginReadData(&buffer, &read_bytes,
|
||||
MOJO_READ_DATA_FLAG_NONE);
|
||||
if (result == MOJO_RESULT_SHOULD_WAIT) {
|
||||
body_watcher_.ArmOrNotify();
|
||||
return;
|
||||
}
|
||||
|
||||
if (result == MOJO_RESULT_FAILED_PRECONDITION) {
|
||||
// Whole body has been read.
|
||||
body_handle_.reset();
|
||||
body_watcher_.Cancel();
|
||||
OnComplete();
|
||||
return;
|
||||
}
|
||||
|
||||
if (result != MOJO_RESULT_OK) {
|
||||
// Something went wrong.
|
||||
body_handle_.reset();
|
||||
body_watcher_.Cancel();
|
||||
OnComplete();
|
||||
return;
|
||||
}
|
||||
|
||||
download_data_received_ += read_bytes;
|
||||
|
||||
client_->OnDownloadProgress(url_request_.get(), download_data_received_,
|
||||
download_data_total_);
|
||||
|
||||
if (!(request_->GetFlags() & UR_FLAG_NO_DOWNLOAD_DATA)) {
|
||||
client_->OnDownloadData(url_request_.get(), buffer, read_bytes);
|
||||
}
|
||||
|
||||
body_handle_->EndReadData(read_bytes);
|
||||
body_watcher_.ArmOrNotify();
|
||||
}
|
||||
|
||||
void OnStartLoadingResponseBody(
|
||||
mojo::ScopedDataPipeConsumerHandle response_body) {
|
||||
DCHECK(CalledOnValidThread());
|
||||
DCHECK(response_body);
|
||||
DCHECK(!body_handle_);
|
||||
body_handle_ = std::move(response_body);
|
||||
|
||||
body_watcher_.Watch(
|
||||
body_handle_.get(),
|
||||
MOJO_HANDLE_SIGNAL_READABLE | MOJO_HANDLE_SIGNAL_PEER_CLOSED,
|
||||
MOJO_TRIGGER_CONDITION_SIGNALS_SATISFIED,
|
||||
base::BindRepeating(&CefRenderURLRequest::Context::OnBodyReadable,
|
||||
base::Unretained(this)));
|
||||
body_watcher_.ArmOrNotify();
|
||||
}
|
||||
|
||||
void OnDownloadProgress(int64_t current) {
|
||||
DCHECK(CalledOnValidThread());
|
||||
DCHECK(url_request_.get());
|
||||
@ -260,6 +322,8 @@ class CefRenderURLRequest::Context
|
||||
CefURLRequest::Status status_;
|
||||
CefURLRequest::ErrorCode error_code_;
|
||||
CefRefPtr<CefResponse> response_;
|
||||
mojo::ScopedDataPipeConsumerHandle body_handle_;
|
||||
mojo::SimpleWatcher body_watcher_;
|
||||
bool response_was_cached_;
|
||||
std::unique_ptr<blink::WebURLLoader> loader_;
|
||||
std::unique_ptr<CefWebURLLoaderClient> url_client_;
|
||||
@ -314,6 +378,11 @@ void CefWebURLLoaderClient::DidFail(const WebURLError& error,
|
||||
context_->OnError(error);
|
||||
}
|
||||
|
||||
void CefWebURLLoaderClient::DidStartLoadingResponseBody(
|
||||
mojo::ScopedDataPipeConsumerHandle response_body) {
|
||||
context_->OnStartLoadingResponseBody(std::move(response_body));
|
||||
}
|
||||
|
||||
bool CefWebURLLoaderClient::WillFollowRedirect(
|
||||
const WebURL& new_url,
|
||||
const WebURL& new_site_for_cookies,
|
||||
|
@ -407,20 +407,19 @@ patches = [
|
||||
# https://bitbucket.org/chromiumembedded/cef/issues/1936
|
||||
'name': 'linux_assets_path_1936',
|
||||
},
|
||||
{
|
||||
# Windows: Fix jumbo build error in AccessibilityTreeFormatterWin
|
||||
# https://bugs.chromium.org/p/chromium/issues/detail?id=939668
|
||||
'name': 'accessibility_win_939668',
|
||||
},
|
||||
{
|
||||
# Windows: Revert base::Value change which breaks cef_sandbox build.
|
||||
# https://bugs.chromium.org/p/chromium/issues/detail?id=646113#c173
|
||||
'name': 'base_value_646113',
|
||||
},
|
||||
{
|
||||
# Fix CHECK on startup when running with --trace-startup=mojom.
|
||||
# This change can be removed once we bump Chromium past the following:
|
||||
# https://bugs.chromium.org/p/chromium/issues/detail?id=839084#c60
|
||||
'name': 'services_tracing_839084',
|
||||
# Restore WebView::SetResizeBackgroundColor() that was removed.
|
||||
# http://crrev.com/3955c9f9eb
|
||||
'name': 'set_resize_background_color',
|
||||
},
|
||||
{
|
||||
# Remove requirement that enforces component builds
|
||||
# http://crrev.com/567d828446
|
||||
'name': 'remove_component_build_check',
|
||||
}
|
||||
]
|
||||
|
@ -1,31 +0,0 @@
|
||||
diff --git content/browser/accessibility/accessibility_tree_formatter_win.cc content/browser/accessibility/accessibility_tree_formatter_win.cc
|
||||
index 59f85adf85c3..a60cb7aa874c 100644
|
||||
--- content/browser/accessibility/accessibility_tree_formatter_win.cc
|
||||
+++ content/browser/accessibility/accessibility_tree_formatter_win.cc
|
||||
@@ -35,7 +35,7 @@
|
||||
#include "ui/base/win/atl_module.h"
|
||||
#include "ui/gfx/win/hwnd_util.h"
|
||||
|
||||
-namespace {
|
||||
+namespace internal {
|
||||
|
||||
struct HwndWithProcId {
|
||||
HwndWithProcId(const base::ProcessId id) : pid(id), hwnd(nullptr) {}
|
||||
@@ -60,7 +60,7 @@ HWND GetHwndForProcess(base::ProcessId pid) {
|
||||
return hwnd_with_proc_id.hwnd;
|
||||
}
|
||||
|
||||
-} // namespace
|
||||
+} // namespace internal
|
||||
|
||||
namespace content {
|
||||
|
||||
@@ -354,7 +354,7 @@ std::unique_ptr<base::DictionaryValue>
|
||||
AccessibilityTreeFormatterWin::BuildAccessibilityTreeForProcess(
|
||||
base::ProcessId pid) {
|
||||
// Get HWND for process id.
|
||||
- HWND hwnd = GetHwndForProcess(pid);
|
||||
+ HWND hwnd = ::internal::GetHwndForProcess(pid);
|
||||
return BuildAccessibilityTreeForWindow(hwnd);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git base/values.cc base/values.cc
|
||||
index 2b0c6c8163d8..fc12313a7bb5 100644
|
||||
index 6f3a9e2cd8a2..d35972814034 100644
|
||||
--- base/values.cc
|
||||
+++ base/values.cc
|
||||
@@ -22,20 +22,6 @@
|
||||
@ -23,100 +23,67 @@ index 2b0c6c8163d8..fc12313a7bb5 100644
|
||||
namespace {
|
||||
|
||||
const char* const kTypeNames[] = {"null", "boolean", "integer", "double",
|
||||
@@ -90,7 +76,7 @@ std::unique_ptr<Value> CopyWithoutEmptyChildren(const Value& node) {
|
||||
|
||||
} // namespace
|
||||
|
||||
-constexpr uint16_t Value::kMagicIsAlive;
|
||||
+constexpr uint32_t Value::kMagicIsAlive;
|
||||
|
||||
// static
|
||||
std::unique_ptr<Value> Value::CreateWithCopiedBuffer(const char* buffer,
|
||||
@@ -112,9 +98,9 @@ Value::Value(Value&& that) noexcept {
|
||||
InternalMoveConstructFrom(std::move(that));
|
||||
@@ -150,15 +136,15 @@ Value::Value(Type type) : type_(type) {
|
||||
}
|
||||
|
||||
-Value::Value() noexcept : type_(Type::NONE), is_alive_(kMagicIsAlive) {}
|
||||
+Value::Value() noexcept : type_(Type::NONE) {}
|
||||
|
||||
-Value::Value(Type type) : type_(type), is_alive_(kMagicIsAlive) {
|
||||
+Value::Value(Type type) : type_(type) {
|
||||
// Initialize with the default value.
|
||||
switch (type_) {
|
||||
case Type::NONE:
|
||||
@@ -144,20 +130,11 @@ Value::Value(Type type) : type_(type), is_alive_(kMagicIsAlive) {
|
||||
}
|
||||
}
|
||||
|
||||
-Value::Value(bool in_bool)
|
||||
Value::Value(bool in_bool)
|
||||
- : bool_type_(Type::BOOLEAN),
|
||||
- bool_is_alive_(kMagicIsAlive),
|
||||
- bool_value_(in_bool) {}
|
||||
+Value::Value(bool in_bool) : type_(Type::BOOLEAN), bool_value_(in_bool) {}
|
||||
+ : type_(Type::BOOLEAN),
|
||||
bool_value_(in_bool) {}
|
||||
|
||||
-Value::Value(int in_int)
|
||||
Value::Value(int in_int)
|
||||
- : int_type_(Type::INTEGER),
|
||||
- int_is_alive_(kMagicIsAlive),
|
||||
- int_value_(in_int) {}
|
||||
+Value::Value(int in_int) : type_(Type::INTEGER), int_value_(in_int) {}
|
||||
+ : type_(Type::INTEGER),
|
||||
int_value_(in_int) {}
|
||||
|
||||
-Value::Value(double in_double)
|
||||
Value::Value(double in_double)
|
||||
- : double_type_(Type::DOUBLE),
|
||||
- double_is_alive_(kMagicIsAlive),
|
||||
- double_value_(in_double) {
|
||||
+Value::Value(double in_double) : type_(Type::DOUBLE), double_value_(in_double) {
|
||||
+ : type_(Type::DOUBLE),
|
||||
double_value_(in_double) {
|
||||
if (!std::isfinite(double_value_)) {
|
||||
NOTREACHED() << "Non-finite (i.e. NaN or positive/negative infinity) "
|
||||
<< "values cannot be represented in JSON";
|
||||
@@ -170,9 +147,7 @@ Value::Value(const char* in_string) : Value(std::string(in_string)) {}
|
||||
@@ -172,7 +158,7 @@ Value::Value(const char* in_string) : Value(std::string(in_string)) {}
|
||||
Value::Value(StringPiece in_string) : Value(std::string(in_string)) {}
|
||||
|
||||
Value::Value(std::string&& in_string) noexcept
|
||||
- : string_type_(Type::STRING),
|
||||
- string_is_alive_(kMagicIsAlive),
|
||||
- string_value_(std::move(in_string)) {
|
||||
+ : type_(Type::STRING), string_value_(std::move(in_string)) {
|
||||
+ : type_(Type::STRING),
|
||||
string_value_(std::move(in_string)) {
|
||||
DCHECK(IsStringUTF8(string_value_));
|
||||
}
|
||||
|
||||
@@ -181,22 +156,15 @@ Value::Value(const char16* in_string16) : Value(StringPiece16(in_string16)) {}
|
||||
@@ -182,19 +168,19 @@ Value::Value(const char16* in_string16) : Value(StringPiece16(in_string16)) {}
|
||||
Value::Value(StringPiece16 in_string16) : Value(UTF16ToUTF8(in_string16)) {}
|
||||
|
||||
Value::Value(const std::vector<char>& in_blob)
|
||||
- : binary_type_(Type::BINARY),
|
||||
- binary_is_alive_(kMagicIsAlive),
|
||||
- binary_value_(in_blob.begin(), in_blob.end()) {}
|
||||
+ : type_(Type::BINARY), binary_value_(in_blob.begin(), in_blob.end()) {}
|
||||
+ : type_(Type::BINARY),
|
||||
binary_value_(in_blob.begin(), in_blob.end()) {}
|
||||
|
||||
Value::Value(base::span<const uint8_t> in_blob)
|
||||
- : binary_type_(Type::BINARY),
|
||||
- binary_is_alive_(kMagicIsAlive),
|
||||
- binary_value_(in_blob.begin(), in_blob.end()) {}
|
||||
+ : type_(Type::BINARY), binary_value_(in_blob.begin(), in_blob.end()) {}
|
||||
+ : type_(Type::BINARY),
|
||||
binary_value_(in_blob.begin(), in_blob.end()) {}
|
||||
|
||||
Value::Value(BlobStorage&& in_blob) noexcept
|
||||
- : binary_type_(Type::BINARY),
|
||||
- binary_is_alive_(kMagicIsAlive),
|
||||
- binary_value_(std::move(in_blob)) {}
|
||||
+ : type_(Type::BINARY), binary_value_(std::move(in_blob)) {}
|
||||
+ : type_(Type::BINARY),
|
||||
binary_value_(std::move(in_blob)) {}
|
||||
|
||||
-Value::Value(const DictStorage& in_dict)
|
||||
- : dict_type_(Type::DICTIONARY), dict_is_alive_(kMagicIsAlive), dict_() {
|
||||
+Value::Value(const DictStorage& in_dict) : type_(Type::DICTIONARY), dict_() {
|
||||
Value::Value(const DictStorage& in_dict)
|
||||
- : dict_type_(Type::DICTIONARY), dict_() {
|
||||
+ : type_(Type::DICTIONARY), dict_() {
|
||||
dict_.reserve(in_dict.size());
|
||||
for (const auto& it : in_dict) {
|
||||
dict_.try_emplace(dict_.end(), it.first,
|
||||
@@ -205,21 +173,16 @@ Value::Value(const DictStorage& in_dict)
|
||||
@@ -203,17 +189,17 @@ Value::Value(const DictStorage& in_dict)
|
||||
}
|
||||
|
||||
Value::Value(DictStorage&& in_dict) noexcept
|
||||
- : dict_type_(Type::DICTIONARY),
|
||||
- dict_is_alive_(kMagicIsAlive),
|
||||
- dict_(std::move(in_dict)) {}
|
||||
+ : type_(Type::DICTIONARY), dict_(std::move(in_dict)) {}
|
||||
+ : type_(Type::DICTIONARY),
|
||||
dict_(std::move(in_dict)) {}
|
||||
|
||||
-Value::Value(const ListStorage& in_list)
|
||||
- : list_type_(Type::LIST), list_is_alive_(kMagicIsAlive), list_() {
|
||||
-Value::Value(const ListStorage& in_list) : list_type_(Type::LIST), list_() {
|
||||
+Value::Value(const ListStorage& in_list) : type_(Type::LIST), list_() {
|
||||
list_.reserve(in_list.size());
|
||||
for (const auto& val : in_list)
|
||||
@ -125,46 +92,18 @@ index 2b0c6c8163d8..fc12313a7bb5 100644
|
||||
|
||||
Value::Value(ListStorage&& in_list) noexcept
|
||||
- : list_type_(Type::LIST),
|
||||
- list_is_alive_(kMagicIsAlive),
|
||||
- list_(std::move(in_list)) {}
|
||||
+ : type_(Type::LIST), list_(std::move(in_list)) {}
|
||||
+ : type_(Type::LIST),
|
||||
list_(std::move(in_list)) {}
|
||||
|
||||
Value& Value::operator=(Value&& that) noexcept {
|
||||
InternalCleanup();
|
||||
@@ -733,7 +696,6 @@ size_t Value::EstimateMemoryUsage() const {
|
||||
|
||||
void Value::InternalMoveConstructFrom(Value&& that) {
|
||||
type_ = that.type_;
|
||||
- is_alive_ = that.is_alive_;
|
||||
|
||||
switch (type_) {
|
||||
case Type::NONE:
|
||||
diff --git base/values.h base/values.h
|
||||
index 7546fa53756d..00a357342d23 100644
|
||||
index 7bc355ee586d..441967681a4b 100644
|
||||
--- base/values.h
|
||||
+++ base/values.h
|
||||
@@ -96,6 +96,10 @@ class BASE_EXPORT Value {
|
||||
// Note: Do not add more types. See the file-level comment above for why.
|
||||
};
|
||||
|
||||
+ // Magic IsAlive signature to debug double frees.
|
||||
+ // TODO(crbug.com/859477): Remove once root cause is found.
|
||||
+ static constexpr uint32_t kMagicIsAlive = 0x15272f19;
|
||||
+
|
||||
// For situations where you want to keep ownership of your buffer, this
|
||||
// factory method creates a new BinaryValue by copying the contents of the
|
||||
// buffer that's passed in.
|
||||
@@ -375,100 +379,28 @@ class BASE_EXPORT Value {
|
||||
@@ -390,78 +390,18 @@ class BASE_EXPORT Value {
|
||||
size_t EstimateMemoryUsage() const;
|
||||
|
||||
protected:
|
||||
- // Magic IsAlive signature to debug double frees.
|
||||
- // TODO(crbug.com/859477): Remove once root cause is found.
|
||||
- static constexpr uint16_t kMagicIsAlive = 0x2f19;
|
||||
+ // TODO(crbug.com/646113): Make these private once DictionaryValue and
|
||||
+ // ListValue are properly inlined.
|
||||
+ Type type_;
|
||||
|
||||
- // Technical note:
|
||||
- // The naive way to implement a tagged union leads to wasted bytes
|
||||
- // in the object on CPUs like ARM ones, which impose an 8-byte alignment
|
||||
@ -194,35 +133,32 @@ index 7546fa53756d..00a357342d23 100644
|
||||
- // that |double_value_| below is always located at an offset that is a
|
||||
- // multiple of 8, relative to the start of the overall data structure.
|
||||
- //
|
||||
- // Each struct must declare its own |type_| and |is_alive_| field, which
|
||||
- // must have a different name, to appease the C++ compiler.
|
||||
- // Each struct must declare its own |type_| field, which must have a different
|
||||
- // name, to appease the C++ compiler.
|
||||
- //
|
||||
- // Using this technique sizeof(base::Value) == 16 on 32-bit ARM instead
|
||||
- // of 24, without losing any information. Results are unchanged for x86,
|
||||
- // x86_64 and arm64 (16, 32 and 32 bytes respectively).
|
||||
+ // TODO(crbug.com/646113): Make these private once DictionaryValue and
|
||||
+ // ListValue are properly inlined.
|
||||
+ Type type_;
|
||||
+
|
||||
union {
|
||||
- struct {
|
||||
- // TODO(crbug.com/646113): Make these private once DictionaryValue and
|
||||
- // ListValue are properly inlined.
|
||||
- Type type_ : 8;
|
||||
-
|
||||
- // IsAlive member to debug double frees.
|
||||
- // TODO(crbug.com/859477): Remove once root cause is found.
|
||||
- uint16_t is_alive_ = kMagicIsAlive;
|
||||
- };
|
||||
- struct {
|
||||
- Type bool_type_ : 8;
|
||||
- uint16_t bool_is_alive_;
|
||||
- bool bool_value_;
|
||||
- };
|
||||
- struct {
|
||||
- Type int_type_ : 8;
|
||||
- uint16_t int_is_alive_;
|
||||
- int int_value_;
|
||||
- };
|
||||
- struct {
|
||||
- Type double_type_ : 8;
|
||||
- uint16_t double_is_alive_;
|
||||
- // Subtle: On architectures that require it, the compiler will ensure
|
||||
- // that |double_value_|'s offset is a multiple of 8 (e.g. 32-bit ARM).
|
||||
- // See technical note above to understand why it is important.
|
||||
@ -230,22 +166,18 @@ index 7546fa53756d..00a357342d23 100644
|
||||
- };
|
||||
- struct {
|
||||
- Type string_type_ : 8;
|
||||
- uint16_t string_is_alive_;
|
||||
- std::string string_value_;
|
||||
- };
|
||||
- struct {
|
||||
- Type binary_type_ : 8;
|
||||
- uint16_t binary_is_alive_;
|
||||
- BlobStorage binary_value_;
|
||||
- };
|
||||
- struct {
|
||||
- Type dict_type_ : 8;
|
||||
- uint16_t dict_is_alive_;
|
||||
- DictStorage dict_;
|
||||
- };
|
||||
- struct {
|
||||
- Type list_type_ : 8;
|
||||
- uint16_t list_is_alive_;
|
||||
- ListStorage list_;
|
||||
- };
|
||||
+ bool bool_value_;
|
||||
@ -258,19 +190,8 @@ index 7546fa53756d..00a357342d23 100644
|
||||
};
|
||||
|
||||
private:
|
||||
- friend class ValuesTest_SizeOfValue_Test;
|
||||
void InternalMoveConstructFrom(Value&& that);
|
||||
void InternalCleanup();
|
||||
|
||||
+ // IsAlive member to debug double frees.
|
||||
+ // TODO(crbug.com/859477): Remove once root cause is found.
|
||||
+ uint32_t is_alive_ = kMagicIsAlive;
|
||||
+
|
||||
DISALLOW_COPY_AND_ASSIGN(Value);
|
||||
};
|
||||
|
||||
diff --git base/values_unittest.cc base/values_unittest.cc
|
||||
index 0a641bcc7ef4..bedacd9b1dee 100644
|
||||
index 2907dc066843..3a65e2d6ff2b 100644
|
||||
--- base/values_unittest.cc
|
||||
+++ base/values_unittest.cc
|
||||
@@ -6,7 +6,6 @@
|
||||
@ -289,16 +210,18 @@ index 0a641bcc7ef4..bedacd9b1dee 100644
|
||||
#include "base/strings/string16.h"
|
||||
#include "base/strings/string_piece.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
@@ -25,43 +23,6 @@
|
||||
@@ -26,46 +24,6 @@
|
||||
|
||||
namespace base {
|
||||
|
||||
-// Test is currently incorrect on Windows x86.
|
||||
-#if !defined(OS_WIN) || !defined(ARCH_CPU_X86)
|
||||
-TEST(ValuesTest, SizeOfValue) {
|
||||
- // Ensure that base::Value is as small as possible, i.e. that there is
|
||||
- // no wasted space after the inner value due to alignment constraints.
|
||||
- // Distinguish between the 'header' that includes |type_| and |is_alive_|
|
||||
- // and the inner value that follows it, which can be a bool, int, double,
|
||||
- // string, blob, list or dict.
|
||||
- // Distinguish between the 'header' that includes |type_| and and the inner
|
||||
- // value that follows it, which can be a bool, int, double, string, blob, list
|
||||
- // or dict.
|
||||
-#define INNER_TYPES_LIST(X) \
|
||||
- X(bool, bool_value_) \
|
||||
- X(int, int_value_) \
|
||||
@ -329,6 +252,7 @@ index 0a641bcc7ef4..bedacd9b1dee 100644
|
||||
- LOG(INFO) << "max_inner_struct_limit=" << max_inner_struct_limit;
|
||||
- }
|
||||
-}
|
||||
-#endif
|
||||
-
|
||||
TEST(ValuesTest, TestNothrow) {
|
||||
static_assert(std::is_nothrow_move_constructible<Value>::value,
|
||||
|
@ -1,5 +1,5 @@
|
||||
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 1e2a66d449be..639bb2096cf4 100644
|
||||
index 88681456e180..aec9ee42e21b 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_child_frame.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_child_frame.cc
|
||||
@@ -650,6 +650,7 @@ void RenderWidgetHostViewChildFrame::SubmitCompositorFrame(
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git content/browser/renderer_host/browser_compositor_view_mac.h content/browser/renderer_host/browser_compositor_view_mac.h
|
||||
index 454c4cfd5a73..2bc6f341b9f5 100644
|
||||
index de89d291e5cb..9ce7bf4cb250 100644
|
||||
--- content/browser/renderer_host/browser_compositor_view_mac.h
|
||||
+++ content/browser/renderer_host/browser_compositor_view_mac.h
|
||||
@@ -59,6 +59,8 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient,
|
||||
@ -12,7 +12,7 @@ index 454c4cfd5a73..2bc6f341b9f5 100644
|
||||
// Force a new surface id to be allocated. Returns true if the
|
||||
// RenderWidgetHostImpl sent the resulting surface id to the renderer.
|
||||
diff --git content/browser/renderer_host/browser_compositor_view_mac.mm content/browser/renderer_host/browser_compositor_view_mac.mm
|
||||
index 0817b4eca4f4..ddc37768ff47 100644
|
||||
index 6cdd1d10b580..312f27823674 100644
|
||||
--- content/browser/renderer_host/browser_compositor_view_mac.mm
|
||||
+++ content/browser/renderer_host/browser_compositor_view_mac.mm
|
||||
@@ -84,6 +84,12 @@ DelegatedFrameHost* BrowserCompositorMac::GetDelegatedFrameHost() {
|
||||
|
@ -50,10 +50,10 @@ index dbc6281ef737..e413bf418b25 100644
|
||||
render_view_host_->GetMainFrame()->AllowBindings(
|
||||
BINDINGS_POLICY_DOM_AUTOMATION);
|
||||
diff --git content/browser/web_contents/web_contents_view.h content/browser/web_contents/web_contents_view.h
|
||||
index 2960f298ff54..218743f1847c 100644
|
||||
index bfb918a2cba3..a193b5a0fed8 100644
|
||||
--- content/browser/web_contents/web_contents_view.h
|
||||
+++ content/browser/web_contents/web_contents_view.h
|
||||
@@ -24,7 +24,7 @@ struct ScreenInfo;
|
||||
@@ -23,7 +23,7 @@ struct DropData;
|
||||
// The WebContentsView is an interface that is implemented by the platform-
|
||||
// dependent web contents views. The WebContents uses this interface to talk to
|
||||
// them.
|
||||
@ -62,7 +62,7 @@ index 2960f298ff54..218743f1847c 100644
|
||||
public:
|
||||
virtual ~WebContentsView() {}
|
||||
|
||||
@@ -88,13 +88,9 @@ class WebContentsView {
|
||||
@@ -84,13 +84,9 @@ class WebContentsView {
|
||||
// Sets up the View that holds the rendered web page, receives messages for
|
||||
// it and contains page plugins. The host view should be sized to the current
|
||||
// size of the WebContents.
|
||||
@ -79,10 +79,10 @@ index 2960f298ff54..218743f1847c 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 3ae2cd85d98e..d1eaec9bd939 100644
|
||||
index 0c15633445d7..e6224d9a7612 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,
|
||||
@@ -763,7 +763,8 @@ void WebContentsViewAura::CreateView(const gfx::Size& initial_size,
|
||||
}
|
||||
|
||||
RenderWidgetHostViewBase* WebContentsViewAura::CreateViewForWidget(
|
||||
@ -92,7 +92,7 @@ index 3ae2cd85d98e..d1eaec9bd939 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
|
||||
@@ -879,6 +880,7 @@ RenderWidgetHostViewBase* WebContentsViewAura::CreateViewForWidget(
|
||||
@@ -775,6 +776,7 @@ RenderWidgetHostViewBase* WebContentsViewAura::CreateViewForWidget(
|
||||
render_widget_host->GetView());
|
||||
}
|
||||
|
||||
@ -101,10 +101,10 @@ index 3ae2cd85d98e..d1eaec9bd939 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 c917d912bbdf..36b9d9b8e3e9 100644
|
||||
index a1395dab81d4..b8c33779fef4 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
|
||||
@@ -109,7 +109,7 @@ class CONTENT_EXPORT WebContentsViewAura
|
||||
gfx::NativeView context) override;
|
||||
RenderWidgetHostViewBase* CreateViewForWidget(
|
||||
RenderWidgetHost* render_widget_host,
|
||||
@ -208,7 +208,7 @@ index 913fbc4bb00e..731a81c72803 100644
|
||||
RenderWidgetHost* render_widget_host) override;
|
||||
void SetPageTitle(const base::string16& title) override;
|
||||
diff --git content/browser/web_contents/web_contents_view_mac.h content/browser/web_contents/web_contents_view_mac.h
|
||||
index be73ba6b3aca..3ba5aba86462 100644
|
||||
index 4266d4c817d4..7bcede99bca1 100644
|
||||
--- content/browser/web_contents/web_contents_view_mac.h
|
||||
+++ content/browser/web_contents/web_contents_view_mac.h
|
||||
@@ -74,7 +74,7 @@ class WebContentsViewMac : public WebContentsView,
|
||||
@ -221,7 +221,7 @@ index be73ba6b3aca..3ba5aba86462 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 92ac389639d8..83a2ddb344ba 100644
|
||||
index 011c81a25cb6..2d2a744a582c 100644
|
||||
--- content/browser/web_contents/web_contents_view_mac.mm
|
||||
+++ content/browser/web_contents/web_contents_view_mac.mm
|
||||
@@ -319,7 +319,8 @@ void WebContentsViewMac::CreateView(
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
|
||||
index ca6ff2b13809..c48e65157f5b 100644
|
||||
index b37e8d1f2ab6..f42ea327a9e8 100644
|
||||
--- build/config/compiler/BUILD.gn
|
||||
+++ build/config/compiler/BUILD.gn
|
||||
@@ -168,7 +168,7 @@ declare_args() {
|
||||
@@ -157,7 +157,7 @@ declare_args() {
|
||||
!use_clang_coverage && !(is_android && use_order_profiling) &&
|
||||
(use_lld ||
|
||||
(use_gold &&
|
||||
@ -11,7 +11,7 @@ index ca6ff2b13809..c48e65157f5b 100644
|
||||
!(current_cpu == "x86" || current_cpu == "x64"))))
|
||||
}
|
||||
|
||||
@@ -1709,8 +1709,6 @@ config("thin_archive") {
|
||||
@@ -1696,8 +1696,6 @@ config("thin_archive") {
|
||||
# archive names to 16 characters, which is not what we want).
|
||||
if ((is_posix && !is_nacl && !is_mac && !is_ios) || is_fuchsia) {
|
||||
arflags = [ "-T" ]
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
|
||||
index f8dfe8e20824..ec6fc42d11de 100644
|
||||
index c9a0e95880f3..2a3667c5acc5 100644
|
||||
--- chrome/browser/BUILD.gn
|
||||
+++ chrome/browser/BUILD.gn
|
||||
@@ -8,6 +8,7 @@ import("//build/config/features.gni")
|
||||
@ -10,7 +10,7 @@ index f8dfe8e20824..ec6fc42d11de 100644
|
||||
import("//chrome/common/features.gni")
|
||||
import("//components/feature_engagement/features.gni")
|
||||
import("//components/feed/features.gni")
|
||||
@@ -1812,6 +1813,7 @@ jumbo_split_static_library("browser") {
|
||||
@@ -1807,6 +1808,7 @@ jumbo_split_static_library("browser") {
|
||||
"//base:i18n",
|
||||
"//base/allocator:buildflags",
|
||||
"//cc",
|
||||
@ -18,7 +18,7 @@ index f8dfe8e20824..ec6fc42d11de 100644
|
||||
"//chrome:extra_resources",
|
||||
"//chrome:resources",
|
||||
"//chrome:strings",
|
||||
@@ -2109,6 +2111,10 @@ jumbo_split_static_library("browser") {
|
||||
@@ -2105,6 +2107,10 @@ jumbo_split_static_library("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@ index f8dfe8e20824..ec6fc42d11de 100644
|
||||
if (is_android) {
|
||||
sources += [
|
||||
"after_startup_task_utils_android.cc",
|
||||
@@ -3858,7 +3864,7 @@ jumbo_split_static_library("browser") {
|
||||
@@ -3877,7 +3883,7 @@ jumbo_split_static_library("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ index cac72c6a2fd1..2ed83a4af1b3 100644
|
||||
// network quality change events.
|
||||
virtual network::NetworkQualityTracker* network_quality_tracker() = 0;
|
||||
diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc
|
||||
index 27092f6375c4..b8ce740e4a08 100644
|
||||
index 6699792348cc..5a550106043d 100644
|
||||
--- chrome/browser/browser_process_impl.cc
|
||||
+++ chrome/browser/browser_process_impl.cc
|
||||
@@ -665,6 +665,10 @@ BrowserProcessImpl::system_network_context_manager() {
|
||||
@ -39,10 +39,10 @@ index 27092f6375c4..b8ce740e4a08 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 7168c719aa25..bae7162a539c 100644
|
||||
index 9bf48b759148..90d455eae40d 100644
|
||||
--- chrome/browser/browser_process_impl.h
|
||||
+++ chrome/browser/browser_process_impl.h
|
||||
@@ -140,6 +140,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
@@ -141,6 +141,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
// TODO(qinmin): Remove this method as callers can retrieve the global
|
||||
// instance from SystemNetworkContextManager directly.
|
||||
SystemNetworkContextManager* system_network_context_manager() override;
|
||||
@ -51,7 +51,7 @@ index 7168c719aa25..bae7162a539c 100644
|
||||
override;
|
||||
network::NetworkQualityTracker* network_quality_tracker() override;
|
||||
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
|
||||
index 911e49e41313..eecbca982a92 100644
|
||||
index dba025da98a5..c6d4e2998bf4 100644
|
||||
--- chrome/browser/ui/BUILD.gn
|
||||
+++ chrome/browser/ui/BUILD.gn
|
||||
@@ -9,6 +9,7 @@ import("//build/config/features.gni")
|
||||
@ -81,7 +81,7 @@ index 911e49e41313..eecbca982a92 100644
|
||||
"//chrome:extra_resources",
|
||||
"//chrome:resources",
|
||||
"//chrome:strings",
|
||||
@@ -2309,7 +2315,7 @@ jumbo_split_static_library("ui") {
|
||||
@@ -2322,7 +2328,7 @@ jumbo_split_static_library("ui") {
|
||||
"views/frame/native_browser_frame_factory_ozone.cc",
|
||||
]
|
||||
} else {
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
|
||||
index d66a0216832f..25c5ea80cb07 100644
|
||||
index ec2433d53264..85e2043b25b5 100644
|
||||
--- chrome/browser/profiles/profile_manager.cc
|
||||
+++ chrome/browser/profiles/profile_manager.cc
|
||||
@@ -384,7 +384,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/plugins/plugin_info_host_impl.cc chrome/browser/plugins/plugin_info_host_impl.cc
|
||||
index 989d5d02cedb..e05810db6824 100644
|
||||
index e699f1feb070..f5fcc878c246 100644
|
||||
--- chrome/browser/plugins/plugin_info_host_impl.cc
|
||||
+++ chrome/browser/plugins/plugin_info_host_impl.cc
|
||||
@@ -18,6 +18,7 @@
|
||||
@ -86,7 +86,7 @@ index 989d5d02cedb..e05810db6824 100644
|
||||
if (security_status == PluginMetadata::SECURITY_STATUS_FULLY_TRUSTED) {
|
||||
*status = chrome::mojom::PluginStatus::kAllowed;
|
||||
return;
|
||||
@@ -378,16 +402,36 @@ bool PluginInfoHostImpl::Context::FindEnabledPlugin(
|
||||
@@ -377,16 +401,36 @@ bool PluginInfoHostImpl::Context::FindEnabledPlugin(
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -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 d007c018c95f..1c48ced4abc2 100644
|
||||
index a838fabbdfcb..93ccc1cbdb35 100644
|
||||
--- chrome/renderer/chrome_content_renderer_client.cc
|
||||
+++ chrome/renderer/chrome_content_renderer_client.cc
|
||||
@@ -807,6 +807,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -752,6 +752,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
|
||||
if ((status == chrome::mojom::PluginStatus::kUnauthorized ||
|
||||
status == chrome::mojom::PluginStatus::kBlocked) &&
|
||||
@ -136,7 +136,7 @@ index d007c018c95f..1c48ced4abc2 100644
|
||||
observer->IsPluginTemporarilyAllowed(identifier)) {
|
||||
status = chrome::mojom::PluginStatus::kAllowed;
|
||||
}
|
||||
@@ -991,7 +992,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -936,7 +937,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
|
||||
&plugin_auth_host);
|
||||
plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier);
|
||||
@ -146,7 +146,7 @@ index d007c018c95f..1c48ced4abc2 100644
|
||||
break;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kBlocked: {
|
||||
@@ -1000,7 +1002,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -945,7 +947,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 d007c018c95f..1c48ced4abc2 100644
|
||||
break;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kBlockedByPolicy: {
|
||||
@@ -1010,7 +1013,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -955,7 +958,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
group_name));
|
||||
RenderThread::Get()->RecordAction(
|
||||
UserMetricsAction("Plugin_BlockedByPolicy"));
|
||||
@ -166,7 +166,7 @@ index d007c018c95f..1c48ced4abc2 100644
|
||||
break;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kBlockedNoLoading: {
|
||||
@@ -1018,7 +1022,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -963,7 +967,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
IDR_BLOCKED_PLUGIN_HTML,
|
||||
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED_NO_LOADING,
|
||||
group_name));
|
||||
@ -177,10 +177,10 @@ index d007c018c95f..1c48ced4abc2 100644
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kComponentUpdateRequired: {
|
||||
diff --git chrome/renderer/plugins/chrome_plugin_placeholder.cc chrome/renderer/plugins/chrome_plugin_placeholder.cc
|
||||
index eac14f9ae0d2..f6a3c8f0039b 100644
|
||||
index fe074e5b99ac..5d19f37db3d0 100644
|
||||
--- chrome/renderer/plugins/chrome_plugin_placeholder.cc
|
||||
+++ chrome/renderer/plugins/chrome_plugin_placeholder.cc
|
||||
@@ -350,8 +350,11 @@ void ChromePluginPlaceholder::OnBlockedContent(
|
||||
@@ -357,8 +357,11 @@ void ChromePluginPlaceholder::OnBlockedContent(
|
||||
|
||||
if (status ==
|
||||
content::RenderFrame::PeripheralContentStatus::CONTENT_STATUS_TINY) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
|
||||
index 245a7102ec7b..6ca00c19f881 100644
|
||||
index 2fa66151a8ad..de180c486eda 100644
|
||||
--- chrome/renderer/BUILD.gn
|
||||
+++ chrome/renderer/BUILD.gn
|
||||
@@ -4,6 +4,7 @@
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/common/chrome_content_client.cc chrome/common/chrome_content_client.cc
|
||||
index 45f0aa95dbde..83d4d5bb5eb9 100644
|
||||
index 406683776819..d8bf3372dd60 100644
|
||||
--- chrome/common/chrome_content_client.cc
|
||||
+++ chrome/common/chrome_content_client.cc
|
||||
@@ -98,7 +98,8 @@
|
||||
@@ -97,7 +97,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.
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/download/download_target_determiner.cc chrome/browser/download/download_target_determiner.cc
|
||||
index 25de1508db60..5fcfffa96b89 100644
|
||||
index 010f9511741c..a777f2d7a106 100644
|
||||
--- chrome/browser/download/download_target_determiner.cc
|
||||
+++ chrome/browser/download/download_target_determiner.cc
|
||||
@@ -597,8 +597,8 @@ void IsHandledBySafePlugin(content::ResourceContext* resource_context,
|
||||
@@ -602,8 +602,8 @@ void IsHandledBySafePlugin(content::ResourceContext* resource_context,
|
||||
content::PluginService* plugin_service =
|
||||
content::PluginService::GetInstance();
|
||||
bool plugin_found = plugin_service->GetPluginInfo(
|
||||
@ -14,10 +14,10 @@ index 25de1508db60..5fcfffa96b89 100644
|
||||
// The GetPlugins call causes the plugin list to be refreshed. Once that's
|
||||
// done we can retry the GetPluginInfo call. We break out of this cycle
|
||||
diff --git chrome/browser/plugins/chrome_plugin_service_filter.cc chrome/browser/plugins/chrome_plugin_service_filter.cc
|
||||
index e16e00dc888b..5d102629a0d4 100644
|
||||
index c9ca4a805d1b..0928f0e237f1 100644
|
||||
--- chrome/browser/plugins/chrome_plugin_service_filter.cc
|
||||
+++ chrome/browser/plugins/chrome_plugin_service_filter.cc
|
||||
@@ -168,6 +168,7 @@ bool ChromePluginServiceFilter::IsPluginAvailable(
|
||||
@@ -169,6 +169,7 @@ bool ChromePluginServiceFilter::IsPluginAvailable(
|
||||
int render_frame_id,
|
||||
const void* context,
|
||||
const GURL& plugin_content_url,
|
||||
@ -66,10 +66,10 @@ index be77d0e074e9..949873b9bb22 100644
|
||||
}
|
||||
|
||||
diff --git content/browser/frame_host/navigation_handle_impl.cc content/browser/frame_host/navigation_handle_impl.cc
|
||||
index 1e912186c32c..38d03aafc8b0 100644
|
||||
index 8191262c3815..0fc558a96b1b 100644
|
||||
--- content/browser/frame_host/navigation_handle_impl.cc
|
||||
+++ content/browser/frame_host/navigation_handle_impl.cc
|
||||
@@ -308,12 +308,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() {
|
||||
@@ -316,12 +316,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() {
|
||||
}
|
||||
|
||||
RenderFrameHostImpl* NavigationHandleImpl::GetRenderFrameHost() {
|
||||
@ -83,10 +83,10 @@ index 1e912186c32c..38d03aafc8b0 100644
|
||||
"WillFailRequest state should come before WillProcessResponse");
|
||||
return navigation_request_->render_frame_host();
|
||||
diff --git content/browser/frame_host/render_frame_message_filter.cc content/browser/frame_host/render_frame_message_filter.cc
|
||||
index 09095ba2dc8e..2fb0becabf88 100644
|
||||
index 23470d05e0bd..550d1dd993af 100644
|
||||
--- content/browser/frame_host/render_frame_message_filter.cc
|
||||
+++ content/browser/frame_host/render_frame_message_filter.cc
|
||||
@@ -704,6 +704,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id,
|
||||
@@ -707,6 +707,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id,
|
||||
void RenderFrameMessageFilter::OnGetPluginInfo(
|
||||
int render_frame_id,
|
||||
const GURL& url,
|
||||
@ -94,7 +94,7 @@ index 09095ba2dc8e..2fb0becabf88 100644
|
||||
const url::Origin& main_frame_origin,
|
||||
const std::string& mime_type,
|
||||
bool* found,
|
||||
@@ -715,8 +716,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
|
||||
@@ -718,8 +719,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
|
||||
bool allow_wildcard = true;
|
||||
*found = plugin_service_->GetPluginInfo(
|
||||
render_process_id_, render_frame_id, resource_context_, url,
|
||||
@ -133,10 +133,10 @@ index 31aa4bc38442..0314343499d3 100644
|
||||
if (stale) {
|
||||
// Refresh the plugins asynchronously.
|
||||
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
|
||||
index 161ab06fa1dd..fddb3557b3c7 100644
|
||||
index f9d3104fa375..729b6886e9df 100644
|
||||
--- content/browser/loader/navigation_url_loader_impl.cc
|
||||
+++ content/browser/loader/navigation_url_loader_impl.cc
|
||||
@@ -1141,7 +1141,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
|
||||
@@ -1156,7 +1156,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_,
|
||||
@ -180,10 +180,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 0c598ddb2df7..1049a9ac2b74 100644
|
||||
index 427e1cb8946c..2f00734e9dfc 100644
|
||||
--- content/browser/renderer_host/plugin_registry_impl.cc
|
||||
+++ content/browser/renderer_host/plugin_registry_impl.cc
|
||||
@@ -25,6 +25,7 @@ void PluginRegistryImpl::Bind(blink::mojom::PluginRegistryRequest request) {
|
||||
@@ -27,6 +27,7 @@ void PluginRegistryImpl::Bind(blink::mojom::PluginRegistryRequest request) {
|
||||
}
|
||||
|
||||
void PluginRegistryImpl::GetPlugins(bool refresh,
|
||||
@ -191,7 +191,7 @@ index 0c598ddb2df7..1049a9ac2b74 100644
|
||||
const url::Origin& main_frame_origin,
|
||||
GetPluginsCallback callback) {
|
||||
auto* plugin_service = PluginServiceImpl::GetInstance();
|
||||
@@ -46,17 +47,18 @@ void PluginRegistryImpl::GetPlugins(bool refresh,
|
||||
@@ -48,10 +49,11 @@ void PluginRegistryImpl::GetPlugins(bool refresh,
|
||||
|
||||
plugin_service->GetPlugins(base::BindOnce(
|
||||
&PluginRegistryImpl::GetPluginsComplete, weak_factory_.GetWeakPtr(),
|
||||
@ -204,15 +204,16 @@ index 0c598ddb2df7..1049a9ac2b74 100644
|
||||
const url::Origin& main_frame_origin,
|
||||
GetPluginsCallback callback,
|
||||
const std::vector<WebPluginInfo>& all_plugins) {
|
||||
PluginServiceFilter* filter = PluginServiceImpl::GetInstance()->GetFilter();
|
||||
std::vector<blink::mojom::PluginInfoPtr> plugins;
|
||||
@@ -61,7 +63,7 @@ void PluginRegistryImpl::GetPluginsComplete(
|
||||
GetContentClient()->browser()->GetMimeHandlerViewMimeTypes(
|
||||
resource_context_);
|
||||
|
||||
- const int child_process_id = -1;
|
||||
+ const int child_process_id = render_process_id_;
|
||||
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.
|
||||
@@ -65,7 +67,7 @@ void PluginRegistryImpl::GetPluginsComplete(
|
||||
@@ -70,7 +72,7 @@ void PluginRegistryImpl::GetPluginsComplete(
|
||||
if (!filter ||
|
||||
filter->IsPluginAvailable(child_process_id, routing_id,
|
||||
resource_context_, main_frame_origin.GetURL(),
|
||||
@ -252,10 +253,10 @@ index 3009401dac6b..b4c5a9e2db50 100644
|
||||
};
|
||||
|
||||
diff --git content/common/frame_messages.h content/common/frame_messages.h
|
||||
index f1b940d02a3e..7ba4495c34b0 100644
|
||||
index 5ea18183cc12..a40b09f2e0e4 100644
|
||||
--- content/common/frame_messages.h
|
||||
+++ content/common/frame_messages.h
|
||||
@@ -1319,9 +1319,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
|
||||
@@ -1278,9 +1278,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.
|
||||
@ -292,7 +293,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 3b5c53a10c8d..bb56c4ed5c77 100644
|
||||
index a7413c47e02b..54e7f221ed04 100644
|
||||
--- content/public/renderer/content_renderer_client.h
|
||||
+++ content/public/renderer/content_renderer_client.h
|
||||
@@ -73,6 +73,9 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
@ -305,7 +306,7 @@ index 3b5c53a10c8d..bb56c4ed5c77 100644
|
||||
// Notifies that a new RenderFrame has been created.
|
||||
virtual void RenderFrameCreated(RenderFrame* render_frame) {}
|
||||
|
||||
@@ -333,6 +336,10 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
@@ -332,6 +335,10 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
// This method may invalidate the frame.
|
||||
virtual void RunScriptsAtDocumentIdle(RenderFrame* render_frame) {}
|
||||
|
||||
@ -317,10 +318,10 @@ index 3b5c53a10c8d..bb56c4ed5c77 100644
|
||||
// started.
|
||||
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
|
||||
diff --git content/public/renderer/render_frame_observer.h content/public/renderer/render_frame_observer.h
|
||||
index c9ce48e3c3ec..0a3448b194a3 100644
|
||||
index f16b90c8077b..8f6c7cddaf9a 100644
|
||||
--- content/public/renderer/render_frame_observer.h
|
||||
+++ content/public/renderer/render_frame_observer.h
|
||||
@@ -193,6 +193,9 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener,
|
||||
@@ -194,6 +194,9 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener,
|
||||
virtual void DidReceiveTransferSizeUpdate(int resource_id,
|
||||
int received_data_length) {}
|
||||
|
||||
@ -331,10 +332,10 @@ index c9ce48e3c3ec..0a3448b194a3 100644
|
||||
virtual void FocusedNodeChanged(const blink::WebNode& node) {}
|
||||
|
||||
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
|
||||
index b82743edbc63..cae550657487 100644
|
||||
index 61e0039608e8..b79b6a2dbc22 100644
|
||||
--- content/renderer/render_frame_impl.cc
|
||||
+++ content/renderer/render_frame_impl.cc
|
||||
@@ -3922,7 +3922,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
|
||||
@@ -3926,7 +3926,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
|
||||
std::string mime_type;
|
||||
bool found = false;
|
||||
Send(new FrameHostMsg_GetPluginInfo(
|
||||
@ -344,7 +345,7 @@ index b82743edbc63..cae550657487 100644
|
||||
params.mime_type.Utf8(), &found, &info, &mime_type));
|
||||
if (!found)
|
||||
return nullptr;
|
||||
@@ -4340,6 +4341,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
|
||||
@@ -4353,6 +4354,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
|
||||
|
||||
void RenderFrameImpl::FrameFocused() {
|
||||
Send(new FrameHostMsg_FrameFocused(routing_id_));
|
||||
@ -352,9 +353,9 @@ index b82743edbc63..cae550657487 100644
|
||||
+ observer.FrameFocused();
|
||||
}
|
||||
|
||||
void RenderFrameImpl::WillCommitProvisionalLoad() {
|
||||
void RenderFrameImpl::DidChangeName(const blink::WebString& name) {
|
||||
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
|
||||
index 9d029d4ee65b..d5aff5825371 100644
|
||||
index 47903ba66fd6..8c2fdded4d32 100644
|
||||
--- content/renderer/render_thread_impl.cc
|
||||
+++ content/renderer/render_thread_impl.cc
|
||||
@@ -806,6 +806,8 @@ void RenderThreadImpl::Init() {
|
||||
@ -367,10 +368,10 @@ index 9d029d4ee65b..d5aff5825371 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 1277a3b2c1e4..9e62e5ce6dd6 100644
|
||||
index 2c6828e7b474..f0e0611a0c59 100644
|
||||
--- content/renderer/renderer_blink_platform_impl.cc
|
||||
+++ content/renderer/renderer_blink_platform_impl.cc
|
||||
@@ -1070,6 +1070,14 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
|
||||
@@ -1113,6 +1113,14 @@ void RendererBlinkPlatformImpl::RecordMetricsForBackgroundedRendererPurge() {
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@ -386,10 +387,10 @@ index 1277a3b2c1e4..9e62e5ce6dd6 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 38ff3be90843..6514d37afe00 100644
|
||||
index d8620e051044..517d795f815e 100644
|
||||
--- content/renderer/renderer_blink_platform_impl.h
|
||||
+++ content/renderer/renderer_blink_platform_impl.h
|
||||
@@ -235,6 +235,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
@@ -241,6 +241,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
std::unique_ptr<blink::WebDataConsumerHandle> CreateDataConsumerHandle(
|
||||
mojo::ScopedDataPipeConsumerHandle handle) override;
|
||||
|
||||
|
@ -45,7 +45,7 @@ index bcf172e645a2..f879aa745adf 100644
|
||||
// on the given |command_line|.
|
||||
void SetCrashKeysFromCommandLine(const base::CommandLine& command_line);
|
||||
diff --git chrome_elf/BUILD.gn chrome_elf/BUILD.gn
|
||||
index 61efc526eed9..b8d101eda7fd 100644
|
||||
index 7643f2793a0a..5da3775ac932 100644
|
||||
--- chrome_elf/BUILD.gn
|
||||
+++ chrome_elf/BUILD.gn
|
||||
@@ -7,6 +7,7 @@
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git third_party/crashpad/crashpad/client/prune_crash_reports.cc third_party/crashpad/crashpad/client/prune_crash_reports.cc
|
||||
index d045eb6a65a0..bc347a30ea26 100644
|
||||
index c6fa389ba88f..8912e2169972 100644
|
||||
--- third_party/crashpad/crashpad/client/prune_crash_reports.cc
|
||||
+++ third_party/crashpad/crashpad/client/prune_crash_reports.cc
|
||||
@@ -66,13 +66,19 @@ void PruneCrashReportDatabase(CrashReportDatabase* database,
|
||||
@ -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 b22ab2c4b912..223e43e910d7 100644
|
||||
index e1e673e26a01..ae0224dd847d 100644
|
||||
--- third_party/crashpad/crashpad/handler/BUILD.gn
|
||||
+++ third_party/crashpad/crashpad/handler/BUILD.gn
|
||||
@@ -12,6 +12,7 @@
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc
|
||||
index 3a1bc8719732..129f178fd5a7 100644
|
||||
index 94892dd57d36..1d4036fdedf8 100644
|
||||
--- content/browser/devtools/devtools_http_handler.cc
|
||||
+++ content/browser/devtools/devtools_http_handler.cc
|
||||
@@ -574,7 +574,7 @@ void DevToolsHttpHandler::OnJsonRequest(
|
||||
@@ -572,7 +572,7 @@ void DevToolsHttpHandler::OnJsonRequest(
|
||||
version.SetString("Protocol-Version",
|
||||
DevToolsAgentHost::GetProtocolVersion());
|
||||
version.SetString("WebKit-Version", GetWebKitVersion());
|
||||
|
@ -27,10 +27,10 @@ index 9e81f0a33ede..b796e79ae7ef 100644
|
||||
auto* browser_context = web_contents->GetBrowserContext();
|
||||
|
||||
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
|
||||
index 7fc0a70f4e79..7d9a334c06d4 100644
|
||||
index b89c08735e10..8a63d21d6771 100644
|
||||
--- content/public/browser/content_browser_client.h
|
||||
+++ content/public/browser/content_browser_client.h
|
||||
@@ -1491,6 +1491,10 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1506,6 +1506,10 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
// Used as part of the user agent string.
|
||||
virtual std::string GetProduct() const;
|
||||
|
||||
@ -42,7 +42,7 @@ index 7fc0a70f4e79..7d9a334c06d4 100644
|
||||
virtual std::string GetUserAgent() const;
|
||||
|
||||
diff --git extensions/browser/extension_host.cc extensions/browser/extension_host.cc
|
||||
index 0714c63350c8..c1acbd8bd531 100644
|
||||
index 8cc9503fc131..b74c385b40a2 100644
|
||||
--- extensions/browser/extension_host.cc
|
||||
+++ extensions/browser/extension_host.cc
|
||||
@@ -67,11 +67,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
|
||||
|
@ -27,10 +27,10 @@ index 3c4d448b972f..fa3f01f59484 100644
|
||||
virtual void OnReflectorChanged();
|
||||
|
||||
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
|
||||
index 4768ac1a3bac..9432533a3db2 100644
|
||||
index 0da5e9c1ecbc..49c79455b4aa 100644
|
||||
--- content/browser/compositor/gpu_process_transport_factory.cc
|
||||
+++ content/browser/compositor/gpu_process_transport_factory.cc
|
||||
@@ -209,6 +209,18 @@ GpuProcessTransportFactory::~GpuProcessTransportFactory() {
|
||||
@@ -208,6 +208,18 @@ GpuProcessTransportFactory::~GpuProcessTransportFactory() {
|
||||
task_graph_runner_->Shutdown();
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@ index 4768ac1a3bac..9432533a3db2 100644
|
||||
std::unique_ptr<viz::SoftwareOutputDevice>
|
||||
GpuProcessTransportFactory::CreateSoftwareOutputDevice(
|
||||
gfx::AcceleratedWidget widget,
|
||||
@@ -452,11 +464,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
||||
@@ -450,11 +462,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
||||
// surfaces as they are not following the correct mode.
|
||||
DisableGpuCompositing(compositor.get());
|
||||
}
|
||||
@ -73,7 +73,7 @@ index 4768ac1a3bac..9432533a3db2 100644
|
||||
} else {
|
||||
DCHECK(context_provider);
|
||||
const auto& capabilities = context_provider->ContextCapabilities();
|
||||
@@ -464,7 +485,8 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
||||
@@ -462,7 +483,8 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
||||
display_output_surface =
|
||||
std::make_unique<OffscreenBrowserCompositorOutputSurface>(
|
||||
context_provider, std::move(vsync_callback),
|
||||
@ -83,7 +83,7 @@ index 4768ac1a3bac..9432533a3db2 100644
|
||||
} else if (capabilities.surfaceless) {
|
||||
#if defined(OS_MACOSX)
|
||||
const auto& gpu_feature_info = context_provider->GetGpuFeatureInfo();
|
||||
@@ -909,7 +931,8 @@ GpuProcessTransportFactory::CreatePerCompositorData(
|
||||
@@ -914,7 +936,8 @@ GpuProcessTransportFactory::CreatePerCompositorData(
|
||||
gfx::AcceleratedWidget widget = compositor->widget();
|
||||
|
||||
auto data = std::make_unique<PerCompositorData>();
|
||||
@ -94,10 +94,10 @@ index 4768ac1a3bac..9432533a3db2 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 4c4548058be5..335099597a9d 100644
|
||||
index 525fa0c06b33..1f95b4f53496 100644
|
||||
--- content/browser/compositor/gpu_process_transport_factory.h
|
||||
+++ content/browser/compositor/gpu_process_transport_factory.h
|
||||
@@ -99,6 +99,7 @@ class GpuProcessTransportFactory : public ui::ContextFactory,
|
||||
@@ -101,6 +101,7 @@ class GpuProcessTransportFactory : public ui::ContextFactory,
|
||||
void IssueExternalBeginFrame(ui::Compositor* compositor,
|
||||
const viz::BeginFrameArgs& args) override;
|
||||
void SetOutputIsSecure(ui::Compositor* compositor, bool secure) override;
|
||||
@ -449,7 +449,7 @@ index b68942087179..2248762fcd77 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 02f89cdad67c..a2da1b7c518a 100644
|
||||
index e2ac01959e22..83fb39054432 100644
|
||||
--- gpu/command_buffer/client/gles2_cmd_helper_autogen.h
|
||||
+++ gpu/command_buffer/client/gles2_cmd_helper_autogen.h
|
||||
@@ -3521,6 +3521,42 @@ void DestroyGpuFenceCHROMIUM(GLuint gpu_fence_id) {
|
||||
@ -496,10 +496,10 @@ index 02f89cdad67c..a2da1b7c518a 100644
|
||||
GLint shm_id,
|
||||
GLuint shm_offset,
|
||||
diff --git gpu/command_buffer/client/gles2_implementation.cc gpu/command_buffer/client/gles2_implementation.cc
|
||||
index 985e6324567b..d2e067f28521 100644
|
||||
index e748a48a8e2a..a92b41df54d3 100644
|
||||
--- gpu/command_buffer/client/gles2_implementation.cc
|
||||
+++ gpu/command_buffer/client/gles2_implementation.cc
|
||||
@@ -7680,6 +7680,22 @@ void GLES2Implementation::Viewport(GLint x,
|
||||
@@ -7687,6 +7687,22 @@ void GLES2Implementation::Viewport(GLint x,
|
||||
CheckGLError();
|
||||
}
|
||||
|
||||
@ -682,7 +682,7 @@ index 4b7932e147b0..b0f5f2cafae3 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 68d9861198e0..98e8772b2993 100644
|
||||
index 2a59e11c2d25..fbb6c4551d70 100644
|
||||
--- gpu/command_buffer/common/gles2_cmd_format_autogen.h
|
||||
+++ gpu/command_buffer/common/gles2_cmd_format_autogen.h
|
||||
@@ -17336,6 +17336,193 @@ static_assert(offsetof(DestroyGpuFenceCHROMIUM, header) == 0,
|
||||
@ -880,7 +880,7 @@ index 68d9861198e0..98e8772b2993 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 790e72622c7d..bf87d86d9386 100644
|
||||
index 128473360af0..b4947682c816 100644
|
||||
--- gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
|
||||
+++ gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
|
||||
@@ -5721,6 +5721,52 @@ TEST_F(GLES2FormatTest, DestroyGpuFenceCHROMIUM) {
|
||||
@ -954,7 +954,7 @@ index b3dd9b38feba..bcb3656e4481 100644
|
||||
enum CommandId {
|
||||
kOneBeforeStartPoint =
|
||||
diff --git gpu/command_buffer/gles2_cmd_buffer_functions.txt gpu/command_buffer/gles2_cmd_buffer_functions.txt
|
||||
index aa55852d05dd..4638d070c48c 100644
|
||||
index 2f9b93fda757..9897a2790587 100644
|
||||
--- gpu/command_buffer/gles2_cmd_buffer_functions.txt
|
||||
+++ gpu/command_buffer/gles2_cmd_buffer_functions.txt
|
||||
@@ -417,6 +417,12 @@ GL_APICALL GLuint GL_APIENTRY glCreateClientGpuFenceCHROMIUM (ClientGpuFen
|
||||
@ -971,7 +971,7 @@ index aa55852d05dd..4638d070c48c 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 6955858281e7..045dee3185bf 100644
|
||||
index bbf81312c8d9..817a6b6fa421 100644
|
||||
--- gpu/command_buffer/service/BUILD.gn
|
||||
+++ gpu/command_buffer/service/BUILD.gn
|
||||
@@ -107,6 +107,8 @@ target(link_target_type, "gles2_sources") {
|
||||
@ -981,10 +981,10 @@ index 6955858281e7..045dee3185bf 100644
|
||||
+ "//cef/libcef/browser/gpu/external_texture_manager.cc",
|
||||
+ "//cef/libcef/browser/gpu/external_texture_manager.h",
|
||||
"abstract_texture.h",
|
||||
"buffer_manager.cc",
|
||||
"buffer_manager.h",
|
||||
"abstract_texture_impl_shared_context_state.cc",
|
||||
"abstract_texture_impl_shared_context_state.h",
|
||||
diff --git gpu/command_buffer/service/gles2_cmd_decoder.cc gpu/command_buffer/service/gles2_cmd_decoder.cc
|
||||
index d7197fe6455c..bfb072283725 100644
|
||||
index 5bb86a2a5d32..5439662701af 100644
|
||||
--- gpu/command_buffer/service/gles2_cmd_decoder.cc
|
||||
+++ gpu/command_buffer/service/gles2_cmd_decoder.cc
|
||||
@@ -38,6 +38,7 @@
|
||||
@ -1009,7 +1009,7 @@ index d7197fe6455c..bfb072283725 100644
|
||||
ImageManager* image_manager() { return group_->image_manager(); }
|
||||
|
||||
VertexArrayManager* vertex_array_manager() {
|
||||
@@ -2643,6 +2651,8 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
|
||||
@@ -2644,6 +2652,8 @@ class GLES2DecoderImpl : public GLES2Decoder, public ErrorStateClient {
|
||||
|
||||
std::unique_ptr<VertexArrayManager> vertex_array_manager_;
|
||||
|
||||
@ -1018,7 +1018,7 @@ index d7197fe6455c..bfb072283725 100644
|
||||
base::flat_set<scoped_refptr<Buffer>> writes_submitted_but_not_completed_;
|
||||
|
||||
// The format of the back buffer_
|
||||
@@ -5618,6 +5628,59 @@ error::Error GLES2DecoderImpl::HandleDestroyGpuFenceCHROMIUM(
|
||||
@@ -5619,6 +5629,59 @@ error::Error GLES2DecoderImpl::HandleDestroyGpuFenceCHROMIUM(
|
||||
return error::kNoError;
|
||||
}
|
||||
|
||||
@ -1079,7 +1079,7 @@ index d7197fe6455c..bfb072283725 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 805d9ae94712..6723682670e4 100644
|
||||
index 2766bcbc5418..417f26076423 100644
|
||||
--- gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
|
||||
+++ gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
|
||||
@@ -11,6 +11,7 @@
|
||||
@ -1090,7 +1090,7 @@ index 805d9ae94712..6723682670e4 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"
|
||||
@@ -2501,6 +2502,67 @@ error::Error GLES2DecoderPassthroughImpl::CheckSwapBuffersResult(
|
||||
@@ -2512,6 +2513,67 @@ error::Error GLES2DecoderPassthroughImpl::CheckSwapBuffersResult(
|
||||
return error::kNoError;
|
||||
}
|
||||
|
||||
@ -1210,7 +1210,7 @@ index 311c26b6e0ea..8583fdfecc19 100644
|
||||
observer_list_.AddObserver(observer);
|
||||
}
|
||||
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
|
||||
index 29784c677f4b..6e82af0d6aab 100644
|
||||
index 4e28277f7750..cd283ca49bd7 100644
|
||||
--- ui/compositor/compositor.h
|
||||
+++ ui/compositor/compositor.h
|
||||
@@ -25,6 +25,7 @@
|
||||
@ -1221,7 +1221,7 @@ index 29784c677f4b..6e82af0d6aab 100644
|
||||
#include "third_party/skia/include/core/SkColor.h"
|
||||
#include "third_party/skia/include/core/SkMatrix44.h"
|
||||
#include "ui/compositor/compositor_animation_observer.h"
|
||||
@@ -158,6 +159,8 @@ class COMPOSITOR_EXPORT ContextFactoryPrivate {
|
||||
@@ -160,6 +161,8 @@ class COMPOSITOR_EXPORT ContextFactoryPrivate {
|
||||
const viz::BeginFrameArgs& args) = 0;
|
||||
|
||||
virtual void SetOutputIsSecure(Compositor* compositor, bool secure) = 0;
|
||||
@ -1230,7 +1230,7 @@ index 29784c677f4b..6e82af0d6aab 100644
|
||||
};
|
||||
|
||||
// This class abstracts the creation of the 3D context for the compositor. It is
|
||||
@@ -193,6 +196,17 @@ class COMPOSITOR_EXPORT ContextFactory {
|
||||
@@ -200,6 +203,17 @@ class COMPOSITOR_EXPORT ContextFactory {
|
||||
virtual bool SyncTokensRequiredForDisplayCompositor() = 0;
|
||||
};
|
||||
|
||||
@ -1248,7 +1248,7 @@ index 29784c677f4b..6e82af0d6aab 100644
|
||||
// Compositor object to take care of GPU painting.
|
||||
// A Browser compositor object is responsible for generating the final
|
||||
// displayable form of pixels comprising a single widget's contents. It draws an
|
||||
@@ -235,6 +249,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
@@ -242,6 +256,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
// Schedules a redraw of the layer tree associated with this compositor.
|
||||
void ScheduleDraw();
|
||||
|
||||
@ -1258,7 +1258,7 @@ index 29784c677f4b..6e82af0d6aab 100644
|
||||
// Sets the root of the layer tree drawn by this Compositor. The root layer
|
||||
// must have no parent. The compositor's root layer is reset if the root layer
|
||||
// is destroyed. NULL can be passed to reset the root layer, in which case the
|
||||
@@ -348,6 +365,10 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
@@ -355,6 +372,10 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
return task_runner_;
|
||||
}
|
||||
|
||||
@ -1269,7 +1269,7 @@ index 29784c677f4b..6e82af0d6aab 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);
|
||||
@@ -458,6 +479,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
@@ -465,6 +486,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
ui::ContextFactory* context_factory_;
|
||||
ui::ContextFactoryPrivate* context_factory_private_;
|
||||
|
||||
@ -1278,7 +1278,7 @@ index 29784c677f4b..6e82af0d6aab 100644
|
||||
// The root of the Layer tree drawn by this compositor.
|
||||
Layer* root_layer_ = nullptr;
|
||||
|
||||
@@ -492,6 +515,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
@@ -499,6 +522,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
|
||||
ExternalBeginFrameClient* const external_begin_frame_client_;
|
||||
|
||||
@ -1288,10 +1288,10 @@ index 29784c677f4b..6e82af0d6aab 100644
|
||||
|
||||
// The device scale factor of the monitor that this compositor is compositing
|
||||
diff --git ui/compositor/host/host_context_factory_private.cc ui/compositor/host/host_context_factory_private.cc
|
||||
index 8297e1aabe3b..6acb9fa6cdfb 100644
|
||||
index 2b23ed42a933..109841847888 100644
|
||||
--- ui/compositor/host/host_context_factory_private.cc
|
||||
+++ ui/compositor/host/host_context_factory_private.cc
|
||||
@@ -255,6 +255,10 @@ void HostContextFactoryPrivate::SetOutputIsSecure(Compositor* compositor,
|
||||
@@ -254,6 +254,10 @@ void HostContextFactoryPrivate::SetOutputIsSecure(Compositor* compositor,
|
||||
iter->second.display_private->SetOutputIsSecure(secure);
|
||||
}
|
||||
|
||||
@ -1303,7 +1303,7 @@ index 8297e1aabe3b..6acb9fa6cdfb 100644
|
||||
// When running with viz there is no FrameSinkManagerImpl in the browser
|
||||
// process. FrameSinkManagerImpl runs in the GPU process instead. Anything in
|
||||
diff --git ui/compositor/host/host_context_factory_private.h ui/compositor/host/host_context_factory_private.h
|
||||
index a74630258fd5..3a370c422e21 100644
|
||||
index 18cd096449d2..aa25ea058925 100644
|
||||
--- ui/compositor/host/host_context_factory_private.h
|
||||
+++ ui/compositor/host/host_context_factory_private.h
|
||||
@@ -50,6 +50,8 @@ class HostContextFactoryPrivate : public ContextFactoryPrivate {
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git .gn .gn
|
||||
index 0591fc512d52..23d066a9254d 100644
|
||||
index 94ccc332ef23..2eae5c3a0c9f 100644
|
||||
--- .gn
|
||||
+++ .gn
|
||||
@@ -669,6 +669,8 @@ exec_script_whitelist =
|
||||
@@ -666,6 +666,8 @@ exec_script_whitelist =
|
||||
# in the Chromium repo outside of //build.
|
||||
"//build_overrides/build.gni",
|
||||
|
||||
@ -12,7 +12,7 @@ index 0591fc512d52..23d066a9254d 100644
|
||||
# https://crbug.com/474506.
|
||||
"//clank/java/BUILD.gn",
|
||||
diff --git BUILD.gn BUILD.gn
|
||||
index f50c9f99a36e..33be1efac8f0 100644
|
||||
index 40343b6a520a..f59de9f9999e 100644
|
||||
--- BUILD.gn
|
||||
+++ BUILD.gn
|
||||
@@ -189,6 +189,7 @@ group("gn_all") {
|
||||
@ -56,10 +56,10 @@ index 982fbe8d3f0d..e757be4688f1 100644
|
||||
+ "studio path")
|
||||
}
|
||||
diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py
|
||||
index 2c8675206f31..d3e419d8fe98 100644
|
||||
index ef8aeda56458..5b7f057311b9 100644
|
||||
--- build/toolchain/win/setup_toolchain.py
|
||||
+++ build/toolchain/win/setup_toolchain.py
|
||||
@@ -134,22 +134,25 @@ def _LoadToolchainEnv(cpu, sdk_dir, target_store):
|
||||
@@ -136,22 +136,25 @@ def _LoadToolchainEnv(cpu, sdk_dir, target_store):
|
||||
# variable.
|
||||
if 'VSINSTALLDIR' in os.environ:
|
||||
del os.environ['VSINSTALLDIR']
|
||||
@ -100,10 +100,10 @@ index 2c8675206f31..d3e419d8fe98 100644
|
||||
|
||||
|
||||
diff --git build/vs_toolchain.py build/vs_toolchain.py
|
||||
index 1ab7be527726..1467d18c1a81 100755
|
||||
index 0ce237fe1323..6201bbba992c 100755
|
||||
--- build/vs_toolchain.py
|
||||
+++ build/vs_toolchain.py
|
||||
@@ -76,11 +76,18 @@ def SetEnvironmentAndGetRuntimeDllDirs():
|
||||
@@ -78,11 +78,18 @@ def SetEnvironmentAndGetRuntimeDllDirs():
|
||||
runtime_path = os.path.pathsep.join(vs_runtime_dll_dirs)
|
||||
os.environ['PATH'] = runtime_path + os.path.pathsep + os.environ['PATH']
|
||||
elif sys.platform == 'win32' and not depot_tools_win_toolchain:
|
||||
@ -123,10 +123,10 @@ index 1ab7be527726..1467d18c1a81 100755
|
||||
# directory in order to run binaries locally, but they are needed in order
|
||||
# to create isolates or the mini_installer. Copying them to the output
|
||||
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
|
||||
index ca18ca7ca65b..b51ebadccd0d 100644
|
||||
index 803db7cc95fd..e450ba296e77 100644
|
||||
--- chrome/chrome_paks.gni
|
||||
+++ chrome/chrome_paks.gni
|
||||
@@ -263,7 +263,7 @@ template("chrome_paks") {
|
||||
@@ -261,7 +261,7 @@ template("chrome_paks") {
|
||||
}
|
||||
|
||||
input_locales = locales
|
||||
@ -136,7 +136,7 @@ index ca18ca7ca65b..b51ebadccd0d 100644
|
||||
if (is_mac) {
|
||||
output_locales = locales_as_mac_outputs
|
||||
diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn
|
||||
index ec629333b006..981f3f26548d 100644
|
||||
index 397c151b160b..adfc8c0e27b2 100644
|
||||
--- chrome/installer/mini_installer/BUILD.gn
|
||||
+++ chrome/installer/mini_installer/BUILD.gn
|
||||
@@ -134,7 +134,7 @@ template("generate_mini_installer") {
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git tools/gritsettings/resource_ids tools/gritsettings/resource_ids
|
||||
index e823c9b9edfd..2402613c8d44 100644
|
||||
index dc660db144df..6fc116b2c8ff 100644
|
||||
--- tools/gritsettings/resource_ids
|
||||
+++ tools/gritsettings/resource_ids
|
||||
@@ -431,4 +431,11 @@
|
||||
@@ -434,4 +434,11 @@
|
||||
# Please read the header and find the right section above instead.
|
||||
|
||||
# Resource ids starting at 31000 are reserved for projects built on Chromium.
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git ui/base/ime/input_method_win_base.cc ui/base/ime/input_method_win_base.cc
|
||||
index 6b7c3bef62ae..e731d5037a4e 100644
|
||||
index bd7edb13c4d1..8917f77e557e 100644
|
||||
--- ui/base/ime/input_method_win_base.cc
|
||||
+++ ui/base/ime/input_method_win_base.cc
|
||||
@@ -267,8 +267,9 @@ bool InputMethodWinBase::IsWindowFocused(const TextInputClient* client) const {
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git sandbox/linux/suid/client/setuid_sandbox_host.cc sandbox/linux/suid/client/setuid_sandbox_host.cc
|
||||
index 7a103bf7f13c..cd3167ebed09 100644
|
||||
index a277ffa5eb59..3935b9f8c17c 100644
|
||||
--- sandbox/linux/suid/client/setuid_sandbox_host.cc
|
||||
+++ sandbox/linux/suid/client/setuid_sandbox_host.cc
|
||||
@@ -120,7 +120,7 @@ bool SetuidSandboxHost::IsDisabledViaEnvironment() {
|
||||
|
@ -28,7 +28,7 @@ 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 faae7805435a..5101e0d51bf2 100644
|
||||
index 79c24d729c08..1c2b19b75e6b 100644
|
||||
--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
|
||||
+++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
|
||||
@@ -6,6 +6,7 @@
|
||||
@ -61,17 +61,17 @@ index faae7805435a..5101e0d51bf2 100644
|
||||
void ChromeBrowserMainExtraPartsViewsLinux::PreEarlyInitialization() {
|
||||
+#if !BUILDFLAG(ENABLE_CEF)
|
||||
views::LinuxUI* gtk_ui = BuildGtkUi();
|
||||
gtk_ui->SetNativeThemeOverride(base::Bind(&GetNativeThemeForWindow));
|
||||
gtk_ui->SetNativeThemeOverride(base::BindRepeating(&GetNativeThemeForWindow));
|
||||
views::LinuxUI::SetInstance(gtk_ui);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void ChromeBrowserMainExtraPartsViewsLinux::ToolkitInitialized() {
|
||||
diff --git chrome/test/BUILD.gn chrome/test/BUILD.gn
|
||||
index fd7f3e60a599..9678ad4828cf 100644
|
||||
index a4bd99bf7cd1..13b7b96609bf 100644
|
||||
--- chrome/test/BUILD.gn
|
||||
+++ chrome/test/BUILD.gn
|
||||
@@ -4115,7 +4115,7 @@ test("unit_tests") {
|
||||
@@ -4146,7 +4146,7 @@ test("unit_tests") {
|
||||
"../browser/ui/input_method/input_method_engine_unittest.cc",
|
||||
]
|
||||
}
|
||||
@ -80,7 +80,7 @@ index fd7f3e60a599..9678ad4828cf 100644
|
||||
sources +=
|
||||
[ "../browser/ui/libgtkui/select_file_dialog_impl_gtk_unittest.cc" ]
|
||||
deps += [ "//build/config/linux/gtk" ]
|
||||
@@ -4136,7 +4136,7 @@ test("unit_tests") {
|
||||
@@ -4167,7 +4167,7 @@ test("unit_tests") {
|
||||
if (use_gio) {
|
||||
configs += [ "//build/linux:gio_config" ]
|
||||
}
|
||||
@ -89,7 +89,7 @@ index fd7f3e60a599..9678ad4828cf 100644
|
||||
deps += [ "//chrome/browser/ui/libgtkui" ]
|
||||
}
|
||||
|
||||
@@ -5152,7 +5152,7 @@ if (!is_android) {
|
||||
@@ -5184,7 +5184,7 @@ if (!is_android) {
|
||||
# suites, it seems like one or another starts timing out too.
|
||||
"../browser/ui/views/keyboard_access_browsertest.cc",
|
||||
]
|
||||
@ -99,7 +99,7 @@ index fd7f3e60a599..9678ad4828cf 100644
|
||||
"../browser/ui/libgtkui/select_file_dialog_interactive_uitest.cc",
|
||||
]
|
||||
diff --git remoting/host/BUILD.gn remoting/host/BUILD.gn
|
||||
index 647f01cfae49..fdbc8f8d49aa 100644
|
||||
index 7aeefa7b1b89..13fc19218a4c 100644
|
||||
--- remoting/host/BUILD.gn
|
||||
+++ remoting/host/BUILD.gn
|
||||
@@ -351,7 +351,7 @@ static_library("common") {
|
||||
@ -111,7 +111,7 @@ index 647f01cfae49..fdbc8f8d49aa 100644
|
||||
deps += [ "//build/config/linux/gtk" ]
|
||||
}
|
||||
} else {
|
||||
@@ -733,7 +733,7 @@ if (enable_me2me_host) {
|
||||
@@ -734,7 +734,7 @@ if (enable_me2me_host) {
|
||||
deps += [ "//components/policy:generated" ]
|
||||
}
|
||||
|
||||
@ -134,10 +134,10 @@ index ffaaa0b5b423..9fc7f88859a9 100644
|
||||
deps += [ "//build/config/linux/gtk" ]
|
||||
}
|
||||
diff --git remoting/host/it2me/BUILD.gn remoting/host/it2me/BUILD.gn
|
||||
index 39dc46737578..e5cb11d5ef04 100644
|
||||
index e6298a0cb0b2..cee7134af3ec 100644
|
||||
--- remoting/host/it2me/BUILD.gn
|
||||
+++ remoting/host/it2me/BUILD.gn
|
||||
@@ -53,7 +53,7 @@ source_set("common") {
|
||||
@@ -56,7 +56,7 @@ source_set("common") {
|
||||
"//remoting/resources",
|
||||
"//remoting/signaling",
|
||||
]
|
||||
@ -146,7 +146,7 @@ index 39dc46737578..e5cb11d5ef04 100644
|
||||
deps += [
|
||||
"//build/config/linux/gtk",
|
||||
|
||||
@@ -247,7 +247,7 @@ if (!is_chromeos && enable_remoting_host) {
|
||||
@@ -250,7 +250,7 @@ if (!is_chromeos && enable_remoting_host) {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git base/message_loop/message_loop.cc base/message_loop/message_loop.cc
|
||||
index fff922d36819..28fea401be5f 100644
|
||||
index ae58f829393d..453368e55bb7 100644
|
||||
--- base/message_loop/message_loop.cc
|
||||
+++ base/message_loop/message_loop.cc
|
||||
@@ -163,6 +163,9 @@ MessageLoopBase* MessageLoop::GetMessageLoopBase() {
|
||||
@ -25,10 +25,10 @@ index 46782b49a7f0..78ebaf71cbdf 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 c0b2ff7e0ad6..75802589ca01 100644
|
||||
index 7dcab95f6838..4a6ec38e051a 100644
|
||||
--- base/message_loop/message_loop_current.cc
|
||||
+++ base/message_loop/message_loop_current.cc
|
||||
@@ -49,6 +49,8 @@ void MessageLoopCurrent::AddDestructionObserver(
|
||||
@@ -46,6 +46,8 @@ void MessageLoopCurrent::AddDestructionObserver(
|
||||
|
||||
void MessageLoopCurrent::RemoveDestructionObserver(
|
||||
DestructionObserver* destruction_observer) {
|
||||
@ -38,7 +38,7 @@ index c0b2ff7e0ad6..75802589ca01 100644
|
||||
current_->RemoveDestructionObserver(destruction_observer);
|
||||
}
|
||||
diff --git base/message_loop/message_loop_current.h base/message_loop/message_loop_current.h
|
||||
index bcab89d6e2e7..3160b321990e 100644
|
||||
index 1809f870d188..d0e8e645e3a7 100644
|
||||
--- base/message_loop/message_loop_current.h
|
||||
+++ base/message_loop/message_loop_current.h
|
||||
@@ -133,6 +133,12 @@ class BASE_EXPORT MessageLoopCurrent {
|
||||
@ -54,8 +54,8 @@ index bcab89d6e2e7..3160b321990e 100644
|
||||
// Enables or disables the recursive task processing. This happens in the case
|
||||
// of recursive message loops. Some unwanted message loops may occur when
|
||||
// using common controls or printer functions. By default, recursive task
|
||||
@@ -213,6 +219,13 @@ class BASE_EXPORT MessageLoopCurrent {
|
||||
MessageLoopBase* ToMessageLoopBaseDeprecated() const { return current_; }
|
||||
@@ -200,6 +206,13 @@ class BASE_EXPORT MessageLoopCurrent {
|
||||
friend class web::TestWebThreadBundle;
|
||||
|
||||
MessageLoopBase* current_;
|
||||
+
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git BUILD.gn BUILD.gn
|
||||
index 6885fc27d..72f312ac1 100644
|
||||
index f0accf1fe..1799af5c1 100644
|
||||
--- BUILD.gn
|
||||
+++ BUILD.gn
|
||||
@@ -215,6 +215,10 @@ jumbo_static_library("pdfium") {
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/public/common/common_param_traits_macros.h content/public/common/common_param_traits_macros.h
|
||||
index 39ff86491246..163eaec35230 100644
|
||||
index 0886144e1314..6a8e9a997fdc 100644
|
||||
--- content/public/common/common_param_traits_macros.h
|
||||
+++ content/public/common/common_param_traits_macros.h
|
||||
@@ -186,6 +186,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
|
||||
@@ -189,6 +189,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,10 +11,10 @@ index 39ff86491246..163eaec35230 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 b76f327dccca..eecf13a609ca 100644
|
||||
index 1822036e406d..b5f0e63d0b37 100644
|
||||
--- content/public/common/web_preferences.cc
|
||||
+++ content/public/common/web_preferences.cc
|
||||
@@ -168,6 +168,7 @@ WebPreferences::WebPreferences()
|
||||
@@ -169,6 +169,7 @@ WebPreferences::WebPreferences()
|
||||
spatial_navigation_enabled(false),
|
||||
use_solid_color_scrollbars(false),
|
||||
navigate_on_drag_drop(true),
|
||||
@ -23,10 +23,10 @@ index b76f327dccca..eecf13a609ca 100644
|
||||
record_whole_document(false),
|
||||
cookie_enabled(true),
|
||||
diff --git content/public/common/web_preferences.h content/public/common/web_preferences.h
|
||||
index 9052d1d6f4db..acb7027bb637 100644
|
||||
index 2e7285fa9bf8..6b21ff08d887 100644
|
||||
--- content/public/common/web_preferences.h
|
||||
+++ content/public/common/web_preferences.h
|
||||
@@ -183,6 +183,7 @@ struct CONTENT_EXPORT WebPreferences {
|
||||
@@ -185,6 +185,7 @@ struct CONTENT_EXPORT WebPreferences {
|
||||
bool spatial_navigation_enabled;
|
||||
bool use_solid_color_scrollbars;
|
||||
bool navigate_on_drag_drop;
|
||||
@ -35,10 +35,10 @@ index 9052d1d6f4db..acb7027bb637 100644
|
||||
bool record_whole_document;
|
||||
|
||||
diff --git content/renderer/render_view_impl.cc content/renderer/render_view_impl.cc
|
||||
index c748edbf5a32..0d549ad30f4c 100644
|
||||
index 37444267d71f..579f56cd18be 100644
|
||||
--- content/renderer/render_view_impl.cc
|
||||
+++ content/renderer/render_view_impl.cc
|
||||
@@ -1028,6 +1028,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
|
||||
@@ -1025,6 +1025,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
|
||||
#endif
|
||||
|
||||
WebRuntimeFeatures::EnableTranslateService(prefs.translate_service_available);
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/ui/cocoa/applescript/tab_applescript.mm chrome/browser/ui/cocoa/applescript/tab_applescript.mm
|
||||
index 71abc5c50e42..20429f93760a 100644
|
||||
index d4c9283b3cef..4a91987bfe7f 100644
|
||||
--- chrome/browser/ui/cocoa/applescript/tab_applescript.mm
|
||||
+++ chrome/browser/ui/cocoa/applescript/tab_applescript.mm
|
||||
@@ -9,7 +9,7 @@
|
||||
@ -242,10 +242,10 @@ 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 40ea9d21b07a..d45e607cc316 100644
|
||||
index f0e785dc303f..e919b4355307 100644
|
||||
--- components/printing/renderer/print_render_frame_helper.cc
|
||||
+++ components/printing/renderer/print_render_frame_helper.cc
|
||||
@@ -344,7 +344,6 @@ bool IsPrintingNodeOrPdfFrame(const blink::WebLocalFrame* frame,
|
||||
@@ -351,7 +351,6 @@ bool IsPrintingNodeOrPdfFrame(const blink::WebLocalFrame* frame,
|
||||
return plugin && plugin->SupportsPaginatedPrint();
|
||||
}
|
||||
|
||||
@ -253,7 +253,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
// Returns true if the current destination printer is PRINT_TO_PDF.
|
||||
bool IsPrintToPdfRequested(const base::DictionaryValue& job_settings) {
|
||||
bool print_to_pdf = false;
|
||||
@@ -366,7 +365,6 @@ bool PrintingFrameHasPageSizeStyle(blink::WebLocalFrame* frame,
|
||||
@@ -373,7 +372,6 @@ bool PrintingFrameHasPageSizeStyle(blink::WebLocalFrame* frame,
|
||||
}
|
||||
return frame_has_custom_page_size_style;
|
||||
}
|
||||
@ -261,7 +261,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
|
||||
#if BUILDFLAG(ENABLE_PRINTING)
|
||||
// Disable scaling when either:
|
||||
@@ -421,7 +419,6 @@ MarginType GetMarginsForPdf(blink::WebLocalFrame* frame,
|
||||
@@ -428,7 +426,6 @@ MarginType GetMarginsForPdf(blink::WebLocalFrame* frame,
|
||||
: PRINTABLE_AREA_MARGINS;
|
||||
}
|
||||
|
||||
@ -269,7 +269,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
gfx::Size GetPdfPageSize(const gfx::Size& page_size, int dpi) {
|
||||
return gfx::Size(ConvertUnit(page_size.width(), dpi, kPointsPerInch),
|
||||
ConvertUnit(page_size.height(), dpi, kPointsPerInch));
|
||||
@@ -468,7 +465,6 @@ blink::WebPrintScalingOption GetPrintScalingOption(
|
||||
@@ -475,7 +472,6 @@ blink::WebPrintScalingOption GetPrintScalingOption(
|
||||
}
|
||||
return blink::kWebPrintScalingOptionFitToPrintableArea;
|
||||
}
|
||||
@ -277,7 +277,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
|
||||
// Helper function to scale and round an integer value with a double valued
|
||||
// scaling.
|
||||
@@ -1099,10 +1095,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
|
||||
@@ -1108,10 +1104,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
|
||||
return;
|
||||
|
||||
if (g_is_preview_enabled) {
|
||||
@ -288,7 +288,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
} else {
|
||||
auto weak_this = weak_ptr_factory_.GetWeakPtr();
|
||||
web_frame->DispatchBeforePrintEvent();
|
||||
@@ -1130,13 +1124,11 @@ bool PrintRenderFrameHelper::OnMessageReceived(const IPC::Message& message) {
|
||||
@@ -1139,13 +1133,11 @@ bool PrintRenderFrameHelper::OnMessageReceived(const IPC::Message& message) {
|
||||
IPC_BEGIN_MESSAGE_MAP(PrintRenderFrameHelper, message)
|
||||
IPC_MESSAGE_HANDLER(PrintMsg_PrintPages, OnPrintPages)
|
||||
IPC_MESSAGE_HANDLER(PrintMsg_PrintForSystemDialog, OnPrintForSystemDialog)
|
||||
@ -302,7 +302,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
IPC_MESSAGE_HANDLER(PrintMsg_PrintFrameContent, OnPrintFrameContent)
|
||||
IPC_MESSAGE_HANDLER(PrintMsg_SetPrintingEnabled, OnSetPrintingEnabled)
|
||||
IPC_MESSAGE_UNHANDLED(handled = false)
|
||||
@@ -1216,7 +1208,6 @@ void PrintRenderFrameHelper::UpdateFrameMarginsCssInfo(
|
||||
@@ -1225,7 +1217,6 @@ void PrintRenderFrameHelper::UpdateFrameMarginsCssInfo(
|
||||
ignore_css_margins_ = (margins_type != DEFAULT_MARGINS);
|
||||
}
|
||||
|
||||
@ -310,7 +310,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
void PrintRenderFrameHelper::OnPrintPreview(
|
||||
const base::DictionaryValue& settings) {
|
||||
if (ipc_nesting_level_ > 1)
|
||||
@@ -1481,7 +1472,6 @@ int PrintRenderFrameHelper::GetFitToPageScaleFactor(
|
||||
@@ -1490,7 +1481,6 @@ int PrintRenderFrameHelper::GetFitToPageScaleFactor(
|
||||
printable_height / static_cast<double>(uniform_page_size.height);
|
||||
return static_cast<int>(100.0f * std::min(scale_width, scale_height));
|
||||
}
|
||||
@ -318,7 +318,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
|
||||
void PrintRenderFrameHelper::OnPrintingDone(bool success) {
|
||||
if (ipc_nesting_level_ > 1)
|
||||
@@ -1496,7 +1486,6 @@ void PrintRenderFrameHelper::OnSetPrintingEnabled(bool enabled) {
|
||||
@@ -1505,7 +1495,6 @@ void PrintRenderFrameHelper::OnSetPrintingEnabled(bool enabled) {
|
||||
is_printing_enabled_ = enabled;
|
||||
}
|
||||
|
||||
@ -326,7 +326,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
|
||||
if (ipc_nesting_level_ > 1)
|
||||
return;
|
||||
@@ -1507,7 +1496,9 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
|
||||
@@ -1516,7 +1505,9 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
|
||||
// that instead.
|
||||
auto plugin = delegate_->GetPdfElement(frame);
|
||||
if (!plugin.IsNull()) {
|
||||
@ -336,7 +336,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
return;
|
||||
}
|
||||
print_preview_context_.InitWithFrame(frame);
|
||||
@@ -1519,7 +1510,6 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
|
||||
@@ -1528,7 +1519,6 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
|
||||
void PrintRenderFrameHelper::OnClosePrintPreviewDialog() {
|
||||
print_preview_context_.source_frame()->DispatchAfterPrintEvent();
|
||||
}
|
||||
@ -344,7 +344,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
|
||||
void PrintRenderFrameHelper::OnPrintFrameContent(
|
||||
const PrintMsg_PrintFrame_Params& params) {
|
||||
@@ -1603,11 +1593,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
|
||||
@@ -1612,11 +1602,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
|
||||
|
||||
print_node_in_progress_ = true;
|
||||
|
||||
@ -357,7 +357,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
} else {
|
||||
// Make a copy of the node, in case RenderView::OnContextMenuClosed() resets
|
||||
// its |context_menu_node_|.
|
||||
@@ -1683,13 +1671,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
|
||||
@@ -1692,13 +1680,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
|
||||
void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
|
||||
int cookie =
|
||||
print_pages_params_ ? print_pages_params_->params.document_cookie : 0;
|
||||
@ -371,7 +371,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
switch (result) {
|
||||
case OK:
|
||||
break;
|
||||
@@ -1704,7 +1690,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
|
||||
@@ -1713,7 +1699,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
|
||||
}
|
||||
break;
|
||||
|
||||
@ -379,7 +379,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
case FAIL_PREVIEW:
|
||||
if (!is_print_ready_metafile_sent_) {
|
||||
if (notify_browser_of_print_failure_) {
|
||||
@@ -1722,7 +1707,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
|
||||
@@ -1731,7 +1716,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
|
||||
cookie, ids));
|
||||
print_preview_context_.Failed(false);
|
||||
break;
|
||||
@ -387,7 +387,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
}
|
||||
prep_frame_view_.reset();
|
||||
print_pages_params_.reset();
|
||||
@@ -1895,7 +1879,6 @@ bool PrintRenderFrameHelper::CalculateNumberOfPages(blink::WebLocalFrame* frame,
|
||||
@@ -1904,7 +1888,6 @@ bool PrintRenderFrameHelper::CalculateNumberOfPages(blink::WebLocalFrame* frame,
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -395,7 +395,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
bool PrintRenderFrameHelper::SetOptionsFromPdfDocument(
|
||||
PrintHostMsg_SetOptionsFromDocument_Params* options) {
|
||||
blink::WebLocalFrame* source_frame = print_preview_context_.source_frame();
|
||||
@@ -1988,7 +1971,6 @@ bool PrintRenderFrameHelper::UpdatePrintSettings(
|
||||
@@ -1989,7 +1972,6 @@ bool PrintRenderFrameHelper::UpdatePrintSettings(
|
||||
print_preview_context_.set_error(PREVIEW_ERROR_INVALID_PRINTER_SETTINGS);
|
||||
return false;
|
||||
}
|
||||
@ -403,7 +403,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
|
||||
void PrintRenderFrameHelper::GetPrintSettingsFromUser(
|
||||
blink::WebLocalFrame* frame,
|
||||
@@ -2140,7 +2122,6 @@ bool PrintRenderFrameHelper::CopyMetafileDataToReadOnlySharedMem(
|
||||
@@ -2141,7 +2123,6 @@ bool PrintRenderFrameHelper::CopyMetafileDataToReadOnlySharedMem(
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -411,7 +411,7 @@ index 40ea9d21b07a..d45e607cc316 100644
|
||||
void PrintRenderFrameHelper::ShowScriptedPrintPreview() {
|
||||
if (is_scripted_preview_delayed_) {
|
||||
is_scripted_preview_delayed_ = false;
|
||||
@@ -2266,7 +2247,6 @@ bool PrintRenderFrameHelper::PreviewPageRendered(
|
||||
@@ -2267,7 +2248,6 @@ bool PrintRenderFrameHelper::PreviewPageRendered(
|
||||
Send(new PrintHostMsg_DidPreviewPage(routing_id(), preview_page_params, ids));
|
||||
return true;
|
||||
}
|
||||
|
21
patch/patches/remove_component_build_check.patch
Normal file
21
patch/patches/remove_component_build_check.patch
Normal file
@ -0,0 +1,21 @@
|
||||
diff --git build/config/compiler/compiler.gni build/config/compiler/compiler.gni
|
||||
index 2074800ce409..d99fadd7e5c4 100644
|
||||
--- build/config/compiler/compiler.gni
|
||||
+++ build/config/compiler/compiler.gni
|
||||
@@ -253,16 +253,6 @@ if (symbol_level == -1) {
|
||||
}
|
||||
}
|
||||
|
||||
-# Non-component debug builds with symbol_level = 2 are an undesirable (very slow
|
||||
-# build times) and unsupported (some test binaries will fail with > 4 GB PDBs)
|
||||
-# combination. This is only checked when current_toolchain == default_toolchain
|
||||
-# because the is_component_build flag is set to false in various components of
|
||||
-# the build (like nacl) and we don't want to assert on those. asan builds are
|
||||
-# excluded because Mac ASAN Debug builds use this configuration.
|
||||
-assert(symbol_level != 2 || current_toolchain != default_toolchain ||
|
||||
- is_component_build || !is_debug || is_asan,
|
||||
- "Can't do non-component debug builds at symbol_level=2")
|
||||
-
|
||||
# Assert that the configuration isn't going to hit https://crbug.com/648948.
|
||||
# An exception is made when target_os == "chromeos" as we only use the Android
|
||||
# toolchain there to build relatively small binaries.
|
@ -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 cbee55a9f87c..c31a358239ff 100644
|
||||
index 45c4dfa8d3e2..0be00ced462a 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
@@ -738,10 +738,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const {
|
||||
@@ -741,10 +741,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const {
|
||||
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
|
||||
DCHECK(GetBackgroundColor());
|
||||
|
||||
@ -19,7 +19,7 @@ index cbee55a9f87c..c31a358239ff 100644
|
||||
}
|
||||
|
||||
void RenderWidgetHostViewAura::WindowTitleChanged() {
|
||||
@@ -2053,6 +2055,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
|
||||
@@ -2078,6 +2080,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
|
||||
if (frame_sink_id_.is_valid())
|
||||
window_->SetEmbedFrameSinkId(frame_sink_id_);
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git services/service_manager/embedder/main.cc services/service_manager/embedder/main.cc
|
||||
index 46ae0545c0a9..c6f193b7c6dd 100644
|
||||
index 0fbc2149df74..14f5bbb2579c 100644
|
||||
--- services/service_manager/embedder/main.cc
|
||||
+++ services/service_manager/embedder/main.cc
|
||||
@@ -244,22 +244,36 @@ int RunService(MainDelegate* delegate) {
|
||||
@@ -233,22 +233,36 @@ int RunService(MainDelegate* delegate) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ index 46ae0545c0a9..c6f193b7c6dd 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
|
||||
@@ -335,12 +349,7 @@ int Main(const MainParams& params) {
|
||||
@@ -334,12 +348,7 @@ int Main(const MainParams& params) {
|
||||
MainDelegate::InitializeParams init_params;
|
||||
|
||||
#if defined(OS_MACOSX)
|
||||
@ -57,7 +57,7 @@ index 46ae0545c0a9..c6f193b7c6dd 100644
|
||||
InitializeMac();
|
||||
#endif
|
||||
|
||||
@@ -384,18 +393,16 @@ int Main(const MainParams& params) {
|
||||
@@ -383,18 +392,16 @@ int Main(const MainParams& params) {
|
||||
}
|
||||
}
|
||||
|
||||
@ -85,7 +85,7 @@ index 46ae0545c0a9..c6f193b7c6dd 100644
|
||||
switch (process_type) {
|
||||
case ProcessType::kDefault:
|
||||
NOTREACHED();
|
||||
@@ -417,6 +424,8 @@ int Main(const MainParams& params) {
|
||||
@@ -416,6 +423,8 @@ int Main(const MainParams& params) {
|
||||
break;
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ index 46ae0545c0a9..c6f193b7c6dd 100644
|
||||
if (tracker) {
|
||||
if (exit_code == 0) {
|
||||
tracker->SetProcessPhaseIfEnabled(
|
||||
@@ -428,13 +437,38 @@ int Main(const MainParams& params) {
|
||||
@@ -427,13 +436,38 @@ int Main(const MainParams& params) {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,24 +0,0 @@
|
||||
diff --git services/tracing/public/cpp/tracing_features.cc services/tracing/public/cpp/tracing_features.cc
|
||||
index 08887d9243d6..c098a44cf1ad 100644
|
||||
--- services/tracing/public/cpp/tracing_features.cc
|
||||
+++ services/tracing/public/cpp/tracing_features.cc
|
||||
@@ -34,9 +34,16 @@ const base::Feature kTracingServiceInProcess {
|
||||
namespace tracing {
|
||||
|
||||
bool TracingUsesPerfettoBackend() {
|
||||
- return base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
- switches::kEnablePerfetto) ||
|
||||
- base::FeatureList::IsEnabled(features::kTracingPerfettoBackend);
|
||||
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
+ switches::kEnablePerfetto)) {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ if (base::FeatureList::GetInstance()) {
|
||||
+ return base::FeatureList::IsEnabled(features::kTracingPerfettoBackend);
|
||||
+ }
|
||||
+
|
||||
+ return false;
|
||||
}
|
||||
|
||||
} // namespace tracing
|
70
patch/patches/set_resize_background_color.patch
Normal file
70
patch/patches/set_resize_background_color.patch
Normal file
@ -0,0 +1,70 @@
|
||||
diff --git ui/views/controls/native/native_view_host.cc ui/views/controls/native/native_view_host.cc
|
||||
index e64c679eccb4..85d0824e86b9 100644
|
||||
--- ui/views/controls/native/native_view_host.cc
|
||||
+++ ui/views/controls/native/native_view_host.cc
|
||||
@@ -146,7 +146,7 @@ void NativeViewHost::OnPaint(gfx::Canvas* canvas) {
|
||||
// It would be nice if this used some approximation of the page's
|
||||
// current background color.
|
||||
if (native_wrapper_->HasInstalledClip())
|
||||
- canvas->FillRect(GetLocalBounds(), SK_ColorWHITE);
|
||||
+ canvas->FillRect(GetLocalBounds(), resize_background_color_);
|
||||
}
|
||||
|
||||
void NativeViewHost::VisibilityChanged(View* starting_from, bool is_visible) {
|
||||
diff --git ui/views/controls/native/native_view_host.h ui/views/controls/native/native_view_host.h
|
||||
index 1a4bcee29cb6..c7601201aacd 100644
|
||||
--- ui/views/controls/native/native_view_host.h
|
||||
+++ ui/views/controls/native/native_view_host.h
|
||||
@@ -86,6 +86,12 @@ class VIEWS_EXPORT NativeViewHost : public View {
|
||||
void set_fast_resize(bool fast_resize) { fast_resize_ = fast_resize; }
|
||||
bool fast_resize() const { return fast_resize_; }
|
||||
|
||||
+ // Sets the color to paint the background during a resize that involves a
|
||||
+ // clip. This is white by default.
|
||||
+ void set_resize_background_color(SkColor resize_background_color) {
|
||||
+ resize_background_color_ = resize_background_color;
|
||||
+ }
|
||||
+
|
||||
// Value of fast_resize() the last time Layout() was invoked.
|
||||
bool fast_resize_at_last_layout() const {
|
||||
return fast_resize_at_last_layout_;
|
||||
@@ -141,6 +147,9 @@ class VIEWS_EXPORT NativeViewHost : public View {
|
||||
// Value of |fast_resize_| during the last call to Layout.
|
||||
bool fast_resize_at_last_layout_ = false;
|
||||
|
||||
+ // Color to paint in the background while resizing.
|
||||
+ SkColor resize_background_color_ = SK_ColorWHITE;
|
||||
+
|
||||
DISALLOW_COPY_AND_ASSIGN(NativeViewHost);
|
||||
};
|
||||
|
||||
diff --git ui/views/controls/webview/webview.cc ui/views/controls/webview/webview.cc
|
||||
index c77cb52a0aa4..c58c7e8d473d 100644
|
||||
--- ui/views/controls/webview/webview.cc
|
||||
+++ ui/views/controls/webview/webview.cc
|
||||
@@ -121,6 +121,10 @@ void WebView::EnableSizingFromWebContents(const gfx::Size& min_size,
|
||||
MaybeEnableAutoResize();
|
||||
}
|
||||
|
||||
+void WebView::SetResizeBackgroundColor(SkColor resize_background_color) {
|
||||
+ holder_->set_resize_background_color(resize_background_color);
|
||||
+}
|
||||
+
|
||||
void WebView::SetCrashedOverlayView(View* crashed_overlay_view) {
|
||||
if (crashed_overlay_view_ == crashed_overlay_view)
|
||||
return;
|
||||
diff --git ui/views/controls/webview/webview.h ui/views/controls/webview/webview.h
|
||||
index 2d358a9d028f..2a4b4937c160 100644
|
||||
--- ui/views/controls/webview/webview.h
|
||||
+++ ui/views/controls/webview/webview.h
|
||||
@@ -81,6 +81,10 @@ class WEBVIEW_EXPORT WebView : public View,
|
||||
void EnableSizingFromWebContents(const gfx::Size& min_size,
|
||||
const gfx::Size& max_size);
|
||||
|
||||
+ // Set the background color to use while resizing with a clip. This is white
|
||||
+ // by default.
|
||||
+ void SetResizeBackgroundColor(SkColor resize_background_color);
|
||||
+
|
||||
// If provided, this View will be shown in place of the web contents
|
||||
// when the web contents is in a crashed state. This is cleared automatically
|
||||
// if the web contents is changed.
|
@ -52,10 +52,10 @@ index b2b3920da3b0..686afc464b42 100644
|
||||
std::move(stats_db), BrowserFeatureProvider::GetFactoryCB());
|
||||
decode_history = new_decode_history.get();
|
||||
diff --git content/browser/renderer_host/render_process_host_impl.cc content/browser/renderer_host/render_process_host_impl.cc
|
||||
index 221dc8424f85..0366d1682ca7 100644
|
||||
index 9f2665f0587c..514ec596582d 100644
|
||||
--- content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -2222,6 +2222,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
|
||||
@@ -2205,6 +2205,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
|
||||
plugin_registry_.reset(
|
||||
new PluginRegistryImpl(GetBrowserContext()->GetResourceContext()));
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h
|
||||
index ac68abb4ab2a..310f36e807c3 100644
|
||||
index f65a2aeec12f..eac1f0d46692 100644
|
||||
--- base/trace_event/builtin_categories.h
|
||||
+++ base/trace_event/builtin_categories.h
|
||||
@@ -47,6 +47,8 @@
|
||||
|
@ -102,10 +102,10 @@ index 18e57f9823d0..4ec5cb20dabb 100644
|
||||
};
|
||||
|
||||
diff --git ui/views/animation/ink_drop_host_view.h ui/views/animation/ink_drop_host_view.h
|
||||
index 4e20d534c103..096015a4038b 100644
|
||||
index cb9ef740c6f3..aa7de6bb1924 100644
|
||||
--- ui/views/animation/ink_drop_host_view.h
|
||||
+++ ui/views/animation/ink_drop_host_view.h
|
||||
@@ -119,6 +119,8 @@ class VIEWS_EXPORT InkDropHostView : public View {
|
||||
@@ -120,6 +120,8 @@ class VIEWS_EXPORT InkDropHostView : public View {
|
||||
// them.
|
||||
void AnimateInkDrop(InkDropState state, const ui::LocatedEvent* event);
|
||||
|
||||
@ -115,10 +115,10 @@ index 4e20d534c103..096015a4038b 100644
|
||||
// Size used for the default SquareInkDropRipple.
|
||||
static constexpr int kDefaultInkDropSize = 24;
|
||||
diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc
|
||||
index ae8d430460a2..fcf82329ac10 100644
|
||||
index 2be096ee8083..c5510fe90d9c 100644
|
||||
--- ui/views/controls/button/label_button.cc
|
||||
+++ ui/views/controls/button/label_button.cc
|
||||
@@ -185,6 +185,7 @@ gfx::Size LabelButton::CalculatePreferredSize() const {
|
||||
@@ -184,6 +184,7 @@ gfx::Size LabelButton::CalculatePreferredSize() const {
|
||||
Label label(GetText(), {label_->font_list()});
|
||||
label.SetLineHeight(label_->line_height());
|
||||
label.SetShadows(label_->shadows());
|
||||
@ -126,7 +126,7 @@ index ae8d430460a2..fcf82329ac10 100644
|
||||
|
||||
if (style_ == STYLE_BUTTON) {
|
||||
// Some text appears wider when rendered normally than when rendered bold.
|
||||
@@ -380,6 +381,12 @@ void LabelButton::GetAccessibleNodeData(ui::AXNodeData* node_data) {
|
||||
@@ -379,6 +380,12 @@ void LabelButton::GetAccessibleNodeData(ui::AXNodeData* node_data) {
|
||||
Button::GetAccessibleNodeData(node_data);
|
||||
}
|
||||
|
||||
@ -154,10 +154,10 @@ index 46f81be3d27a..249edf8cc5f8 100644
|
||||
ImageView* image() const { return image_; }
|
||||
Label* label() const;
|
||||
diff --git ui/views/controls/label.cc ui/views/controls/label.cc
|
||||
index ef1ed1092eb4..e913d9d50741 100644
|
||||
index 09c24be5fab2..c36455ea1f42 100644
|
||||
--- ui/views/controls/label.cc
|
||||
+++ ui/views/controls/label.cc
|
||||
@@ -43,6 +43,22 @@ bool IsOpaque(SkColor color) {
|
||||
@@ -44,6 +44,22 @@ bool IsOpaque(SkColor color) {
|
||||
|
||||
namespace views {
|
||||
|
||||
@ -180,7 +180,7 @@ index ef1ed1092eb4..e913d9d50741 100644
|
||||
const char Label::kViewClassName[] = "Label";
|
||||
|
||||
Label::Label() : Label(base::string16()) {
|
||||
@@ -202,6 +218,14 @@ void Label::SetElideBehavior(gfx::ElideBehavior elide_behavior) {
|
||||
@@ -205,6 +221,14 @@ void Label::SetElideBehavior(gfx::ElideBehavior elide_behavior) {
|
||||
ResetLayout();
|
||||
}
|
||||
|
||||
@ -195,7 +195,7 @@ index ef1ed1092eb4..e913d9d50741 100644
|
||||
void Label::SetTooltipText(const base::string16& tooltip_text) {
|
||||
DCHECK(handles_tooltips_);
|
||||
tooltip_text_ = tooltip_text;
|
||||
@@ -430,7 +454,19 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
|
||||
@@ -432,7 +456,19 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
|
||||
render_text->SetFontList(font_list());
|
||||
render_text->set_shadows(shadows());
|
||||
render_text->SetCursorEnabled(false);
|
||||
@ -217,10 +217,10 @@ index ef1ed1092eb4..e913d9d50741 100644
|
||||
render_text->SetMaxLines(multi_line() ? max_lines() : 0);
|
||||
render_text->SetWordWrapBehavior(full_text_->word_wrap_behavior());
|
||||
diff --git ui/views/controls/label.h ui/views/controls/label.h
|
||||
index 771034ccebbe..79e3026f6870 100644
|
||||
index 9df5c850d12d..e7007ffbb762 100644
|
||||
--- ui/views/controls/label.h
|
||||
+++ ui/views/controls/label.h
|
||||
@@ -154,6 +154,10 @@ class VIEWS_EXPORT Label : public View,
|
||||
@@ -159,6 +159,10 @@ class VIEWS_EXPORT Label : public View,
|
||||
void SetElideBehavior(gfx::ElideBehavior elide_behavior);
|
||||
gfx::ElideBehavior elide_behavior() const { return elide_behavior_; }
|
||||
|
||||
@ -231,7 +231,7 @@ index 771034ccebbe..79e3026f6870 100644
|
||||
// Sets the tooltip text. Default behavior for a label (single-line) is to
|
||||
// show the full text if it is wider than its bounds. Calling this overrides
|
||||
// the default behavior and lets you set a custom tooltip. To revert to
|
||||
@@ -378,6 +382,7 @@ class VIEWS_EXPORT Label : public View,
|
||||
@@ -387,6 +391,7 @@ class VIEWS_EXPORT Label : public View,
|
||||
bool collapse_when_hidden_;
|
||||
int fixed_width_;
|
||||
int max_width_;
|
||||
@ -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 8a302b528875..8125b5af96c5 100644
|
||||
index cdbd697838bd..18d5d3273a18 100644
|
||||
--- ui/views/controls/menu/menu_controller.cc
|
||||
+++ ui/views/controls/menu/menu_controller.cc
|
||||
@@ -2618,8 +2618,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
|
||||
@@ -2573,8 +2573,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
|
||||
|
||||
void MenuController::OpenSubmenuChangeSelectionIfCan() {
|
||||
MenuItemView* item = pending_state_.item;
|
||||
@ -255,10 +255,10 @@ index 8a302b528875..8125b5af96c5 100644
|
||||
+ base::i18n::IsRTL());
|
||||
return;
|
||||
+ }
|
||||
MenuItemView* to_select = NULL;
|
||||
MenuItemView* to_select = nullptr;
|
||||
if (item->GetSubmenu()->GetMenuItemCount() > 0)
|
||||
to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN);
|
||||
@@ -2638,8 +2643,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
|
||||
@@ -2593,8 +2598,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 e609b8521842..73971df2a441 100644
|
||||
index 57962a8ba4ba..49d84f7c1497 100644
|
||||
--- ui/views/controls/menu/menu_item_view.cc
|
||||
+++ ui/views/controls/menu/menu_item_view.cc
|
||||
@@ -1063,6 +1063,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
|
||||
@@ -1054,6 +1054,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 e609b8521842..73971df2a441 100644
|
||||
} else if (render_selection) {
|
||||
gfx::Rect item_bounds = GetLocalBounds();
|
||||
if (type_ == ACTIONABLE_SUBMENU) {
|
||||
@@ -1129,6 +1138,13 @@ void MenuItemView::PaintMinorIconAndText(
|
||||
@@ -1120,6 +1129,13 @@ void MenuItemView::PaintMinorIconAndText(
|
||||
}
|
||||
|
||||
SkColor MenuItemView::GetTextColor(bool minor, bool render_selection) const {
|
||||
@ -344,10 +344,10 @@ index e609b8521842..73971df2a441 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 03186888c8de..1382571e8d8c 100644
|
||||
index 8b75a57af027..9af49374fd4b 100644
|
||||
--- ui/views/controls/menu/menu_model_adapter.cc
|
||||
+++ ui/views/controls/menu/menu_model_adapter.cc
|
||||
@@ -224,6 +224,77 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
|
||||
@@ -223,6 +223,77 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -426,7 +426,7 @@ index 03186888c8de..1382571e8d8c 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 240525c22b8b..6dcaa7045c3b 100644
|
||||
index 2e4b8f9cdbe8..6b797f0b4dc8 100644
|
||||
--- ui/views/controls/menu/menu_model_adapter.h
|
||||
+++ ui/views/controls/menu/menu_model_adapter.h
|
||||
@@ -84,6 +84,20 @@ class VIEWS_EXPORT MenuModelAdapter : public MenuDelegate,
|
||||
@ -451,7 +451,7 @@ index 240525c22b8b..6dcaa7045c3b 100644
|
||||
void WillHideMenu(MenuItemView* menu) override;
|
||||
void OnMenuClosed(MenuItemView* menu) override;
|
||||
diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc
|
||||
index 43752f51ba8e..f15197713548 100644
|
||||
index 85ae4ec99e76..144c872ec894 100644
|
||||
--- ui/views/controls/menu/menu_scroll_view_container.cc
|
||||
+++ ui/views/controls/menu/menu_scroll_view_container.cc
|
||||
@@ -181,6 +181,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
|
||||
@ -467,7 +467,7 @@ index 43752f51ba8e..f15197713548 100644
|
||||
content_view_->GetMenuItem()->GetMenuController()->GetAnchorPosition());
|
||||
|
||||
diff --git ui/views/test/ui_controls_factory_desktop_aurax11.cc ui/views/test/ui_controls_factory_desktop_aurax11.cc
|
||||
index 0180b30d383a..c0724b6b80a7 100644
|
||||
index df718d54917a..43f53750879d 100644
|
||||
--- ui/views/test/ui_controls_factory_desktop_aurax11.cc
|
||||
+++ ui/views/test/ui_controls_factory_desktop_aurax11.cc
|
||||
@@ -140,10 +140,6 @@ class UIControlsDesktopX11 : public UIControlsAura {
|
||||
@ -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 b0f106e272a6..c89b37be9b63 100644
|
||||
index a93aec7c4493..2d0126bc627d 100644
|
||||
--- ui/views/view.h
|
||||
+++ ui/views/view.h
|
||||
@@ -19,6 +19,7 @@
|
||||
@ -493,7 +493,7 @@ index b0f106e272a6..c89b37be9b63 100644
|
||||
#include "build/build_config.h"
|
||||
#include "third_party/skia/include/core/SkPath.h"
|
||||
#include "ui/accessibility/ax_enums.mojom.h"
|
||||
@@ -119,7 +120,8 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
||||
@@ -148,7 +149,8 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
||||
public ui::AcceleratorTarget,
|
||||
public ui::EventTarget,
|
||||
public ui::EventHandler,
|
||||
|
@ -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 2672a26d934d..d911db336c0f 100644
|
||||
index e43c594742e8..63a16678ba83 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
@@ -571,6 +571,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const {
|
||||
@@ -585,6 +585,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const {
|
||||
return screen_info.device_scale_factor;
|
||||
}
|
||||
|
||||
@ -18,10 +18,10 @@ index 2672a26d934d..d911db336c0f 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 8cdb72afa1bc..ab32e9e06b8c 100644
|
||||
index 4535431ad0c9..3bf8658e5315 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;
|
||||
@@ -83,6 +83,7 @@ class CursorManager;
|
||||
class MouseWheelPhaseHandler;
|
||||
class RenderWidgetHostImpl;
|
||||
class RenderWidgetHostViewBaseObserver;
|
||||
@ -29,7 +29,7 @@ index 8cdb72afa1bc..ab32e9e06b8c 100644
|
||||
class SyntheticGestureTarget;
|
||||
class TextInputManager;
|
||||
class TouchSelectionControllerClientManager;
|
||||
@@ -105,6 +106,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
@@ -104,6 +105,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
float current_device_scale_factor() const {
|
||||
return current_device_scale_factor_;
|
||||
}
|
||||
@ -39,7 +39,7 @@ index 8cdb72afa1bc..ab32e9e06b8c 100644
|
||||
|
||||
// Returns the focused RenderWidgetHost inside this |view|'s RWH.
|
||||
RenderWidgetHostImpl* GetFocusedWidget() const;
|
||||
@@ -139,6 +143,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
@@ -138,6 +142,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
void DisableAutoResize(const gfx::Size& new_size) override;
|
||||
bool IsScrollOffsetAtTop() const override;
|
||||
float GetDeviceScaleFactor() const final;
|
||||
@ -47,8 +47,8 @@ index 8cdb72afa1bc..ab32e9e06b8c 100644
|
||||
+ bool HasExternalParent() const override;
|
||||
TouchSelectionControllerClientManager*
|
||||
GetTouchSelectionControllerClientManager() override;
|
||||
|
||||
@@ -474,6 +480,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
void SetLastTabChangeStartTime(base::TimeTicks start_time) final;
|
||||
@@ -490,6 +496,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 8cdb72afa1bc..ab32e9e06b8c 100644
|
||||
// Sets the cursor for this view to the one associated with the specified
|
||||
// cursor_type.
|
||||
virtual void UpdateCursor(const WebCursor& cursor) = 0;
|
||||
@@ -675,6 +687,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
@@ -686,6 +698,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
|
||||
bool is_currently_scrolling_viewport_ = false;
|
||||
|
||||
@ -103,7 +103,7 @@ 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 d02f832a9945..accbabeae2d2 100644
|
||||
index 300222fde149..2aa14a12eb20 100644
|
||||
--- content/public/browser/render_widget_host_view.h
|
||||
+++ content/public/browser/render_widget_host_view.h
|
||||
@@ -246,6 +246,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
|
||||
@ -122,20 +122,20 @@ index d02f832a9945..accbabeae2d2 100644
|
||||
// Set the view's active state (i.e., tint state of controls).
|
||||
virtual void SetActive(bool active) = 0;
|
||||
diff --git ui/views/widget/desktop_aura/desktop_screen_win.cc ui/views/widget/desktop_aura/desktop_screen_win.cc
|
||||
index f772f64d656e..7d13f9f81b6c 100644
|
||||
index 70553b153c44..ecd99bc78373 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_screen_win.cc
|
||||
+++ ui/views/widget/desktop_aura/desktop_screen_win.cc
|
||||
@@ -32,6 +32,8 @@ display::Display DesktopScreenWin::GetDisplayMatching(
|
||||
@@ -30,6 +30,8 @@ display::Display DesktopScreenWin::GetDisplayMatching(
|
||||
}
|
||||
|
||||
HWND DesktopScreenWin::GetHWNDFromNativeView(gfx::NativeView window) const {
|
||||
+ if (!window)
|
||||
+ return NULL;
|
||||
aura::WindowTreeHost* host = window->GetHost();
|
||||
return host ? host->GetAcceleratedWidget() : NULL;
|
||||
return host ? host->GetAcceleratedWidget() : nullptr;
|
||||
}
|
||||
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 383a23422e76..cf788070202d 100644
|
||||
index b9e903a06bbc..23b1d4ad2d79 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
@@ -90,6 +90,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
|
||||
@ -143,13 +143,13 @@ index 383a23422e76..cf788070202d 100644
|
||||
pending_close_(false),
|
||||
has_non_client_view_(false),
|
||||
+ has_external_parent_(false),
|
||||
tooltip_(NULL) {
|
||||
}
|
||||
tooltip_(nullptr) {}
|
||||
|
||||
@@ -124,8 +125,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
|
||||
DesktopWindowTreeHostWin::~DesktopWindowTreeHostWin() {
|
||||
@@ -123,8 +124,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
|
||||
native_widget_delegate_);
|
||||
|
||||
HWND parent_hwnd = NULL;
|
||||
HWND parent_hwnd = nullptr;
|
||||
- if (params.parent && params.parent->GetHost())
|
||||
+ if (params.parent_widget) {
|
||||
+ parent_hwnd = params.parent_widget;
|
||||
@ -160,7 +160,7 @@ index 383a23422e76..cf788070202d 100644
|
||||
|
||||
remove_standard_frame_ = params.remove_standard_frame;
|
||||
has_non_client_view_ = Widget::RequiresNonClientView(params.type);
|
||||
@@ -892,11 +897,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
|
||||
@@ -894,11 +899,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
|
||||
}
|
||||
|
||||
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
|
||||
@ -179,10 +179,10 @@ index 383a23422e76..cf788070202d 100644
|
||||
|
||||
bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) {
|
||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.h ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
|
||||
index 57fdabdb047a..db7c6b027452 100644
|
||||
index 4a87724d58d4..17c1e62b6585 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
|
||||
@@ -287,6 +287,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
|
||||
@@ -293,6 +293,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
|
||||
// True if the window should have the frame removed.
|
||||
bool remove_standard_frame_;
|
||||
|
||||
@ -194,7 +194,7 @@ 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 6f9892830001..1369d7e367ea 100644
|
||||
index 867867b53ff4..ca7d26a375f1 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
|
||||
@@ -146,6 +146,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
|
||||
@ -205,7 +205,7 @@ index 6f9892830001..1369d7e367ea 100644
|
||||
drag_drop_client_(NULL),
|
||||
native_widget_delegate_(native_widget_delegate),
|
||||
desktop_native_widget_aura_(desktop_native_widget_aura),
|
||||
@@ -158,6 +159,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
|
||||
@@ -159,6 +160,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
|
||||
has_window_focus_(false),
|
||||
has_pointer_focus_(false),
|
||||
modal_dialog_counter_(0),
|
||||
@ -213,7 +213,7 @@ index 6f9892830001..1369d7e367ea 100644
|
||||
close_widget_factory_(this),
|
||||
weak_factory_(this) {}
|
||||
|
||||
@@ -193,6 +195,8 @@ std::vector<aura::Window*> DesktopWindowTreeHostX11::GetAllOpenWindows() {
|
||||
@@ -194,6 +196,8 @@ std::vector<aura::Window*> DesktopWindowTreeHostX11::GetAllOpenWindows() {
|
||||
}
|
||||
|
||||
gfx::Rect DesktopWindowTreeHostX11::GetX11RootWindowBounds() const {
|
||||
@ -222,7 +222,7 @@ index 6f9892830001..1369d7e367ea 100644
|
||||
return bounds_in_pixels_;
|
||||
}
|
||||
|
||||
@@ -503,7 +507,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
|
||||
@@ -504,7 +508,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
|
||||
// Actually free our native resources.
|
||||
if (ui::PlatformEventSource::GetInstance())
|
||||
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
|
||||
@ -232,7 +232,7 @@ index 6f9892830001..1369d7e367ea 100644
|
||||
xwindow_ = x11::None;
|
||||
|
||||
desktop_native_widget_aura_->OnHostClosed();
|
||||
@@ -648,6 +653,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
|
||||
@@ -649,6 +654,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
|
||||
}
|
||||
|
||||
gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const {
|
||||
@ -241,7 +241,7 @@ index 6f9892830001..1369d7e367ea 100644
|
||||
return ToDIPRect(bounds_in_pixels_);
|
||||
}
|
||||
|
||||
@@ -1274,6 +1281,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels(
|
||||
@@ -1277,6 +1284,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels(
|
||||
}
|
||||
|
||||
gfx::Point DesktopWindowTreeHostX11::GetLocationOnScreenInPixels() const {
|
||||
@ -250,7 +250,7 @@ index 6f9892830001..1369d7e367ea 100644
|
||||
return bounds_in_pixels_.origin();
|
||||
}
|
||||
|
||||
@@ -1414,7 +1423,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
|
||||
@@ -1417,7 +1426,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
|
||||
XAtom window_type;
|
||||
switch (params.type) {
|
||||
case Widget::InitParams::TYPE_MENU:
|
||||
@ -258,7 +258,7 @@ index 6f9892830001..1369d7e367ea 100644
|
||||
window_type = gfx::GetAtom("_NET_WM_WINDOW_TYPE_MENU");
|
||||
break;
|
||||
case Widget::InitParams::TYPE_TOOLTIP:
|
||||
@@ -1470,9 +1478,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
|
||||
@@ -1474,9 +1482,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
|
||||
attribute_mask |= CWBorderPixel;
|
||||
swa.border_pixel = 0;
|
||||
|
||||
@ -275,7 +275,7 @@ index 6f9892830001..1369d7e367ea 100644
|
||||
bounds_in_pixels_.y(), bounds_in_pixels_.width(),
|
||||
bounds_in_pixels_.height(),
|
||||
0, // border width
|
||||
@@ -2093,6 +2107,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
|
||||
@@ -2097,6 +2111,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -287,7 +287,7 @@ index 6f9892830001..1369d7e367ea 100644
|
||||
case x11::FocusOut:
|
||||
OnFocusEvent(xev->type == x11::FocusIn, event->xfocus.mode,
|
||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
|
||||
index c547609abf03..5092e2a38b67 100644
|
||||
index ca1a738ce019..3e4908b37f45 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
|
||||
@@ -91,6 +91,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||
@ -324,7 +324,7 @@ index c547609abf03..5092e2a38b67 100644
|
||||
DesktopDragDropClientAuraX11* drag_drop_client_;
|
||||
|
||||
std::unique_ptr<ui::EventHandler> x11_non_client_event_filter_;
|
||||
@@ -454,6 +467,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||
@@ -458,6 +471,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||
|
||||
uint32_t modal_dialog_counter_;
|
||||
|
||||
@ -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 c6c267383674..c66481e65a72 100644
|
||||
index 30cd8d62f5ee..21cabfd06228 100644
|
||||
--- ui/views/widget/widget.cc
|
||||
+++ ui/views/widget/widget.cc
|
||||
@@ -138,6 +138,7 @@ Widget::InitParams::InitParams(Type type)
|
||||
@ -346,7 +346,7 @@ index c6c267383674..c66481e65a72 100644
|
||||
native_widget(nullptr),
|
||||
desktop_window_tree_host(nullptr),
|
||||
layer_type(ui::LAYER_TEXTURED),
|
||||
@@ -310,7 +311,7 @@ void Widget::Init(const InitParams& in_params) {
|
||||
@@ -289,7 +290,7 @@ void Widget::Init(const InitParams& in_params) {
|
||||
params.name = params.delegate->GetContentsView()->GetClassName();
|
||||
|
||||
params.child |= (params.type == InitParams::TYPE_CONTROL);
|
||||
@ -355,7 +355,7 @@ index c6c267383674..c66481e65a72 100644
|
||||
|
||||
if (params.opacity == views::Widget::InitParams::INFER_OPACITY &&
|
||||
params.type != views::Widget::InitParams::TYPE_WINDOW) {
|
||||
@@ -375,7 +376,12 @@ void Widget::Init(const InitParams& in_params) {
|
||||
@@ -354,7 +355,12 @@ void Widget::Init(const InitParams& in_params) {
|
||||
}
|
||||
} else if (params.delegate) {
|
||||
SetContentsView(params.delegate->GetContentsView());
|
||||
@ -369,7 +369,7 @@ index c6c267383674..c66481e65a72 100644
|
||||
}
|
||||
// This must come after SetContentsView() or it might not be able to find
|
||||
// the correct NativeTheme (on Linux). See http://crbug.com/384492
|
||||
@@ -1150,10 +1156,16 @@ void Widget::OnNativeWidgetDestroyed() {
|
||||
@@ -1128,10 +1134,16 @@ void Widget::OnNativeWidgetDestroyed() {
|
||||
}
|
||||
|
||||
gfx::Size Widget::GetMinimumSize() const {
|
||||
@ -387,7 +387,7 @@ index c6c267383674..c66481e65a72 100644
|
||||
}
|
||||
|
||||
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
|
||||
index d04ca53ec52e..f47caf483a7e 100644
|
||||
index 6f1f45fed1b3..063e4c8ac778 100644
|
||||
--- ui/views/widget/widget.h
|
||||
+++ ui/views/widget/widget.h
|
||||
@@ -255,6 +255,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||
@ -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 3703f163d237..83db8b82f960 100644
|
||||
index fb8e820175ac..66c5cb91f7e8 100644
|
||||
--- ui/views/win/hwnd_message_handler.cc
|
||||
+++ ui/views/win/hwnd_message_handler.cc
|
||||
@@ -2916,10 +2916,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
@@ -2918,10 +2918,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.
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
|
||||
index 9ad76884fa8c..d04f8c633384 100644
|
||||
index 249162757a03..070473ae57ab 100644
|
||||
--- content/browser/web_contents/web_contents_impl.cc
|
||||
+++ content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -2068,21 +2068,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
|
||||
@@ -2067,21 +2067,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 9ad76884fa8c..d04f8c633384 100644
|
||||
CHECK(render_view_host_delegate_view_);
|
||||
CHECK(view_.get());
|
||||
|
||||
@@ -2781,6 +2790,15 @@ void WebContentsImpl::CreateNewWindow(
|
||||
@@ -2780,6 +2789,15 @@ void WebContentsImpl::CreateNewWindow(
|
||||
create_params.renderer_initiated_creation =
|
||||
main_frame_route_id != MSG_ROUTING_NONE;
|
||||
|
||||
@ -61,7 +61,7 @@ index 9ad76884fa8c..d04f8c633384 100644
|
||||
std::unique_ptr<WebContents> new_contents;
|
||||
if (!is_guest) {
|
||||
create_params.context = view_->GetNativeView();
|
||||
@@ -2813,7 +2831,7 @@ void WebContentsImpl::CreateNewWindow(
|
||||
@@ -2812,7 +2830,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 9ad76884fa8c..d04f8c633384 100644
|
||||
}
|
||||
// Save the created window associated with the route so we can show it
|
||||
// later.
|
||||
@@ -6377,7 +6395,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
|
||||
@@ -6374,7 +6392,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
|
||||
void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager(
|
||||
RenderViewHost* render_view_host) {
|
||||
RenderWidgetHostViewBase* rwh_view =
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git third_party/blink/public/mojom/plugins/plugin_registry.mojom third_party/blink/public/mojom/plugins/plugin_registry.mojom
|
||||
index 92e9cb865204..4628c56882b4 100644
|
||||
index 0cc3d5b6c9df..a4044788af10 100644
|
||||
--- third_party/blink/public/mojom/plugins/plugin_registry.mojom
|
||||
+++ third_party/blink/public/mojom/plugins/plugin_registry.mojom
|
||||
@@ -34,5 +34,5 @@ interface PluginRegistry {
|
||||
@@ -37,5 +37,5 @@ interface PluginRegistry {
|
||||
//
|
||||
// TODO(crbug.com/850278): We shouldn't rely on the renderer to tell us the main frame origin.
|
||||
[Sync]
|
||||
@ -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 e89fff83c1c7..d6162de6986f 100644
|
||||
index ef373d2abdd3..bdf69253d070 100644
|
||||
--- third_party/blink/public/platform/platform.h
|
||||
+++ third_party/blink/public/platform/platform.h
|
||||
@@ -724,6 +724,11 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
@@ -729,6 +729,11 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
// runs during Chromium's build step).
|
||||
virtual bool IsTakingV8ContextSnapshot() { return false; }
|
||||
|
||||
@ -26,7 +26,7 @@ index e89fff83c1c7..d6162de6986f 100644
|
||||
static void InitializeCommon(Platform* platform,
|
||||
std::unique_ptr<Thread> main_thread);
|
||||
diff --git third_party/blink/renderer/core/dom/dom_implementation.cc third_party/blink/renderer/core/dom/dom_implementation.cc
|
||||
index eff68a91b185..e2487f1aa0dc 100644
|
||||
index 0c51c31103af..fa3b11014ae4 100644
|
||||
--- third_party/blink/renderer/core/dom/dom_implementation.cc
|
||||
+++ third_party/blink/renderer/core/dom/dom_implementation.cc
|
||||
@@ -243,10 +243,11 @@ Document* DOMImplementation::createDocument(const String& type,
|
||||
@ -44,10 +44,10 @@ index eff68a91b185..e2487f1aa0dc 100644
|
||||
.Top()
|
||||
.GetSecurityContext()
|
||||
diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc
|
||||
index c6cc53beb1d4..469869b0ff60 100644
|
||||
index 9101b7bb1c66..c74746199c5d 100644
|
||||
--- third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -1359,7 +1359,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
|
||||
@@ -1318,7 +1318,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
|
||||
PluginData* LocalFrame::GetPluginData() const {
|
||||
if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin))
|
||||
return nullptr;
|
||||
@ -85,10 +85,10 @@ index 13d28689750a..b7c710c747c3 100644
|
||||
|
||||
void DevToolsSession::FlushProtocolNotifications() {
|
||||
diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc
|
||||
index 6c65ef4322bb..d536609c8d09 100644
|
||||
index d10a5881d58e..7461e4ff47f8 100644
|
||||
--- third_party/blink/renderer/core/page/page.cc
|
||||
+++ third_party/blink/renderer/core/page/page.cc
|
||||
@@ -173,7 +173,8 @@ Page::Page(PageClients& page_clients)
|
||||
@@ -175,7 +175,8 @@ Page::Page(PageClients& page_clients)
|
||||
overscroll_controller_(
|
||||
OverscrollController::Create(GetVisualViewport(), GetChromeClient())),
|
||||
link_highlights_(LinkHighlights::Create(*this)),
|
||||
@ -98,7 +98,7 @@ index 6c65ef4322bb..d536609c8d09 100644
|
||||
// TODO(pdr): Initialize |validation_message_client_| lazily.
|
||||
validation_message_client_(ValidationMessageClientImpl::Create(*this)),
|
||||
opened_by_dom_(false),
|
||||
@@ -329,21 +330,40 @@ void Page::InitialStyleChanged() {
|
||||
@@ -332,21 +333,40 @@ void Page::InitialStyleChanged() {
|
||||
}
|
||||
}
|
||||
|
||||
@ -148,7 +148,7 @@ index 6c65ef4322bb..d536609c8d09 100644
|
||||
page->NotifyPluginsChanged();
|
||||
}
|
||||
}
|
||||
@@ -769,7 +789,8 @@ void Page::Trace(blink::Visitor* visitor) {
|
||||
@@ -779,7 +799,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 6c65ef4322bb..d536609c8d09 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 38e73455007f..cae4a0c51d55 100644
|
||||
index b782c201c08a..7e8334d55c97 100644
|
||||
--- third_party/blink/renderer/core/page/page.h
|
||||
+++ third_party/blink/renderer/core/page/page.h
|
||||
@@ -139,7 +139,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
|
||||
@@ -140,7 +140,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 38e73455007f..cae4a0c51d55 100644
|
||||
|
||||
// Resets the plugin data for all pages in the renderer process and notifies
|
||||
// PluginsChangedObservers.
|
||||
@@ -361,7 +362,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
|
||||
@@ -363,7 +364,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
|
||||
const Member<LinkHighlights> link_highlights_;
|
||||
Member<SpatialNavigationController> spatial_navigation_controller_;
|
||||
|
||||
@ -183,10 +183,10 @@ index 38e73455007f..cae4a0c51d55 100644
|
||||
Member<ValidationMessageClient> validation_message_client_;
|
||||
|
||||
diff --git third_party/blink/renderer/core/page/plugin_data.cc third_party/blink/renderer/core/page/plugin_data.cc
|
||||
index 072f97a6f7d7..4c691ceeb068 100644
|
||||
index f333f38a88a8..b981b2234467 100644
|
||||
--- third_party/blink/renderer/core/page/plugin_data.cc
|
||||
+++ third_party/blink/renderer/core/page/plugin_data.cc
|
||||
@@ -88,10 +88,12 @@ void PluginData::RefreshBrowserSidePluginCache() {
|
||||
@@ -90,10 +90,12 @@ void PluginData::RefreshBrowserSidePluginCache() {
|
||||
Platform::Current()->GetInterfaceProvider()->GetInterface(
|
||||
mojo::MakeRequest(®istry));
|
||||
Vector<mojom::blink::PluginInfoPtr> plugins;
|
||||
@ -201,7 +201,7 @@ index 072f97a6f7d7..4c691ceeb068 100644
|
||||
ResetPluginData();
|
||||
main_frame_origin_ = main_frame_origin;
|
||||
|
||||
@@ -99,7 +101,7 @@ void PluginData::UpdatePluginList(const SecurityOrigin* main_frame_origin) {
|
||||
@@ -101,7 +103,7 @@ void PluginData::UpdatePluginList(const SecurityOrigin* main_frame_origin) {
|
||||
Platform::Current()->GetInterfaceProvider()->GetInterface(
|
||||
mojo::MakeRequest(®istry));
|
||||
Vector<mojom::blink::PluginInfoPtr> plugins;
|
||||
@ -211,10 +211,10 @@ index 072f97a6f7d7..4c691ceeb068 100644
|
||||
auto* plugin_info = MakeGarbageCollected<PluginInfo>(
|
||||
plugin->name, FilePathToWebString(plugin->filename),
|
||||
diff --git third_party/blink/renderer/core/page/plugin_data.h third_party/blink/renderer/core/page/plugin_data.h
|
||||
index c25e74204efd..21ca09179da6 100644
|
||||
index 47129faba0c0..8451e98eeaf5 100644
|
||||
--- third_party/blink/renderer/core/page/plugin_data.h
|
||||
+++ third_party/blink/renderer/core/page/plugin_data.h
|
||||
@@ -101,7 +101,8 @@ class CORE_EXPORT PluginData final
|
||||
@@ -102,7 +102,8 @@ class CORE_EXPORT PluginData final
|
||||
const HeapVector<Member<PluginInfo>>& Plugins() const { return plugins_; }
|
||||
const HeapVector<Member<MimeClassInfo>>& Mimes() const { return mimes_; }
|
||||
const SecurityOrigin* Origin() const { return main_frame_origin_.get(); }
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git third_party/blink/renderer/core/input/pointer_event_manager.cc third_party/blink/renderer/core/input/pointer_event_manager.cc
|
||||
index 21f30c6fb608..746d75d2b145 100644
|
||||
index b84e3bdd6679..a0d65d9a65a1 100644
|
||||
--- third_party/blink/renderer/core/input/pointer_event_manager.cc
|
||||
+++ third_party/blink/renderer/core/input/pointer_event_manager.cc
|
||||
@@ -284,7 +284,7 @@ void PointerEventManager::HandlePointerInterruption(
|
||||
@@ -285,7 +285,7 @@ void PointerEventManager::HandlePointerInterruption(
|
||||
for (auto pointer_event : canceled_pointer_events) {
|
||||
// If we are sending a pointercancel we have sent the pointerevent to some
|
||||
// target before.
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h
|
||||
index 61ea5ce43940..776eb720aaae 100644
|
||||
index 36d767e51b2f..4425dfeaa786 100644
|
||||
--- third_party/blink/public/web/web_view.h
|
||||
+++ third_party/blink/public/web/web_view.h
|
||||
@@ -358,6 +358,7 @@ class WebView {
|
||||
@ -11,7 +11,7 @@ index 61ea5ce43940..776eb720aaae 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 8dd8d5e381cf..6b8d2d3c2e19 100644
|
||||
index 92529f378bb2..7ec3894f996c 100644
|
||||
--- third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -234,8 +234,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
|
||||
@ -36,10 +36,10 @@ index 8dd8d5e381cf..6b8d2d3c2e19 100644
|
||||
maximum_zoom_level_(ZoomFactorToZoomLevel(kMaxTextSizeMultiplier)),
|
||||
+ should_use_external_popup_menus_(g_should_use_external_popup_menus),
|
||||
does_composite_(does_composite),
|
||||
fullscreen_controller_(FullscreenController::Create(this)) {
|
||||
fullscreen_controller_(std::make_unique<FullscreenController>(this)) {
|
||||
if (!AsView().client) {
|
||||
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
index 52b62bace7a8..3d962d2880c3 100644
|
||||
index d161ab3cf8af..6b655c488a0a 100644
|
||||
--- third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
+++ third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
@@ -106,7 +106,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@ -52,7 +52,7 @@ index 52b62bace7a8..3d962d2880c3 100644
|
||||
|
||||
// WebView methods:
|
||||
void DidAttachLocalMainFrame(WebWidgetClient*) override;
|
||||
@@ -614,6 +615,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@@ -616,6 +617,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
float fake_page_scale_animation_page_scale_factor_ = 0.f;
|
||||
bool fake_page_scale_animation_use_anchor_ = false;
|
||||
|
||||
@ -62,10 +62,10 @@ index 52b62bace7a8..3d962d2880c3 100644
|
||||
TransformationMatrix device_emulation_transform_;
|
||||
|
||||
diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc
|
||||
index cb0aa3034bad..88cdd25b427b 100644
|
||||
index c9e907264bfe..4b4395144ba5 100644
|
||||
--- third_party/blink/renderer/core/page/chrome_client_impl.cc
|
||||
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc
|
||||
@@ -801,7 +801,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
|
||||
@@ -823,7 +823,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
|
||||
PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame,
|
||||
HTMLSelectElement& select) {
|
||||
NotifyPopupOpeningObservers();
|
||||
|
@ -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 8f60e60d6ad3..ff85f58185f2 100644
|
||||
index ea311eb90f4d..9e4a6ff96c56 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
|
||||
@@ -19,6 +19,7 @@
|
||||
@@ -21,6 +21,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/prefs/pref_service.h"
|
||||
#include "components/sync/driver/about_sync_util.h"
|
||||
@@ -267,6 +268,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
|
||||
#include "components/sync/driver/sync_service.h"
|
||||
@@ -268,6 +269,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
|
||||
}
|
||||
|
||||
void ChromeInternalLogSource::PopulateSyncLogs(SystemLogsResponse* response) {
|
||||
@ -21,7 +21,7 @@ index 8f60e60d6ad3..ff85f58185f2 100644
|
||||
// We are only interested in sync logs for the primary user profile.
|
||||
Profile* profile = ProfileManager::GetPrimaryUserProfile();
|
||||
if (!profile || !ProfileSyncServiceFactory::HasSyncService(profile))
|
||||
@@ -309,6 +314,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
|
||||
@@ -310,6 +315,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
|
||||
if (!profile)
|
||||
return;
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd
|
||||
index ef5304602534..f2921f6f9da7 100644
|
||||
index 563000c780b4..35f019c4d2de 100644
|
||||
--- chrome/app/generated_resources.grd
|
||||
+++ chrome/app/generated_resources.grd
|
||||
@@ -4589,7 +4589,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.">
|
||||
|
@ -3010,8 +3010,8 @@ class CancelBeforeNavTestHandler : public TestHandler {
|
||||
|
||||
got_get_resource_handler_.yes();
|
||||
|
||||
CefPostDelayedTask(
|
||||
TID_UI, base::Bind(&CancelBeforeNavTestHandler::CancelLoad, this), 100);
|
||||
CefPostTask(TID_UI,
|
||||
base::Bind(&CancelBeforeNavTestHandler::CancelLoad, this));
|
||||
|
||||
return new UnstartedSchemeHandler();
|
||||
}
|
||||
@ -3035,7 +3035,10 @@ class CancelBeforeNavTestHandler : public TestHandler {
|
||||
ErrorCode errorCode,
|
||||
const CefString& errorText,
|
||||
const CefString& failedUrl) override {
|
||||
EXPECT_TRUE(false); // Not reached.
|
||||
EXPECT_EQ(GetBrowserId(), browser->GetIdentifier());
|
||||
EXPECT_STREQ("", frame->GetURL().ToString().c_str());
|
||||
EXPECT_EQ(ERR_ABORTED, errorCode);
|
||||
EXPECT_STREQ(kCancelPageUrl, failedUrl.ToString().c_str());
|
||||
got_load_error_.yes();
|
||||
}
|
||||
|
||||
@ -3064,7 +3067,7 @@ class CancelBeforeNavTestHandler : public TestHandler {
|
||||
EXPECT_TRUE(got_get_resource_handler_);
|
||||
EXPECT_FALSE(got_load_start_);
|
||||
EXPECT_TRUE(got_cancel_load_);
|
||||
EXPECT_FALSE(got_load_error_);
|
||||
EXPECT_TRUE(got_load_error_);
|
||||
EXPECT_FALSE(got_load_end_);
|
||||
EXPECT_FALSE(got_loading_state_changed_end_);
|
||||
|
||||
@ -3090,7 +3093,7 @@ class CancelBeforeNavTestHandler : public TestHandler {
|
||||
EXPECT_TRUE(got_get_resource_handler_);
|
||||
EXPECT_FALSE(got_load_start_);
|
||||
EXPECT_TRUE(got_cancel_load_);
|
||||
EXPECT_FALSE(got_load_error_);
|
||||
EXPECT_TRUE(got_load_error_);
|
||||
EXPECT_FALSE(got_load_end_);
|
||||
EXPECT_TRUE(got_loading_state_changed_end_);
|
||||
|
||||
|
@ -824,18 +824,12 @@ class OSRTestHandler : public RoutingTestHandler,
|
||||
const CefRect& expanded_select_rect =
|
||||
GetScaledRect(kExpandedSelectRect);
|
||||
EXPECT_EQ(dirtyRects.size(), 1U);
|
||||
// dirtyRects[0] has a 1px inset.
|
||||
#if defined(OS_MACOSX)
|
||||
const int inset = GetScaledInt(1);
|
||||
#else
|
||||
const int inset = 1;
|
||||
#endif
|
||||
EXPECT_EQ(inset, dirtyRects[0].x);
|
||||
EXPECT_EQ(inset, dirtyRects[0].y);
|
||||
EXPECT_EQ(0, dirtyRects[0].x);
|
||||
EXPECT_EQ(0, dirtyRects[0].y);
|
||||
if (ExpectComputedPopupSize()) {
|
||||
EXPECT_EQ(expanded_select_rect.width - inset * 2,
|
||||
EXPECT_EQ(expanded_select_rect.width,
|
||||
dirtyRects[0].width);
|
||||
EXPECT_EQ(expanded_select_rect.height - inset * 2,
|
||||
EXPECT_EQ(expanded_select_rect.height,
|
||||
dirtyRects[0].height);
|
||||
} else {
|
||||
EXPECT_GT(dirtyRects[0].width, kExpandedSelectRect.width);
|
||||
|
@ -1222,6 +1222,10 @@ class ResponseFilterTestBase : public CefResponseFilter {
|
||||
EXPECT_GT(filter_count_, 0U);
|
||||
}
|
||||
|
||||
virtual void VerifyStatusCode(int httpStatusCode) const {
|
||||
EXPECT_TRUE(httpStatusCode == 0 || httpStatusCode == 200) << httpStatusCode;
|
||||
}
|
||||
|
||||
protected:
|
||||
TrackCallback got_init_filter_;
|
||||
size_t filter_count_;
|
||||
@ -1490,13 +1494,16 @@ class ResponseFilterError : public ResponseFilterTestBase {
|
||||
EXPECT_EQ(UR_FAILED, status);
|
||||
|
||||
// Expect empty content.
|
||||
const std::string& output = std::string(kInputHeader) + kInputFooter;
|
||||
EXPECT_STREQ(output.c_str(), received_content.c_str());
|
||||
EXPECT_STREQ("", received_content.c_str());
|
||||
EXPECT_EQ(0U, received_content_length);
|
||||
|
||||
// Expect to only be called one time.
|
||||
EXPECT_EQ(filter_count_, 1U);
|
||||
}
|
||||
|
||||
void VerifyStatusCode(int httpStatusCode) const override {
|
||||
EXPECT_EQ(ERR_CONTENT_DECODING_FAILED, httpStatusCode);
|
||||
}
|
||||
};
|
||||
|
||||
// Browser side.
|
||||
@ -1550,7 +1557,7 @@ class ResponseFilterTestHandler : public TestHandler {
|
||||
DCHECK(!got_load_end_);
|
||||
got_load_end_.yes();
|
||||
|
||||
EXPECT_TRUE(httpStatusCode == 0 || httpStatusCode == 200);
|
||||
response_filter_->VerifyStatusCode(httpStatusCode);
|
||||
|
||||
GetOutputContent(frame);
|
||||
}
|
||||
|
Reference in New Issue
Block a user