Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(371)

Side by Side Diff: content/renderer/render_view_browsertest.cc

Issue 251903006: Attempt 2 to enable async data: URL loading. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix translation tests Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/public/test/render_view_test.cc ('k') | content/test/frame_load_waiter.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/bind.h" 6 #include "base/bind.h"
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/memory/shared_memory.h" 8 #include "base/memory/shared_memory.h"
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 17 matching lines...) Expand all
28 #include "content/public/test/render_view_test.h" 28 #include "content/public/test/render_view_test.h"
29 #include "content/public/test/test_utils.h" 29 #include "content/public/test/test_utils.h"
30 #include "content/renderer/accessibility/renderer_accessibility.h" 30 #include "content/renderer/accessibility/renderer_accessibility.h"
31 #include "content/renderer/accessibility/renderer_accessibility_complete.h" 31 #include "content/renderer/accessibility/renderer_accessibility_complete.h"
32 #include "content/renderer/accessibility/renderer_accessibility_focus_only.h" 32 #include "content/renderer/accessibility/renderer_accessibility_focus_only.h"
33 #include "content/renderer/history_controller.h" 33 #include "content/renderer/history_controller.h"
34 #include "content/renderer/history_serialization.h" 34 #include "content/renderer/history_serialization.h"
35 #include "content/renderer/render_view_impl.h" 35 #include "content/renderer/render_view_impl.h"
36 #include "content/shell/browser/shell.h" 36 #include "content/shell/browser/shell.h"
37 #include "content/shell/browser/shell_browser_context.h" 37 #include "content/shell/browser/shell_browser_context.h"
38 #include "content/test/frame_load_waiter.h"
38 #include "content/test/mock_keyboard.h" 39 #include "content/test/mock_keyboard.h"
39 #include "net/base/net_errors.h" 40 #include "net/base/net_errors.h"
40 #include "net/cert/cert_status_flags.h" 41 #include "net/cert/cert_status_flags.h"
41 #include "testing/gtest/include/gtest/gtest.h" 42 #include "testing/gtest/include/gtest/gtest.h"
42 #include "third_party/WebKit/public/platform/WebData.h" 43 #include "third_party/WebKit/public/platform/WebData.h"
43 #include "third_party/WebKit/public/platform/WebHTTPBody.h" 44 #include "third_party/WebKit/public/platform/WebHTTPBody.h"
44 #include "third_party/WebKit/public/platform/WebString.h" 45 #include "third_party/WebKit/public/platform/WebString.h"
45 #include "third_party/WebKit/public/platform/WebURLResponse.h" 46 #include "third_party/WebKit/public/platform/WebURLResponse.h"
46 #include "third_party/WebKit/public/web/WebDataSource.h" 47 #include "third_party/WebKit/public/web/WebDataSource.h"
47 #include "third_party/WebKit/public/web/WebHistoryItem.h" 48 #include "third_party/WebKit/public/web/WebHistoryItem.h"
(...skipping 1959 matching lines...) Expand 10 before | Expand all | Expand 10 after
2007 FrameMsg_Navigate_Params nav_params; 2008 FrameMsg_Navigate_Params nav_params;
2008 nav_params.url = GURL("data:text/html,world"); 2009 nav_params.url = GURL("data:text/html,world");
2009 nav_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 2010 nav_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
2010 nav_params.transition = PAGE_TRANSITION_TYPED; 2011 nav_params.transition = PAGE_TRANSITION_TYPED;
2011 nav_params.current_history_list_length = 1; 2012 nav_params.current_history_list_length = 1;
2012 nav_params.current_history_list_offset = 0; 2013 nav_params.current_history_list_offset = 0;
2013 nav_params.pending_history_list_offset = 1; 2014 nav_params.pending_history_list_offset = 1;
2014 nav_params.page_id = -1; 2015 nav_params.page_id = -1;
2015 nav_params.frame_to_navigate = "frame"; 2016 nav_params.frame_to_navigate = "frame";
2016 frame()->OnNavigate(nav_params); 2017 frame()->OnNavigate(nav_params);
2017 ProcessPendingMessages(); 2018 FrameLoadWaiter(
2019 RenderFrame::FromWebFrame(frame()->GetWebFrame()->firstChild())).Wait();
2018 2020
2019 // Copy the document content to std::wstring and compare with the 2021 // Copy the document content to std::wstring and compare with the
2020 // expected result. 2022 // expected result.
2021 const int kMaxOutputCharacters = 256; 2023 const int kMaxOutputCharacters = 256;
2022 std::string output = base::UTF16ToUTF8( 2024 std::string output = base::UTF16ToUTF8(
2023 GetMainFrame()->contentAsText(kMaxOutputCharacters)); 2025 GetMainFrame()->contentAsText(kMaxOutputCharacters));
2024 EXPECT_EQ(output, "hello \n\nworld"); 2026 EXPECT_EQ(output, "hello \n\nworld");
2025 } 2027 }
2026 2028
2027 // This test ensures that a RenderFrame object is created for the top level 2029 // This test ensures that a RenderFrame object is created for the top level
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
2157 // Start a load that will reach provisional state synchronously, 2159 // Start a load that will reach provisional state synchronously,
2158 // but won't complete synchronously. 2160 // but won't complete synchronously.
2159 FrameMsg_Navigate_Params params; 2161 FrameMsg_Navigate_Params params;
2160 params.page_id = -1; 2162 params.page_id = -1;
2161 params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 2163 params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
2162 params.url = GURL("data:text/html,test data"); 2164 params.url = GURL("data:text/html,test data");
2163 frame()->OnNavigate(params); 2165 frame()->OnNavigate(params);
2164 2166
2165 // An error occurred. 2167 // An error occurred.
2166 view()->main_render_frame()->didFailProvisionalLoad(web_frame, error); 2168 view()->main_render_frame()->didFailProvisionalLoad(web_frame, error);
2167 ProcessPendingMessages(); 2169 // The error page itself is loaded asynchronously.
2170 FrameLoadWaiter(frame()).Wait();
2168 const int kMaxOutputCharacters = 22; 2171 const int kMaxOutputCharacters = 22;
2169 EXPECT_EQ("A suffusion of yellow.", 2172 EXPECT_EQ("A suffusion of yellow.",
2170 base::UTF16ToASCII(web_frame->contentAsText(kMaxOutputCharacters))); 2173 base::UTF16ToASCII(web_frame->contentAsText(kMaxOutputCharacters)));
2171 } 2174 }
2172 2175
2173 // Tests if IME API's candidatewindow* events sent from browser are handled 2176 // Tests if IME API's candidatewindow* events sent from browser are handled
2174 // in renderer. 2177 // in renderer.
2175 TEST_F(RenderViewImplTest, SendCandidateWindowEvents) { 2178 TEST_F(RenderViewImplTest, SendCandidateWindowEvents) {
2176 // Sends an HTML with an <input> element and scripts to the renderer. 2179 // Sends an HTML with an <input> element and scripts to the renderer.
2177 // The script handles all 3 of candidatewindow* events for an 2180 // The script handles all 3 of candidatewindow* events for an
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
2242 // The load started, we should receive a start notification and a progress 2245 // The load started, we should receive a start notification and a progress
2243 // update with the minimum progress. 2246 // update with the minimum progress.
2244 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching( 2247 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching(
2245 ViewHostMsg_DidChangeLoadProgress::ID); 2248 ViewHostMsg_DidChangeLoadProgress::ID);
2246 EXPECT_TRUE(message); 2249 EXPECT_TRUE(message);
2247 Tuple1<double> progress_value; 2250 Tuple1<double> progress_value;
2248 ViewHostMsg_DidChangeLoadProgress::Read(message, &progress_value); 2251 ViewHostMsg_DidChangeLoadProgress::Read(message, &progress_value);
2249 EXPECT_EQ(0.1, progress_value.a); 2252 EXPECT_EQ(0.1, progress_value.a);
2250 render_thread_->sink().ClearMessages(); 2253 render_thread_->sink().ClearMessages();
2251 2254
2252 ProcessPendingMessages(); 2255 FrameLoadWaiter(frame()).Wait();
2253 2256
2254 // The data url has loaded, so we should see a progress change to 1.0 (done) 2257 // The data url has loaded, so we should see a progress change to 1.0 (done)
2255 // and a stop notification. 2258 // and a stop notification.
2256 message = render_thread_->sink().GetFirstMessageMatching( 2259 message = render_thread_->sink().GetFirstMessageMatching(
2257 ViewHostMsg_DidChangeLoadProgress::ID); 2260 ViewHostMsg_DidChangeLoadProgress::ID);
2258 EXPECT_TRUE(message); 2261 EXPECT_TRUE(message);
2259 ViewHostMsg_DidChangeLoadProgress::Read(message, &progress_value); 2262 ViewHostMsg_DidChangeLoadProgress::Read(message, &progress_value);
2260 EXPECT_EQ(1.0, progress_value.a); 2263 EXPECT_EQ(1.0, progress_value.a);
2261 2264
2262 EXPECT_TRUE(render_thread_->sink().GetFirstMessageMatching( 2265 EXPECT_TRUE(render_thread_->sink().GetFirstMessageMatching(
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
2358 view()->renderer_accessibility()->GetType()); 2361 view()->renderer_accessibility()->GetType());
2359 2362
2360 view()->OnSetAccessibilityMode(AccessibilityModeEditableTextOnly); 2363 view()->OnSetAccessibilityMode(AccessibilityModeEditableTextOnly);
2361 ASSERT_EQ(AccessibilityModeEditableTextOnly, view()->accessibility_mode()); 2364 ASSERT_EQ(AccessibilityModeEditableTextOnly, view()->accessibility_mode());
2362 ASSERT_NE((RendererAccessibility*) NULL, view()->renderer_accessibility()); 2365 ASSERT_NE((RendererAccessibility*) NULL, view()->renderer_accessibility());
2363 ASSERT_EQ(RendererAccessibilityTypeFocusOnly, 2366 ASSERT_EQ(RendererAccessibilityTypeFocusOnly,
2364 view()->renderer_accessibility()->GetType()); 2367 view()->renderer_accessibility()->GetType());
2365 } 2368 }
2366 2369
2367 } // namespace content 2370 } // namespace content
OLDNEW
« no previous file with comments | « content/public/test/render_view_test.cc ('k') | content/test/frame_load_waiter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698