OLD | NEW |
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 "content/shell/renderer/webkit_test_runner.h" | 5 #include "content/shell/renderer/webkit_test_runner.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <clocale> | 8 #include <clocale> |
9 #include <cmath> | 9 #include <cmath> |
10 | 10 |
11 #include "base/base64.h" | 11 #include "base/base64.h" |
12 #include "base/debug/debugger.h" | 12 #include "base/debug/debugger.h" |
13 #include "base/md5.h" | 13 #include "base/md5.h" |
14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
15 #include "base/message_loop.h" | 15 #include "base/message_loop.h" |
16 #include "base/string_util.h" | 16 #include "base/string_util.h" |
17 #include "base/stringprintf.h" | 17 #include "base/stringprintf.h" |
18 #include "base/strings/sys_string_conversions.h" | 18 #include "base/strings/sys_string_conversions.h" |
19 #include "base/time.h" | 19 #include "base/time.h" |
20 #include "base/utf_string_conversions.h" | 20 #include "base/utf_string_conversions.h" |
| 21 #include "content/public/renderer/history_item_serialization.h" |
21 #include "content/public/renderer/render_view.h" | 22 #include "content/public/renderer/render_view.h" |
22 #include "content/public/renderer/render_view_visitor.h" | 23 #include "content/public/renderer/render_view_visitor.h" |
23 #include "content/public/test/layouttest_support.h" | 24 #include "content/public/test/layouttest_support.h" |
24 #include "content/shell/common/shell_messages.h" | 25 #include "content/shell/common/shell_messages.h" |
25 #include "content/shell/common/webkit_test_helpers.h" | 26 #include "content/shell/common/webkit_test_helpers.h" |
26 #include "content/shell/renderer/shell_render_process_observer.h" | 27 #include "content/shell/renderer/shell_render_process_observer.h" |
27 #include "net/base/net_errors.h" | 28 #include "net/base/net_errors.h" |
28 #include "net/base/net_util.h" | 29 #include "net/base/net_util.h" |
29 #include "skia/ext/platform_canvas.h" | 30 #include "skia/ext/platform_canvas.h" |
30 #include "third_party/WebKit/Source/Platform/chromium/public/Platform.h" | 31 #include "third_party/WebKit/Source/Platform/chromium/public/Platform.h" |
(...skipping 18 matching lines...) Expand all Loading... |
49 #include "third_party/WebKit/Source/WebKit/chromium/public/WebKit.h" | 50 #include "third_party/WebKit/Source/WebKit/chromium/public/WebKit.h" |
50 #include "third_party/WebKit/Source/WebKit/chromium/public/WebScriptSource.h" | 51 #include "third_party/WebKit/Source/WebKit/chromium/public/WebScriptSource.h" |
51 #include "third_party/WebKit/Source/WebKit/chromium/public/WebTestingSupport.h" | 52 #include "third_party/WebKit/Source/WebKit/chromium/public/WebTestingSupport.h" |
52 #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" | 53 #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" |
53 #include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/Web
Task.h" | 54 #include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/Web
Task.h" |
54 #include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/Web
TestInterfaces.h" | 55 #include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/Web
TestInterfaces.h" |
55 #include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/Web
TestProxy.h" | 56 #include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/Web
TestProxy.h" |
56 #include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/Web
TestRunner.h" | 57 #include "third_party/WebKit/Tools/DumpRenderTree/chromium/TestRunner/public/Web
TestRunner.h" |
57 #include "ui/gfx/rect.h" | 58 #include "ui/gfx/rect.h" |
58 #include "webkit/base/file_path_string_conversions.h" | 59 #include "webkit/base/file_path_string_conversions.h" |
59 #include "webkit/glue/glue_serialize.h" | |
60 #include "webkit/glue/webkit_glue.h" | 60 #include "webkit/glue/webkit_glue.h" |
61 #include "webkit/glue/webpreferences.h" | 61 #include "webkit/glue/webpreferences.h" |
62 #include "webkit/mocks/test_media_stream_client.h" | 62 #include "webkit/mocks/test_media_stream_client.h" |
63 | 63 |
64 using WebKit::Platform; | 64 using WebKit::Platform; |
65 using WebKit::WebArrayBufferView; | 65 using WebKit::WebArrayBufferView; |
66 using WebKit::WebContextMenuData; | 66 using WebKit::WebContextMenuData; |
67 using WebKit::WebDevToolsAgent; | 67 using WebKit::WebDevToolsAgent; |
68 using WebKit::WebDeviceOrientation; | 68 using WebKit::WebDeviceOrientation; |
69 using WebKit::WebElement; | 69 using WebKit::WebElement; |
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
516 | 516 |
517 if (id == routing_ids_.end()) { | 517 if (id == routing_ids_.end()) { |
518 NOTREACHED(); | 518 NOTREACHED(); |
519 return; | 519 return; |
520 } | 520 } |
521 size_t num_entries = session_histories_[pos].size(); | 521 size_t num_entries = session_histories_[pos].size(); |
522 *currentEntryIndex = current_entry_indexes_[pos]; | 522 *currentEntryIndex = current_entry_indexes_[pos]; |
523 WebVector<WebHistoryItem> result(num_entries); | 523 WebVector<WebHistoryItem> result(num_entries); |
524 for (size_t entry = 0; entry < num_entries; ++entry) { | 524 for (size_t entry = 0; entry < num_entries; ++entry) { |
525 result[entry] = | 525 result[entry] = |
526 webkit_glue::HistoryItemFromString(session_histories_[pos][entry]); | 526 PageStateToHistoryItem(session_histories_[pos][entry]); |
527 } | 527 } |
528 history->swap(result); | 528 history->swap(result); |
529 } | 529 } |
530 | 530 |
531 WebMediaPlayer* WebKitTestRunner::createWebMediaPlayer( | 531 WebMediaPlayer* WebKitTestRunner::createWebMediaPlayer( |
532 WebFrame* frame, const WebURL& url, WebMediaPlayerClient* client) | 532 WebFrame* frame, const WebURL& url, WebMediaPlayerClient* client) |
533 { | 533 { |
534 if (!test_media_stream_client_) { | 534 if (!test_media_stream_client_) { |
535 test_media_stream_client_.reset( | 535 test_media_stream_client_.reset( |
536 new webkit_glue::TestMediaStreamClient()); | 536 new webkit_glue::TestMediaStreamClient()); |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 | 686 |
687 WebTestInterfaces* interfaces = | 687 WebTestInterfaces* interfaces = |
688 ShellRenderProcessObserver::GetInstance()->test_interfaces(); | 688 ShellRenderProcessObserver::GetInstance()->test_interfaces(); |
689 interfaces->setTestIsRunning(true); | 689 interfaces->setTestIsRunning(true); |
690 interfaces->configureForTestWithURL(params.test_url, | 690 interfaces->configureForTestWithURL(params.test_url, |
691 params.enable_pixel_dumping); | 691 params.enable_pixel_dumping); |
692 } | 692 } |
693 | 693 |
694 void WebKitTestRunner::OnSessionHistory( | 694 void WebKitTestRunner::OnSessionHistory( |
695 const std::vector<int>& routing_ids, | 695 const std::vector<int>& routing_ids, |
696 const std::vector<std::vector<std::string> >& session_histories, | 696 const std::vector<std::vector<PageState> >& session_histories, |
697 const std::vector<unsigned>& current_entry_indexes) { | 697 const std::vector<unsigned>& current_entry_indexes) { |
698 routing_ids_ = routing_ids; | 698 routing_ids_ = routing_ids; |
699 session_histories_ = session_histories; | 699 session_histories_ = session_histories; |
700 current_entry_indexes_ = current_entry_indexes; | 700 current_entry_indexes_ = current_entry_indexes; |
701 CaptureDump(); | 701 CaptureDump(); |
702 } | 702 } |
703 | 703 |
704 void WebKitTestRunner::OnReset() { | 704 void WebKitTestRunner::OnReset() { |
705 ShellRenderProcessObserver::GetInstance()->test_interfaces()->resetAll(); | 705 ShellRenderProcessObserver::GetInstance()->test_interfaces()->resetAll(); |
706 Reset(); | 706 Reset(); |
707 // Navigating to about:blank will make sure that no new loads are initiated | 707 // Navigating to about:blank will make sure that no new loads are initiated |
708 // by the renderer. | 708 // by the renderer. |
709 render_view()->GetWebView()->mainFrame() | 709 render_view()->GetWebView()->mainFrame() |
710 ->loadRequest(WebURLRequest(GURL("about:blank"))); | 710 ->loadRequest(WebURLRequest(GURL("about:blank"))); |
711 Send(new ShellViewHostMsg_ResetDone(routing_id())); | 711 Send(new ShellViewHostMsg_ResetDone(routing_id())); |
712 } | 712 } |
713 | 713 |
714 void WebKitTestRunner::OnNotifyDone() { | 714 void WebKitTestRunner::OnNotifyDone() { |
715 render_view()->GetWebView()->mainFrame()->executeScript( | 715 render_view()->GetWebView()->mainFrame()->executeScript( |
716 WebScriptSource(WebString::fromUTF8("testRunner.notifyDone();"))); | 716 WebScriptSource(WebString::fromUTF8("testRunner.notifyDone();"))); |
717 } | 717 } |
718 | 718 |
719 } // namespace content | 719 } // namespace content |
OLD | NEW |