1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/chooser_controller/title_util.h"
#include "base/files/file_path.h"
#include "base/strings/strcat.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/test/popup_test_base.h"
#include "components/strings/grit/components_strings.h"
#include "components/url_formatter/elide_url.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/test/browser_test.h"
#include "content/public/test/browser_test_utils.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "url/origin.h"
constexpr int kTitleResourceId = IDS_USB_DEVICE_CHOOSER_PROMPT;
class CreateChooserTitlePopUpBrowserTest
: public PopupTestBase,
public ::testing::WithParamInterface<bool> {
protected:
void SetUp() override {
server_ = std::make_unique<net::EmbeddedTestServer>(
net::EmbeddedTestServer::TYPE_HTTPS);
base::FilePath server_root(FILE_PATH_LITERAL("chrome/test/data"));
server_->AddDefaultHandlers(server_root);
CHECK(server_->Start());
PopupTestBase::SetUp();
}
net::EmbeddedTestServer* server() { return server_.get(); }
private:
std::unique_ptr<net::EmbeddedTestServer> server_;
};
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(
CreateChooserTitlePopUpBrowserTest);
IN_PROC_BROWSER_TEST_F(CreateChooserTitlePopUpBrowserTest,
UseOriginNotUrl) {
ASSERT_TRUE(
NavigateToURL(browser()->tab_strip_model()->GetActiveWebContents(),
server()->GetURL("/simple.html")));
std::string script("open('', '_blank', 'popup,fullscreen')");
Browser* popup_browser = OpenPopup(browser(), script);
ASSERT_TRUE(popup_browser);
content::RenderFrameHost* rfh = popup_browser->tab_strip_model()
->GetActiveWebContents()
->GetPrimaryMainFrame();
ASSERT_TRUE(rfh);
EXPECT_EQ(rfh->GetLastCommittedOrigin(), server()->GetOrigin());
EXPECT_TRUE(rfh->GetLastCommittedURL().IsAboutBlank());
std::u16string expected_string =
base::StrCat({url_formatter::FormatOriginForSecurityDisplay(
server()->GetOrigin(),
url_formatter::SchemeDisplay::OMIT_CRYPTOGRAPHIC),
u" wants to connect"});
EXPECT_EQ(expected_string, CreateChooserTitle(rfh, kTitleResourceId));
}
|