Chromium changes: https://chromium.googlesource.com/chromium/src/+/b802470f2e9a7990d71239cc00c70e27048e6fa3 commit b802470f2e9a7990d71239cc00c70e27048e6fa3 Author: Miyoung shin <myid.shin@igalia.com> Date: Mon Feb 23 22:36:04 2026 -0800 Move CrxInstaller to //extensions. This CL relocates CrxInstaller to //extensions since it no longer depends on //chrome, add interfaces for plumbing interfaces to get Blocklist, InstallStageTracker and InstallTracker from factories created in //chrome. Bug: 358567092 Change-Id: I99827ac0dd76c89cefceacdeed4096c892ba4eba Bypass-Check-License: Moving files Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7547427 Commit-Queue: Miyoung Shin <myid.shin@igalia.com> Reviewed-by: Devlin Cronin <rdevlin.cronin@chromium.org> Reviewed-by: Hidehiko Abe <hidehiko@chromium.org> Cr-Commit-Position: refs/heads/main@{#1589181}
94 lines
3.7 KiB
C++
94 lines
3.7 KiB
C++
/* Copyright (c) 2019 The Brave Authors. All rights reserved.
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "base/memory/scoped_refptr.h"
|
|
#include "base/path_service.h"
|
|
#include "base/test/thread_test_helper.h"
|
|
#include "brave/browser/extensions/brave_extension_functional_test.h"
|
|
#include "brave/components/constants/brave_paths.h"
|
|
#include "brave/components/constants/pref_names.h"
|
|
#include "brave/components/constants/url_constants.h"
|
|
#include "chrome/browser/extensions/extension_browsertest.h"
|
|
#include "chrome/browser/profiles/profile.h"
|
|
#include "chrome/browser/ui/browser.h"
|
|
#include "chrome/test/base/ui_test_utils.h"
|
|
#include "content/public/test/browser_test.h"
|
|
#include "content/public/test/browser_test_utils.h"
|
|
#include "extensions/browser/crx_installer.h"
|
|
|
|
class BraveExtensionProviderTest : public extensions::ExtensionFunctionalTest {
|
|
public:
|
|
void SetUpOnMainThread() override {
|
|
extensions::ExtensionFunctionalTest::SetUpOnMainThread();
|
|
}
|
|
};
|
|
|
|
namespace extensions {
|
|
|
|
// Load an extension page with an ad image, and make sure it is NOT blocked.
|
|
// It would otherwise be blocked though if it wasn't an extension.
|
|
IN_PROC_BROWSER_TEST_F(BraveExtensionProviderTest,
|
|
AdsNotBlockedByDefaultBlockerInExtension) {
|
|
base::FilePath test_data_dir;
|
|
GetTestDataDir(&test_data_dir);
|
|
scoped_refptr<const extensions::Extension> extension =
|
|
InstallExtensionSilently(
|
|
extension_service(),
|
|
test_data_dir.AppendASCII("extension-compat-test-extension.crx"));
|
|
GURL url = GURL(std::string(kChromeExtensionScheme) + "://" +
|
|
extension->id() + "/blocking.html");
|
|
|
|
ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), url));
|
|
content::WebContents* contents =
|
|
browser()->tab_strip_model()->GetActiveWebContents();
|
|
EXPECT_EQ(url, contents->GetURL());
|
|
|
|
EXPECT_EQ(true, content::EvalJs(contents,
|
|
"setExpectations(1, 0, 0, 0);"
|
|
"addImage('ad_banner.png')"));
|
|
EXPECT_EQ(browser()->profile()->GetPrefs()->GetUint64(kAdsBlocked), 0ULL);
|
|
}
|
|
|
|
IN_PROC_BROWSER_TEST_F(BraveExtensionProviderTest, ExtensionsCanGetCookies) {
|
|
base::FilePath test_data_dir;
|
|
GetTestDataDir(&test_data_dir);
|
|
scoped_refptr<const extensions::Extension> extension =
|
|
InstallExtensionSilently(
|
|
extension_service(),
|
|
test_data_dir.AppendASCII("extension-compat-test-extension.crx"));
|
|
GURL url = GURL(std::string(kChromeExtensionScheme) + "://" +
|
|
extension->id() + "/blocking.html");
|
|
|
|
ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), url));
|
|
content::WebContents* contents =
|
|
browser()->tab_strip_model()->GetActiveWebContents();
|
|
EXPECT_EQ(url, contents->GetURL());
|
|
|
|
EXPECT_EQ(true,
|
|
content::EvalJs(contents, "canGetCookie('test', 'http://a.com')"));
|
|
}
|
|
|
|
IN_PROC_BROWSER_TEST_F(BraveExtensionProviderTest, ExtensionsCanSetCookies) {
|
|
base::FilePath test_data_dir;
|
|
GetTestDataDir(&test_data_dir);
|
|
scoped_refptr<const extensions::Extension> extension =
|
|
InstallExtensionSilently(
|
|
extension_service(),
|
|
test_data_dir.AppendASCII("extension-compat-test-extension.crx"));
|
|
GURL url = GURL(std::string(kChromeExtensionScheme) + "://" +
|
|
extension->id() + "/blocking.html");
|
|
|
|
ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), url));
|
|
content::WebContents* contents =
|
|
browser()->tab_strip_model()->GetActiveWebContents();
|
|
EXPECT_EQ(url, contents->GetURL());
|
|
|
|
EXPECT_EQ(true,
|
|
content::EvalJs(contents,
|
|
"canSetCookie('test', 'testval', 'http://a.com')"));
|
|
}
|
|
|
|
} // namespace extensions
|