Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/command_line.h" | 6 #include "base/command_line.h" |
| 7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
| 10 #include "base/process_util.h" | 10 #include "base/process_util.h" |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 239 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, tab->NavigateToURL(test_url)); | 239 ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, tab->NavigateToURL(test_url)); |
| 240 | 240 |
| 241 // Wait for the test to finish. | 241 // Wait for the test to finish. |
| 242 ASSERT_TRUE(WaitUntilCookieValue(tab.get(), test_url, "__pc_done", | 242 ASSERT_TRUE(WaitUntilCookieValue(tab.get(), test_url, "__pc_done", |
| 243 UITest::test_timeout_ms(), "1")); | 243 UITest::test_timeout_ms(), "1")); |
| 244 | 244 |
| 245 std::string cookie; | 245 std::string cookie; |
| 246 ASSERT_TRUE(tab->GetCookieByName(test_url, "__pc_pages", &cookie)); | 246 ASSERT_TRUE(tab->GetCookieByName(test_url, "__pc_pages", &cookie)); |
| 247 pages->assign(UTF8ToWide(cookie)); | 247 pages->assign(UTF8ToWide(cookie)); |
| 248 ASSERT_FALSE(pages->empty()); | 248 ASSERT_FALSE(pages->empty()); |
| 249 ASSERT_TRUE(tab->GetCookieByName(test_url, "__pc_timings", &cookie)); | |
| 250 | 249 |
| 250 // Get the timing cookie value from the DOM automation. | |
| 251 std::wstring wcookie; | 251 std::wstring wcookie; |
| 252 ASSERT_TRUE(tab->ExecuteAndExtractString(L"", | 252 ASSERT_TRUE(tab->ExecuteAndExtractString(L"", |
| 253 L"window.domAutomationController.send(" | 253 L"window.domAutomationController.send(" |
| 254 L"JSON.stringify(__get_timings()));", | 254 L"JSON.stringify(__get_timings()));", |
| 255 &wcookie)); | 255 &wcookie)); |
| 256 cookie = base::SysWideToNativeMB(wcookie); | 256 cookie = base::SysWideToNativeMB(wcookie); |
| 257 | 257 |
| 258 // JSON.stringify() encapsulates the returned string in quotes, strip them. | |
| 259 std::string::size_type start_idx = cookie.find("\""); | |
| 260 std::string::size_type end_idx = cookie.find_last_of("\""); | |
| 261 if (start_idx != std::string::npos && | |
| 262 end_idx != std::string::npos && | |
| 263 start_idx < end_idx) { | |
| 264 cookie = cookie.substr(start_idx+1, end_idx-start_idx-1); | |
|
nsylvain
2010/12/29 21:22:14
end_idx-1 maybe?
nsylvain
2010/12/29 21:37:43
did not read correctly. LGTM
| |
| 265 } | |
| 266 | |
| 258 timings->assign(cookie); | 267 timings->assign(cookie); |
| 259 ASSERT_FALSE(timings->empty()); | 268 ASSERT_FALSE(timings->empty()); |
| 260 } | 269 } |
| 261 | 270 |
| 262 // When use_http is true, the test name passed here will be used directly in | 271 // When use_http is true, the test name passed here will be used directly in |
| 263 // the path to the test data, so it must be safe for use in a URL without | 272 // the path to the test data, so it must be safe for use in a URL without |
| 264 // escaping. (No pound (#), question mark (?), semicolon (;), non-ASCII, or | 273 // escaping. (No pound (#), question mark (?), semicolon (;), non-ASCII, or |
| 265 // other funny stuff.) | 274 // other funny stuff.) |
| 266 void RunTestWithSuffix(const char* graph, const char* name, bool use_http, | 275 void RunTestWithSuffix(const char* graph, const char* name, bool use_http, |
| 267 const char* suffix) { | 276 const char* suffix) { |
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 579 #endif | 588 #endif |
| 580 | 589 |
| 581 // Indexed DB tests. | 590 // Indexed DB tests. |
| 582 // Disabled in debug builds on Windows. | 591 // Disabled in debug builds on Windows. |
| 583 // Bug http://code.google.com/p/chromium/issues/detail?id=67918 | 592 // Bug http://code.google.com/p/chromium/issues/detail?id=67918 |
| 584 #if !defined(OS_WIN) || defined(NDEBUG) | 593 #if !defined(OS_WIN) || defined(NDEBUG) |
| 585 PAGE_CYCLER_IDB_TESTS("basic_insert", BasicInsert); | 594 PAGE_CYCLER_IDB_TESTS("basic_insert", BasicInsert); |
| 586 #endif | 595 #endif |
| 587 | 596 |
| 588 } // namespace | 597 } // namespace |
| OLD | NEW |