Revert "ServiceWorker: Read the blob from SW's response to a fetch event"

This reverts commit 21b6636c.

Broke Linux ASAN Tests: http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20Tests%20%28sandboxed%29/builds/2260

BUG=none
TBR=falken@chromium.org

Review URL: https://codereview.chromium.org/313093003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274799 0039d316-1c4b-4281-b951-d872f2087c98
parent 22a4eb8e
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
#include "base/callback.h" #include "base/callback.h"
#include "base/command_line.h" #include "base/command_line.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "content/browser/fileapi/chrome_blob_storage_context.h"
#include "content/browser/service_worker/embedded_worker_instance.h" #include "content/browser/service_worker/embedded_worker_instance.h"
#include "content/browser/service_worker/embedded_worker_registry.h" #include "content/browser/service_worker/embedded_worker_registry.h"
#include "content/browser/service_worker/service_worker_context_core.h" #include "content/browser/service_worker/service_worker_context_core.h"
...@@ -27,9 +26,6 @@ ...@@ -27,9 +26,6 @@
#include "content/public/test/content_browser_test_utils.h" #include "content/public/test/content_browser_test_utils.h"
#include "content/shell/browser/shell.h" #include "content/shell/browser/shell.h"
#include "net/test/embedded_test_server/embedded_test_server.h" #include "net/test/embedded_test_server/embedded_test_server.h"
#include "webkit/browser/blob/blob_data_handle.h"
#include "webkit/browser/blob/blob_storage_context.h"
#include "webkit/common/blob/blob_data.h"
namespace content { namespace content {
...@@ -94,17 +90,6 @@ ServiceWorkerVersion::FetchCallback CreateResponseReceiver( ...@@ -94,17 +90,6 @@ ServiceWorkerVersion::FetchCallback CreateResponseReceiver(
return base::Bind(&ReceiveFetchResult, run_quit_thread, quit, result); return base::Bind(&ReceiveFetchResult, run_quit_thread, quit, result);
} }
void ReadResponseBody(std::string* body,
scoped_refptr<ChromeBlobStorageContext> context,
std::string blob_uuid) {
scoped_ptr<webkit_blob::BlobDataHandle> blob_data_handle =
context->context()->GetBlobDataFromUUID(blob_uuid);
ASSERT_EQ(1U, blob_data_handle->data()->items().size());
*body = std::string(blob_data_handle->data()->items()[0].bytes(),
0,
blob_data_handle->data()->items()[0].length());
}
} // namespace } // namespace
class ServiceWorkerBrowserTest : public ContentBrowserTest { class ServiceWorkerBrowserTest : public ContentBrowserTest {
...@@ -489,14 +474,22 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_Response) { ...@@ -489,14 +474,22 @@ IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_Response) {
expected_headers["Content-Language"] = "fi"; expected_headers["Content-Language"] = "fi";
expected_headers["Content-Type"] = "text/html; charset=UTF-8"; expected_headers["Content-Type"] = "text/html; charset=UTF-8";
EXPECT_EQ(expected_headers, response.headers); EXPECT_EQ(expected_headers, response.headers);
}
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
FetchEvent_FallbackToNative) {
ServiceWorkerFetchEventResult result;
ServiceWorkerResponse response;
FetchTestHelper(
"/service_worker/fetch_event_fallback.js", &result, &response);
ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK, result);
}
scoped_refptr<ChromeBlobStorageContext> context = IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, FetchEvent_Rejected) {
ChromeBlobStorageContext::GetFor( ServiceWorkerFetchEventResult result;
shell()->web_contents()->GetBrowserContext()); ServiceWorkerResponse response;
std::string body; FetchTestHelper("/service_worker/fetch_event_error.js", &result, &response);
RunOnIOThread( ASSERT_EQ(SERVICE_WORKER_FETCH_EVENT_RESULT_FALLBACK, result);
base::Bind(&ReadResponseBody, &body, context, response.blob_uuid));
EXPECT_EQ("This resource is gone. Gone, gone, gone.", body);
} }
IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest, IN_PROC_BROWSER_TEST_F(ServiceWorkerVersionBrowserTest,
......
...@@ -258,7 +258,7 @@ void EmbeddedWorkerContextClient::didHandleFetchEvent( ...@@ -258,7 +258,7 @@ void EmbeddedWorkerContextClient::didHandleFetchEvent(
ServiceWorkerResponse response(web_response.status(), ServiceWorkerResponse response(web_response.status(),
web_response.statusText().utf8(), web_response.statusText().utf8(),
headers, headers,
web_response.blobUUID().utf8()); std::string());
script_context_->DidHandleFetchEvent( script_context_->DidHandleFetchEvent(
request_id, SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, response); request_id, SERVICE_WORKER_FETCH_EVENT_RESULT_RESPONSE, response);
} }
......
...@@ -6,8 +6,7 @@ this.onfetch = function(event) { ...@@ -6,8 +6,7 @@ this.onfetch = function(event) {
var headers = new HeaderMap; var headers = new HeaderMap;
headers.set('Content-Language', 'fi'); headers.set('Content-Language', 'fi');
headers.set('Content-Type', 'text/html; charset=UTF-8'); headers.set('Content-Type', 'text/html; charset=UTF-8');
var blob = new Blob(["This resource is gone. Gone, gone, gone."]); var response = new Response({
var response = new Response(blob, {
status: 301, status: 301,
statusText: 'Moved Permanently', statusText: 'Moved Permanently',
headers: headers headers: headers
......
// Copyright 2014 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.
this.onfetch = function(event) {
event.respondWith(new Promise(resolve, reject) {
reject('rejected!');
});
};
// Copyright 2014 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.
this.onfetch = function(event) {
event.respondWith('This is not a Response object, so browser should ' +
'fallback to native');
};
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
var code = 404; var code = 404;
this.onfetch = function(event) { this.onfetch = function(event) {
response = new Response(new Blob(), { response = new Response({
status: code, status: code,
statusText: 'OK' statusText: 'OK'
}); });
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment