| Index: content/browser/background_sync/background_sync_browsertest.cc
|
| diff --git a/content/browser/background_sync/background_sync_browsertest.cc b/content/browser/background_sync/background_sync_browsertest.cc
|
| index 1ec713c21dfa9c9b64d40312aa1c4ab1f45d3133..d5b17e71c1da1125811d85a42e5f8a23d60adcd5 100644
|
| --- a/content/browser/background_sync/background_sync_browsertest.cc
|
| +++ b/content/browser/background_sync/background_sync_browsertest.cc
|
| @@ -38,6 +38,8 @@ namespace content {
|
| namespace {
|
|
|
| const char kDefaultTestURL[] = "/background_sync/test.html";
|
| +const char kEmptyURL[] = "/background_sync/empty.html";
|
| +const char kRegisterSyncURL[] = "/background_sync/register_sync.html";
|
|
|
| const char kSuccessfulOperationPrefix[] = "ok - ";
|
|
|
| @@ -188,6 +190,8 @@ class BackgroundSyncBrowserTest : public ContentBrowserTest {
|
| bool CompleteDelayedOneShot();
|
| bool RejectDelayedOneShot();
|
|
|
| + net::EmbeddedTestServer* https_server() { return https_server_.get(); }
|
| +
|
| private:
|
| scoped_ptr<net::EmbeddedTestServer> https_server_;
|
| Shell* shell_ = nullptr;
|
| @@ -620,4 +624,31 @@ IN_PROC_BROWSER_TEST_F(BackgroundSyncBrowserTest, VerifyRetry) {
|
| EXPECT_TRUE(OneShotPending("delay"));
|
| }
|
|
|
| +IN_PROC_BROWSER_TEST_F(BackgroundSyncBrowserTest, RegisterFromNonMainFrame) {
|
| + std::string script_result;
|
| + GURL url = https_server()->GetURL(kEmptyURL);
|
| + EXPECT_TRUE(
|
| + RunScript(BuildScriptString("registerOneShotFromLocalFrame", url.spec()),
|
| + &script_result));
|
| + EXPECT_EQ(BuildExpectedResult("iframe", "failed to register sync"),
|
| + script_result);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(BackgroundSyncBrowserTest,
|
| + RegisterFromServiceWorkerWithoutMainFrameHost) {
|
| + // Start a second https server to use as a second origin.
|
| + net::EmbeddedTestServer alt_server(net::EmbeddedTestServer::TYPE_HTTPS);
|
| + alt_server.ServeFilesFromSourceDirectory("content/test/data");
|
| + ASSERT_TRUE(alt_server.Start());
|
| +
|
| + std::string script_result;
|
| + GURL url = alt_server.GetURL(kRegisterSyncURL);
|
| + EXPECT_TRUE(
|
| + RunScript(BuildScriptString("registerOneShotFromCrossOriginServiceWorker",
|
| + url.spec()),
|
| + &script_result));
|
| + EXPECT_EQ(BuildExpectedResult("worker", "failed to register sync"),
|
| + script_result);
|
| +}
|
| +
|
| } // namespace content
|
|
|