| Index: content/test/render_view_fake_resources_test.cc
|
| ===================================================================
|
| --- content/test/render_view_fake_resources_test.cc (revision 151499)
|
| +++ content/test/render_view_fake_resources_test.cc (working copy)
|
| @@ -1,213 +0,0 @@
|
| -// Copyright (c) 2012 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 "content/public/test/render_view_fake_resources_test.h"
|
| -
|
| -#include <string.h>
|
| -
|
| -#include "base/process.h"
|
| -#include "base/shared_memory.h"
|
| -#include "base/time.h"
|
| -#include "content/common/resource_messages.h"
|
| -#include "content/common/view_messages.h"
|
| -#include "content/public/common/resource_response.h"
|
| -#include "content/renderer/render_thread_impl.h"
|
| -#include "content/renderer/render_view_impl.h"
|
| -#include "content/renderer/renderer_webkitplatformsupport_impl.h"
|
| -#include "content/test/mock_render_process.h"
|
| -#include "googleurl/src/gurl.h"
|
| -#include "net/base/upload_data.h"
|
| -#include "net/http/http_response_headers.h"
|
| -#include "net/url_request/url_request_status.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebHistoryItem.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURLRequest.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h"
|
| -#include "webkit/dom_storage/dom_storage_types.h"
|
| -#include "webkit/glue/glue_serialize.h"
|
| -#include "webkit/glue/webkit_glue.h"
|
| -
|
| -namespace content {
|
| -
|
| -const int32 RenderViewFakeResourcesTest::kViewId = 5;
|
| -
|
| -RenderViewFakeResourcesTest::RenderViewFakeResourcesTest() {}
|
| -RenderViewFakeResourcesTest::~RenderViewFakeResourcesTest() {}
|
| -
|
| -bool RenderViewFakeResourcesTest::OnMessageReceived(
|
| - const IPC::Message& message) {
|
| - IPC_BEGIN_MESSAGE_MAP(RenderViewFakeResourcesTest, message)
|
| - IPC_MESSAGE_HANDLER(ViewHostMsg_RenderViewReady, OnRenderViewReady)
|
| - IPC_MESSAGE_HANDLER(ViewHostMsg_DidStopLoading, OnDidStopLoading)
|
| - IPC_MESSAGE_HANDLER(ResourceHostMsg_RequestResource, OnRequestResource)
|
| - IPC_END_MESSAGE_MAP()
|
| - return true;
|
| -}
|
| -
|
| -bool RenderViewFakeResourcesTest::Visit(RenderView* render_view) {
|
| - view_ = render_view;
|
| - return false;
|
| -}
|
| -
|
| -void RenderViewFakeResourcesTest::SetUp() {
|
| - // Set up the renderer. This code is largely adapted from
|
| - // render_view_test.cc and renderer_main.cc. Note that we use a
|
| - // MockRenderProcess (because we don't need to use IPC for painting),
|
| - // but we use a real RenderThread so that we can use the ResourceDispatcher
|
| - // to fetch network resources. These are then served canned content
|
| - // in OnRequestResource().
|
| - GetContentClient()->set_renderer_for_testing(&content_renderer_client_);
|
| - // Generate a unique channel id so that multiple instances of the test can
|
| - // run in parallel.
|
| - std::string channel_id = IPC::Channel::GenerateVerifiedChannelID(
|
| - std::string());
|
| - channel_.reset(new IPC::Channel(channel_id,
|
| - IPC::Channel::MODE_SERVER, this));
|
| - ASSERT_TRUE(channel_->Connect());
|
| -
|
| - webkit_glue::SetJavaScriptFlags("--expose-gc");
|
| - mock_process_.reset(new MockRenderProcess);
|
| - sandbox_was_enabled_ =
|
| - RendererWebKitPlatformSupportImpl::SetSandboxEnabledForTesting(false);
|
| - render_thread_ = new RenderThreadImpl(channel_id);
|
| -
|
| - // Tell the renderer to create a view, then wait until it's ready.
|
| - // We can't call View::Create() directly here or else we won't get
|
| - // RenderProcess's lazy initialization of WebKit.
|
| - view_ = NULL;
|
| - ViewMsg_New_Params params;
|
| - params.parent_window = 0;
|
| - params.view_id = kViewId;
|
| - params.opener_route_id = MSG_ROUTING_NONE;
|
| - params.session_storage_namespace_id =
|
| - dom_storage::kInvalidSessionStorageNamespaceId;
|
| - ASSERT_TRUE(channel_->Send(new ViewMsg_New(params)));
|
| - message_loop_.Run();
|
| -}
|
| -
|
| -void RenderViewFakeResourcesTest::TearDown() {
|
| - // Try very hard to collect garbage before shutting down.
|
| - GetMainFrame()->collectGarbage();
|
| - GetMainFrame()->collectGarbage();
|
| -
|
| - ASSERT_TRUE(channel_->Send(new ViewMsg_Close(kViewId)));
|
| - do {
|
| - message_loop_.RunAllPending();
|
| - view_ = NULL;
|
| - RenderView::ForEach(this);
|
| - } while (view_);
|
| -
|
| - mock_process_.reset();
|
| - RendererWebKitPlatformSupportImpl::SetSandboxEnabledForTesting(
|
| - sandbox_was_enabled_);
|
| -}
|
| -
|
| -RenderView* RenderViewFakeResourcesTest::view() {
|
| - return view_;
|
| -}
|
| -
|
| -WebKit::WebFrame* RenderViewFakeResourcesTest::GetMainFrame() {
|
| - return view_->GetWebView()->mainFrame();
|
| -}
|
| -
|
| -void RenderViewFakeResourcesTest::LoadURL(const std::string& url) {
|
| - GURL g_url(url);
|
| - GetMainFrame()->loadRequest(WebKit::WebURLRequest(g_url));
|
| - message_loop_.Run();
|
| -}
|
| -
|
| -void RenderViewFakeResourcesTest::LoadURLWithPost(const std::string& url) {
|
| - GURL g_url(url);
|
| - WebKit::WebURLRequest request(g_url);
|
| - request.setHTTPMethod(WebKit::WebString::fromUTF8("POST"));
|
| - GetMainFrame()->loadRequest(request);
|
| - message_loop_.Run();
|
| -}
|
| -
|
| -void RenderViewFakeResourcesTest::GoBack() {
|
| - GoToOffset(-1, GetMainFrame()->previousHistoryItem());
|
| -}
|
| -
|
| -void RenderViewFakeResourcesTest::GoForward(
|
| - const WebKit::WebHistoryItem& history_item) {
|
| - GoToOffset(1, history_item);
|
| -}
|
| -
|
| -void RenderViewFakeResourcesTest::OnDidStopLoading() {
|
| - message_loop_.Quit();
|
| -}
|
| -
|
| -void RenderViewFakeResourcesTest::OnRequestResource(
|
| - const IPC::Message& message,
|
| - int request_id,
|
| - const ResourceHostMsg_Request& request_data) {
|
| - std::string headers, body;
|
| - std::map<std::string, std::string>::const_iterator it =
|
| - responses_.find(request_data.url.spec());
|
| - if (it == responses_.end()) {
|
| - headers = "HTTP/1.1 404 Not Found\0Content-Type:text/html\0\0";
|
| - body = "content not found";
|
| - } else {
|
| - headers = "HTTP/1.1 200 OK\0Content-Type:text/html\0\0";
|
| - body = it->second;
|
| - }
|
| -
|
| - ResourceResponseHead response_head;
|
| - response_head.headers = new net::HttpResponseHeaders(headers);
|
| - response_head.mime_type = "text/html";
|
| - ASSERT_TRUE(channel_->Send(new ResourceMsg_ReceivedResponse(
|
| - message.routing_id(), request_id, response_head)));
|
| -
|
| - base::SharedMemory shared_memory;
|
| - ASSERT_TRUE(shared_memory.CreateAndMapAnonymous(body.size()));
|
| - memcpy(shared_memory.memory(), body.data(), body.size());
|
| -
|
| - base::SharedMemoryHandle handle;
|
| - ASSERT_TRUE(shared_memory.GiveToProcess(base::Process::Current().handle(),
|
| - &handle));
|
| - ASSERT_TRUE(channel_->Send(new ResourceMsg_DataReceived(
|
| - message.routing_id(),
|
| - request_id,
|
| - handle,
|
| - body.size(),
|
| - body.size())));
|
| -
|
| - ASSERT_TRUE(channel_->Send(new ResourceMsg_RequestComplete(
|
| - message.routing_id(),
|
| - request_id,
|
| - net::URLRequestStatus(),
|
| - std::string(),
|
| - base::TimeTicks())));
|
| -}
|
| -
|
| -void RenderViewFakeResourcesTest::OnRenderViewReady() {
|
| - // Grab a pointer to the new view using RenderViewVisitor.
|
| - ASSERT_TRUE(!view_);
|
| - RenderView::ForEach(this);
|
| - ASSERT_TRUE(view_);
|
| - message_loop_.Quit();
|
| -}
|
| -
|
| -void RenderViewFakeResourcesTest::GoToOffset(
|
| - int offset,
|
| - const WebKit::WebHistoryItem& history_item) {
|
| - RenderViewImpl* impl = static_cast<RenderViewImpl*>(view_);
|
| - ViewMsg_Navigate_Params params;
|
| - params.page_id = impl->GetPageId() + offset;
|
| - params.pending_history_list_offset =
|
| - impl->history_list_offset() + offset;
|
| - params.current_history_list_offset = impl->history_list_offset();
|
| - params.current_history_list_length = (impl->historyBackListCount() +
|
| - impl->historyForwardListCount() + 1);
|
| - params.url = GURL(history_item.urlString());
|
| - params.transition = PAGE_TRANSITION_FORWARD_BACK;
|
| - params.state = webkit_glue::HistoryItemToString(history_item);
|
| - params.navigation_type = ViewMsg_Navigate_Type::NORMAL;
|
| - params.request_time = base::Time::Now();
|
| - channel_->Send(new ViewMsg_Navigate(impl->routing_id(), params));
|
| - message_loop_.Run();
|
| -}
|
| -
|
| -} // namespace content
|
|
|