commit: 6c7649fd93de77cbca12344ab4477e99d47a5017 Author: Stephan Hartmann <stha09 <AT> googlemail <DOT> com> AuthorDate: Thu Feb 13 15:00:15 2020 +0000 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> CommitDate: Fri Feb 14 20:12:11 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c7649fd
www-client/chromium: dev channel bump to 81.0.4044.17 Package-Manager: Portage-2.3.84, Repoman-2.3.16 Signed-off-by: Stephan Hartmann <stha09 <AT> googlemail.com> Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org> www-client/chromium/Manifest | 2 +- ....4044.9.ebuild => chromium-81.0.4044.17.ebuild} | 2 - .../files/chromium-81-fix-browser-frame.patch | 35 --- .../chromium/files/chromium-81-gcc-noexcept.patch | 6 +- www-client/chromium/files/chromium-81-mojom.patch | 303 --------------------- 5 files changed, 4 insertions(+), 344 deletions(-) diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index 1f775f4e194..c9a9c178c40 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -1,3 +1,3 @@ DIST chromium-80.0.3987.100.tar.xz 801377116 BLAKE2B 0c99b78794a0c04bcc45fd423d0fabb7db4c9e37ae446b46c33a7b4a98ecc1af9302680e84118809f01dd3bee50b68a301ff0bdd72c5704c028c7984bac812f3 SHA512 b8612693158f9a497723391ed80dd06b152ed71b29e2722a751f94b297e184f09f786405d2c5b460aff6f62c9c6292c673b36019ff72f1fb662cc418cc26127d DIST chromium-80.0.3987.87.tar.xz 801310184 BLAKE2B d051f77b0e6f167632e383e23983531ee1f44f1fce1629f482cf42882c294816bd98c51ad043b5258aa9652a8da14edf278f70fc63f6978c9dfececa547a1fca SHA512 69aebd760d9b8f2c5f4d15a3a144cd4292ffb11b1536af3596f907e730ac64e909d739bb6e9d322a8f56fac75e4f0b2b5c4c36c4fe4bb52147276b5b0dd03620 -DIST chromium-81.0.4044.9.tar.xz 791346280 BLAKE2B 790a8537a7a2a9cc6c209afb570580cc05a8f85bd0f61c4d8c13765f8d776962833468390b5685caac3d3590be1d602298e79961beded8b0b4a2b5b5ab1dcbc7 SHA512 e9fb98a66cea6b65e25dda55cceb687a3697e3810b32c1f5ddfc8341e3289b9077056898984ea07b4cdbe33f2e651a197cb57fa89d484ad728672282e43ca48f +DIST chromium-81.0.4044.17.tar.xz 791446724 BLAKE2B 08d8fc6c6c8788fde868270ca874571a4fff42154e340155d5f1eba3ef615202dabaec4d19250cccc5f7f9c665a0acb0df4f44fda6f1417289a84988e501e60a SHA512 bbcfddd5d44dfa940d40846dc66daaf394f079cd3d238ec57889c0b4cf137f7d4245873fba3e4fb9797f145084ca92d75b594f5d9653103b554d34154a1d3e61 diff --git a/www-client/chromium/chromium-81.0.4044.9.ebuild b/www-client/chromium/chromium-81.0.4044.17.ebuild similarity index 99% rename from www-client/chromium/chromium-81.0.4044.9.ebuild rename to www-client/chromium/chromium-81.0.4044.17.ebuild index b16c58de36f..d69081aa14a 100644 --- a/www-client/chromium/chromium-81.0.4044.9.ebuild +++ b/www-client/chromium/chromium-81.0.4044.17.ebuild @@ -148,8 +148,6 @@ PATCHES=( "${FILESDIR}/chromium-80-gcc-blink.patch" "${FILESDIR}/chromium-81-gcc-noexcept.patch" "${FILESDIR}/chromium-81-gcc-constexpr.patch" - "${FILESDIR}/chromium-81-mojom.patch" - "${FILESDIR}/chromium-81-fix-browser-frame.patch" ) pre_build_checks() { diff --git a/www-client/chromium/files/chromium-81-fix-browser-frame.patch b/www-client/chromium/files/chromium-81-fix-browser-frame.patch deleted file mode 100644 index 6516e1faf1a..00000000000 --- a/www-client/chromium/files/chromium-81-fix-browser-frame.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c73968d63c456d4aaf55c5cd439b42403a3bbeb1 Mon Sep 17 00:00:00 2001 -From: Tom Anderson <thomasander...@chromium.org> -Date: Mon, 03 Feb 2020 19:53:50 +0000 -Subject: [PATCH] Fix browser frame view not getting a relayout after a state change - -views::NonClientView has 2 things: a views::NonClientFrameView and a -views::ClientView. We were previously only invalidating the layout on -the ClientView after a state change. This was causing the browser -frame to paint as if it were still maximized after restoring from -a maximized state on Linux. Invalidating the layout of the frame view -fixes the issue. - -BUG=1046122 -R=sky - -Change-Id: I7da525efe1f436564ffffb410afe294e901e5d89 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2033759 -Reviewed-by: Scott Violet <s...@chromium.org> -Commit-Queue: Thomas Anderson <thomasander...@chromium.org> -Cr-Commit-Position: refs/heads/master@{#737890} ---- - -diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc -index 9abbce8..6c00d49 100644 ---- a/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc -+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc -@@ -717,6 +717,8 @@ - NonClientView* non_client_view = widget->non_client_view(); - // non_client_view may be NULL, especially during creation. - if (non_client_view) { -+ if (non_client_view->frame_view()) -+ non_client_view->frame_view()->InvalidateLayout(); - non_client_view->client_view()->InvalidateLayout(); - non_client_view->InvalidateLayout(); - } diff --git a/www-client/chromium/files/chromium-81-gcc-noexcept.patch b/www-client/chromium/files/chromium-81-gcc-noexcept.patch index 90ecb225709..a6fc8aff72a 100644 --- a/www-client/chromium/files/chromium-81-gcc-noexcept.patch +++ b/www-client/chromium/files/chromium-81-gcc-noexcept.patch @@ -1,10 +1,10 @@ diff --git a/components/paint_preview/browser/paint_preview_client.cc b/components/paint_preview/browser/paint_preview_client.cc -index fc3b5a4..8689acf 100644 +index 38ab6be..dccf07f 100644 --- a/components/paint_preview/browser/paint_preview_client.cc +++ b/components/paint_preview/browser/paint_preview_client.cc -@@ -79,7 +79,7 @@ PaintPreviewClient::PaintPreviewParams::~PaintPreviewParams() = default; - PaintPreviewClient::PaintPreviewData::PaintPreviewData() = default; +@@ -78,7 +78,7 @@ PaintPreviewClient::PaintPreviewData::PaintPreviewData() = default; PaintPreviewClient::PaintPreviewData::~PaintPreviewData() = default; + PaintPreviewClient::PaintPreviewData& PaintPreviewClient::PaintPreviewData:: -operator=(PaintPreviewData&& rhs) noexcept = default; +operator=(PaintPreviewData&& rhs) = default; diff --git a/www-client/chromium/files/chromium-81-mojom.patch b/www-client/chromium/files/chromium-81-mojom.patch deleted file mode 100644 index e6675931fbc..00000000000 --- a/www-client/chromium/files/chromium-81-mojom.patch +++ /dev/null @@ -1,303 +0,0 @@ -Add missing files in tarball. - -diff --git a/chrome/test/data/webui/mojo/OWNERS b/chrome/test/data/webui/mojo/OWNERS -new file mode 100644 -index 000000000000..08850f421205 ---- /dev/null -+++ b/chrome/test/data/webui/mojo/OWNERS -@@ -0,0 +1,2 @@ -+per-file *.mojom=set noparent -+per-file *.mojom=file://ipc/SECURITY_OWNERS -diff --git a/chrome/test/data/webui/mojo/foobar.mojom b/chrome/test/data/webui/mojo/foobar.mojom -new file mode 100644 -index 000000000000..446d365af8fb ---- /dev/null -+++ b/chrome/test/data/webui/mojo/foobar.mojom -@@ -0,0 +1,16 @@ -+// Copyright 2019 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+// Test Mojo interfaces for MojoWebUIControllerBrowserTest. -+ -+module test.mojom; -+ -+interface Foo { -+ GetFoo() => (string value); -+}; -+ -+interface Bar { -+ GetBar() => (string value); -+}; -+ -diff --git a/chrome/test/data/webui/mojo/mojo_web_ui_controller_browsertest.cc b/chrome/test/data/webui/mojo/mojo_web_ui_controller_browsertest.cc -new file mode 100644 -index 000000000000..658a54ace278 ---- /dev/null -+++ b/chrome/test/data/webui/mojo/mojo_web_ui_controller_browsertest.cc -@@ -0,0 +1,253 @@ -+// Copyright 2019 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#include "ui/webui/mojo_web_ui_controller.h" -+ -+#include "base/memory/ref_counted_memory.h" -+#include "base/path_service.h" -+#include "base/run_loop.h" -+#include "base/threading/sequenced_task_runner_handle.h" -+#include "chrome/browser/bad_message.h" -+#include "chrome/browser/chrome_browser_interface_binders.h" -+#include "chrome/browser/chrome_content_browser_client.h" -+#include "chrome/browser/ui/browser.h" -+#include "chrome/browser/ui/tabs/tab_strip_model.h" -+#include "chrome/test/base/in_process_browser_test.h" -+#include "chrome/test/data/grit/webui_test_resources.h" -+#include "chrome/test/data/webui/mojo/foobar.mojom.h" -+#include "content/public/browser/render_process_host.h" -+#include "content/public/browser/render_process_host_observer.h" -+#include "content/public/browser/web_contents.h" -+#include "content/public/browser/web_ui_controller_factory.h" -+#include "content/public/browser/web_ui_data_source.h" -+#include "content/public/common/content_client.h" -+#include "content/public/common/url_constants.h" -+#include "content/public/test/browser_test_utils.h" -+#include "content/public/test/no_renderer_crashes_assertion.h" -+#include "content/public/test/test_utils.h" -+#include "services/service_manager/public/cpp/binder_map.h" -+#include "testing/gtest/include/gtest/gtest.h" -+#include "ui/base/resource/resource_bundle.h" -+#include "url/gurl.h" -+ -+namespace { -+ -+// WebUIController that provides the Foo Mojo API. -+class FooUI : public ui::MojoWebUIController, public ::test::mojom::Foo { -+ public: -+ explicit FooUI(content::WebUI* web_ui) -+ : ui::MojoWebUIController(web_ui), foo_receiver_(this) { -+ content::WebUIDataSource* data_source = -+ content::WebUIDataSource::Create("foo"); -+ data_source->SetDefaultResource(IDR_MOJO_WEB_UI_CONTROLLER_TEST_HTML); -+ data_source->DisableContentSecurityPolicy(); -+ data_source->AddResourcePath("foobar.mojom-lite.js", -+ IDR_FOOBAR_MOJO_LITE_JS); -+ content::WebUIDataSource::Add(web_ui->GetWebContents()->GetBrowserContext(), -+ data_source); -+ } -+ -+ void BindInterface(mojo::PendingReceiver<::test::mojom::Foo> receiver) { -+ foo_receiver_.Bind(std::move(receiver)); -+ } -+ -+ // ::test::mojom::Foo: -+ void GetFoo(GetFooCallback callback) override { -+ std::move(callback).Run("foofoo"); -+ } -+ -+ WEB_UI_CONTROLLER_TYPE_DECL(); -+ -+ private: -+ mojo::Receiver<::test::mojom::Foo> foo_receiver_; -+ -+ DISALLOW_COPY_AND_ASSIGN(FooUI); -+}; -+ -+WEB_UI_CONTROLLER_TYPE_IMPL(FooUI) -+ -+// WebUIController that provides the Foo and Bar Mojo APIs. -+class FooBarUI : public ui::MojoWebUIController, -+ public ::test::mojom::Foo, -+ public ::test::mojom::Bar { -+ public: -+ explicit FooBarUI(content::WebUI* web_ui) -+ : ui::MojoWebUIController(web_ui), -+ foo_receiver_(this), -+ bar_receiver_(this) { -+ content::WebUIDataSource* data_source = -+ content::WebUIDataSource::Create("foobar"); -+ data_source->SetDefaultResource(IDR_MOJO_WEB_UI_CONTROLLER_TEST_HTML); -+ data_source->DisableContentSecurityPolicy(); -+ data_source->AddResourcePath("foobar.mojom-lite.js", -+ IDR_FOOBAR_MOJO_LITE_JS); -+ content::WebUIDataSource::Add(web_ui->GetWebContents()->GetBrowserContext(), -+ data_source); -+ } -+ -+ void BindInterface(mojo::PendingReceiver<::test::mojom::Foo> receiver) { -+ foo_receiver_.Bind(std::move(receiver)); -+ } -+ -+ void BindInterface(mojo::PendingReceiver<::test::mojom::Bar> receiver) { -+ bar_receiver_.Bind(std::move(receiver)); -+ } -+ -+ // ::test::mojom::Foo: -+ void GetFoo(GetFooCallback callback) override { -+ std::move(callback).Run("foobarfoo"); -+ } -+ -+ // ::test::mojom::Bar: -+ void GetBar(GetBarCallback callback) override { -+ std::move(callback).Run("foobarbar"); -+ } -+ -+ WEB_UI_CONTROLLER_TYPE_DECL(); -+ -+ private: -+ mojo::Receiver<::test::mojom::Foo> foo_receiver_; -+ mojo::Receiver<::test::mojom::Bar> bar_receiver_; -+ -+ DISALLOW_COPY_AND_ASSIGN(FooBarUI); -+}; -+ -+WEB_UI_CONTROLLER_TYPE_IMPL(FooBarUI) -+ -+// WebUIControllerFactory that serves our TestWebUIController. -+class TestWebUIControllerFactory : public content::WebUIControllerFactory { -+ public: -+ TestWebUIControllerFactory() = default; -+ -+ std::unique_ptr<content::WebUIController> CreateWebUIControllerForURL( -+ content::WebUI* web_ui, -+ const GURL& url) override { -+ if (url.host_piece() == "foo") -+ return std::make_unique<FooUI>(web_ui); -+ if (url.host_piece() == "foobar") -+ return std::make_unique<FooBarUI>(web_ui); -+ -+ return nullptr; -+ } -+ -+ content::WebUI::TypeID GetWebUIType(content::BrowserContext* browser_context, -+ const GURL& url) override { -+ if (url.SchemeIs(content::kChromeUIScheme)) -+ return reinterpret_cast<content::WebUI::TypeID>(1); -+ -+ return content::WebUI::kNoWebUI; -+ } -+ -+ bool UseWebUIForURL(content::BrowserContext* browser_context, -+ const GURL& url) override { -+ return url.SchemeIs(content::kChromeUIScheme); -+ } -+ bool UseWebUIBindingsForURL(content::BrowserContext* browser_context, -+ const GURL& url) override { -+ return url.SchemeIs(content::kChromeUIScheme); -+ } -+ -+ private: -+ DISALLOW_COPY_AND_ASSIGN(TestWebUIControllerFactory); -+}; -+ -+} // namespace -+ -+class MojoWebUIControllerBrowserTest : public InProcessBrowserTest { -+ public: -+ MojoWebUIControllerBrowserTest() { -+ factory_ = std::make_unique<TestWebUIControllerFactory>(); -+ content::WebUIControllerFactory::RegisterFactory(factory_.get()); -+ } -+ -+ void SetUpOnMainThread() override { -+ base::FilePath pak_path; -+ ASSERT_TRUE(base::PathService::Get(base::DIR_MODULE, &pak_path)); -+ pak_path = pak_path.AppendASCII("browser_tests.pak"); -+ ui::ResourceBundle::GetSharedInstance().AddDataPackFromPath( -+ pak_path, ui::SCALE_FACTOR_NONE); -+ -+ content::SetBrowserClientForTesting(&test_content_browser_client_); -+ } -+ -+ private: -+ class TestContentBrowserClient : public ChromeContentBrowserClient { -+ public: -+ TestContentBrowserClient() = default; -+ TestContentBrowserClient(const TestContentBrowserClient&) = delete; -+ TestContentBrowserClient& operator=(const TestContentBrowserClient&) = -+ delete; -+ ~TestContentBrowserClient() override = default; -+ -+ void RegisterBrowserInterfaceBindersForFrame( -+ content::RenderFrameHost* render_frame_host, -+ service_manager::BinderMapWithContext<content::RenderFrameHost*>* map) -+ override { -+ ChromeContentBrowserClient::RegisterBrowserInterfaceBindersForFrame( -+ render_frame_host, map); -+ chrome::internal::RegisterWebUIControllerInterfaceBinder< -+ ::test::mojom::Bar, FooBarUI>(map); -+ chrome::internal::RegisterWebUIControllerInterfaceBinder< -+ ::test::mojom::Foo, FooUI, FooBarUI>(map); -+ } -+ }; -+ -+ std::unique_ptr<TestWebUIControllerFactory> factory_; -+ -+ TestContentBrowserClient test_content_browser_client_; -+}; -+ -+// Attempting to access bindings succeeds for 2 allowed interfaces. -+IN_PROC_BROWSER_TEST_F(MojoWebUIControllerBrowserTest, BindingsAccess) { -+ content::WebContents* web_contents = -+ browser()->tab_strip_model()->GetActiveWebContents(); -+ -+ ASSERT_TRUE(NavigateToURL(web_contents, content::GetWebUIURL("foobar"))); -+ -+ EXPECT_EQ("foobarfoo", -+ content::EvalJs(web_contents, -+ "(async () => {" -+ " let fooRemote = test.mojom.Foo.getRemote(true);" -+ " let resp = await fooRemote.getFoo();" -+ " return resp.value;" -+ "})()")); -+ -+ EXPECT_EQ("foobarbar", -+ content::EvalJs(web_contents, -+ "(async () => {" -+ " let barRemote = test.mojom.Bar.getRemote(true);" -+ " let resp = await barRemote.getBar();" -+ " return resp.value;" -+ "})()")); -+} -+ -+// Attempting to access bindings crashes the renderer when access not allowed. -+IN_PROC_BROWSER_TEST_F(MojoWebUIControllerBrowserTest, -+ BindingsAccessViolation) { -+ content::WebContents* web_contents = -+ browser()->tab_strip_model()->GetActiveWebContents(); -+ -+ ASSERT_TRUE(NavigateToURL(web_contents, content::GetWebUIURL("foo"))); -+ -+ EXPECT_EQ("foofoo", -+ content::EvalJs(web_contents, -+ "(async () => {" -+ " let fooRemote = test.mojom.Foo.getRemote(true);" -+ " let resp = await fooRemote.getFoo();" -+ " return resp.value;" -+ "})()")); -+ -+ content::ScopedAllowRendererCrashes allow; -+ -+ // Attempt to get a remote for a disallowed interface. -+ EXPECT_FALSE( -+ content::EvalJs(web_contents, -+ "(async () => {" -+ " let barRemote = test.mojom.Bar.getRemote(true);" -+ " let resp = await barRemote.getBar();" -+ " return resp.value;" -+ "})()") -+ .error.empty()); -+ EXPECT_TRUE(web_contents->IsCrashed()); -+} -diff --git a/chrome/test/data/webui/mojo/mojo_web_ui_controller_test.html b/chrome/test/data/webui/mojo/mojo_web_ui_controller_test.html -new file mode 100644 -index 000000000000..4638ebc261c7 ---- /dev/null -+++ b/chrome/test/data/webui/mojo/mojo_web_ui_controller_test.html -@@ -0,0 +1,6 @@ -+<html> -+<head> -+<script src="chrome://resources/mojo/mojo/public/js/mojo_bindings_lite.js"></script> -+<script src="/foobar.mojom-lite.js"></script> -+</head> -+</html>