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 // Multiply-included file, no traditional include guard. | 5 // Multiply-included file, no traditional include guard. |
6 #include <string> | 6 #include <string> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "components/test_runner/layout_dump_flags.h" | 9 #include "base/values.h" |
10 #include "content/public/common/common_param_traits.h" | 10 #include "content/public/common/common_param_traits.h" |
11 #include "content/public/common/page_state.h" | 11 #include "content/public/common/page_state.h" |
12 #include "content/shell/common/leak_detection_result.h" | 12 #include "content/shell/common/leak_detection_result.h" |
13 #include "content/shell/common/shell_test_configuration.h" | 13 #include "content/shell/common/shell_test_configuration.h" |
14 #include "ipc/ipc_message_macros.h" | 14 #include "ipc/ipc_message_macros.h" |
15 #include "ipc/ipc_platform_file.h" | 15 #include "ipc/ipc_platform_file.h" |
16 #include "third_party/skia/include/core/SkBitmap.h" | 16 #include "third_party/skia/include/core/SkBitmap.h" |
17 #include "ui/gfx/ipc/gfx_param_traits.h" | 17 #include "ui/gfx/ipc/gfx_param_traits.h" |
18 | 18 |
19 #define IPC_MESSAGE_START ShellMsgStart | 19 #define IPC_MESSAGE_START ShellMsgStart |
20 | 20 |
21 IPC_STRUCT_TRAITS_BEGIN(content::ShellTestConfiguration) | 21 IPC_STRUCT_TRAITS_BEGIN(content::ShellTestConfiguration) |
22 IPC_STRUCT_TRAITS_MEMBER(current_working_directory) | 22 IPC_STRUCT_TRAITS_MEMBER(current_working_directory) |
23 IPC_STRUCT_TRAITS_MEMBER(temp_path) | 23 IPC_STRUCT_TRAITS_MEMBER(temp_path) |
24 IPC_STRUCT_TRAITS_MEMBER(test_url) | 24 IPC_STRUCT_TRAITS_MEMBER(test_url) |
25 IPC_STRUCT_TRAITS_MEMBER(enable_pixel_dumping) | 25 IPC_STRUCT_TRAITS_MEMBER(enable_pixel_dumping) |
26 IPC_STRUCT_TRAITS_MEMBER(allow_external_pages) | 26 IPC_STRUCT_TRAITS_MEMBER(allow_external_pages) |
27 IPC_STRUCT_TRAITS_MEMBER(expected_pixel_hash) | 27 IPC_STRUCT_TRAITS_MEMBER(expected_pixel_hash) |
28 IPC_STRUCT_TRAITS_MEMBER(initial_size) | 28 IPC_STRUCT_TRAITS_MEMBER(initial_size) |
29 IPC_STRUCT_TRAITS_END() | 29 IPC_STRUCT_TRAITS_END() |
30 | 30 |
31 IPC_STRUCT_TRAITS_BEGIN(test_runner::LayoutDumpFlags) | |
32 IPC_STRUCT_TRAITS_MEMBER(dump_as_text) | |
33 IPC_STRUCT_TRAITS_MEMBER(dump_child_frames_as_text) | |
34 IPC_STRUCT_TRAITS_MEMBER(dump_as_markup) | |
35 IPC_STRUCT_TRAITS_MEMBER(dump_child_frames_as_markup) | |
36 IPC_STRUCT_TRAITS_MEMBER(dump_child_frame_scroll_positions) | |
37 IPC_STRUCT_TRAITS_MEMBER(is_printing) | |
38 IPC_STRUCT_TRAITS_END() | |
39 | |
40 // Tells the renderer to reset all test runners. | 31 // Tells the renderer to reset all test runners. |
41 IPC_MESSAGE_ROUTED0(ShellViewMsg_Reset) | 32 IPC_MESSAGE_ROUTED0(ShellViewMsg_Reset) |
42 | 33 |
43 // Sets the path to the WebKit checkout. | 34 // Sets the path to the WebKit checkout. |
44 IPC_MESSAGE_CONTROL1(ShellViewMsg_SetWebKitSourceDir, | 35 IPC_MESSAGE_CONTROL1(ShellViewMsg_SetWebKitSourceDir, |
45 base::FilePath /* webkit source dir */) | 36 base::FilePath /* webkit source dir */) |
46 | 37 |
47 // Sets the test config for a layout test that is being started. | 38 // Sets the test config for a layout test that is being started. |
48 IPC_MESSAGE_ROUTED1(ShellViewMsg_SetTestConfiguration, | 39 IPC_MESSAGE_ROUTED1(ShellViewMsg_SetTestConfiguration, |
49 content::ShellTestConfiguration) | 40 content::ShellTestConfiguration) |
50 | 41 |
51 // Replicates test config (for an already started test) to a new renderer. | 42 // Replicates test config (for an already started test) to a new renderer. |
52 IPC_MESSAGE_ROUTED1(ShellViewMsg_ReplicateTestConfiguration, | 43 IPC_MESSAGE_ROUTED2( |
53 content::ShellTestConfiguration) | 44 ShellViewMsg_ReplicateTestConfiguration, |
| 45 content::ShellTestConfiguration, |
| 46 base::DictionaryValue /* accumulated_layout_dump_flags_changes */) |
| 47 |
| 48 // Used to broadcast changes happening in one renderer to all other renderers. |
| 49 IPC_MESSAGE_ROUTED2(ShellViewMsg_ReplicateLayoutDumpFlagsChanges, |
| 50 base::DictionaryValue /* changed_layout_dump_flags */, |
| 51 std::string /* change_originator_guid */) |
54 | 52 |
55 // Tells the main window that a secondary renderer in a different process thinks | 53 // Tells the main window that a secondary renderer in a different process thinks |
56 // the test is finished. | 54 // the test is finished. |
57 IPC_MESSAGE_ROUTED0(ShellViewMsg_NotifyDone) | 55 IPC_MESSAGE_ROUTED0(ShellViewMsg_NotifyDone) |
58 | 56 |
59 // Pushes a snapshot of the current session history from the browser process. | 57 // Pushes a snapshot of the current session history from the browser process. |
60 // This includes only information about those RenderViews that are in the | 58 // This includes only information about those RenderViews that are in the |
61 // same process as the main window of the layout test and that are the current | 59 // same process as the main window of the layout test and that are the current |
62 // active RenderView of their WebContents. | 60 // active RenderView of their WebContents. |
63 IPC_MESSAGE_ROUTED3( | 61 IPC_MESSAGE_ROUTED3( |
64 ShellViewMsg_SessionHistory, | 62 ShellViewMsg_SessionHistory, |
65 std::vector<int> /* routing_ids */, | 63 std::vector<int> /* routing_ids */, |
66 std::vector<std::vector<content::PageState> > /* session_histories */, | 64 std::vector<std::vector<content::PageState> > /* session_histories */, |
67 std::vector<unsigned> /* current_entry_indexes */) | 65 std::vector<unsigned> /* current_entry_indexes */) |
68 | 66 |
69 IPC_MESSAGE_ROUTED0(ShellViewMsg_TryLeakDetection) | 67 IPC_MESSAGE_ROUTED0(ShellViewMsg_TryLeakDetection) |
70 | 68 |
71 // Asks a frame to dump its contents into a string and send them back over IPC. | 69 // Asks a frame to dump its contents into a string and send them back over IPC. |
72 IPC_MESSAGE_ROUTED1(ShellViewMsg_LayoutDumpRequest, | 70 IPC_MESSAGE_ROUTED0(ShellViewMsg_LayoutDumpRequest) |
73 test_runner::LayoutDumpFlags) | |
74 | 71 |
75 // Notifies BlinkTestRunner that the layout dump has completed | 72 // Notifies BlinkTestRunner that the layout dump has completed |
76 // (and that it can proceed with finishing up the test). | 73 // (and that it can proceed with finishing up the test). |
77 IPC_MESSAGE_ROUTED1(ShellViewMsg_LayoutDumpCompleted, | 74 IPC_MESSAGE_ROUTED1(ShellViewMsg_LayoutDumpCompleted, |
78 std::string /* completed/stitched layout dump */) | 75 std::string /* completed/stitched layout dump */) |
79 | 76 |
| 77 // Notifies the browser that one of renderers has changed layout dump flags. |
| 78 IPC_MESSAGE_ROUTED2(ShellViewHostMsg_LayoutDumpFlagsChanged, |
| 79 base::DictionaryValue /* changed_layout_dump_flags */, |
| 80 std::string /* change_originator_guid */) |
| 81 |
80 // Send a text dump of the WebContents to the render host. | 82 // Send a text dump of the WebContents to the render host. |
81 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_TextDump, | 83 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_TextDump, |
82 std::string /* dump */) | 84 std::string /* dump */) |
83 | 85 |
84 // Asks the browser process to perform a layout dump (potentially spanning | 86 // Asks the browser process to perform a layout dump spanning all the |
85 // multiple cross-process frames) using the given flags. This triggers | 87 // (potentially cross-process) frames. This triggers multiple |
86 // multiple ShellViewMsg_LayoutDumpRequest / ShellViewHostMsg_LayoutDumpResponse | 88 // ShellViewMsg_LayoutDumpRequest / ShellViewHostMsg_LayoutDumpResponse messages |
87 // messages and ends with sending of ShellViewMsg_LayoutDumpCompleted. | 89 // and ends with sending of ShellViewMsg_LayoutDumpCompleted. |
88 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_InitiateLayoutDump, | 90 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_InitiateLayoutDump) |
89 test_runner::LayoutDumpFlags) | |
90 | 91 |
91 // Sends a layout dump of a frame (response to ShellViewMsg_LayoutDumpRequest). | 92 // Sends a layout dump of a frame (response to ShellViewMsg_LayoutDumpRequest). |
92 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_LayoutDumpResponse, std::string /* dump */) | 93 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_LayoutDumpResponse, std::string /* dump */) |
93 | 94 |
94 // Send an image dump of the WebContents to the render host. | 95 // Send an image dump of the WebContents to the render host. |
95 IPC_MESSAGE_ROUTED2(ShellViewHostMsg_ImageDump, | 96 IPC_MESSAGE_ROUTED2(ShellViewHostMsg_ImageDump, |
96 std::string /* actual pixel hash */, | 97 std::string /* actual pixel hash */, |
97 SkBitmap /* image */) | 98 SkBitmap /* image */) |
98 | 99 |
99 // Send an audio dump to the render host. | 100 // Send an audio dump to the render host. |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 content::LeakDetectionResult /* result */) | 135 content::LeakDetectionResult /* result */) |
135 | 136 |
136 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_SetBluetoothManualChooser, | 137 IPC_MESSAGE_ROUTED1(ShellViewHostMsg_SetBluetoothManualChooser, |
137 bool /* enable */) | 138 bool /* enable */) |
138 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_GetBluetoothManualChooserEvents) | 139 IPC_MESSAGE_ROUTED0(ShellViewHostMsg_GetBluetoothManualChooserEvents) |
139 IPC_MESSAGE_ROUTED1(ShellViewMsg_ReplyBluetoothManualChooserEvents, | 140 IPC_MESSAGE_ROUTED1(ShellViewMsg_ReplyBluetoothManualChooserEvents, |
140 std::vector<std::string> /* events */) | 141 std::vector<std::string> /* events */) |
141 IPC_MESSAGE_ROUTED2(ShellViewHostMsg_SendBluetoothManualChooserEvent, | 142 IPC_MESSAGE_ROUTED2(ShellViewHostMsg_SendBluetoothManualChooserEvent, |
142 std::string /* event */, | 143 std::string /* event */, |
143 std::string /* argument */) | 144 std::string /* argument */) |
OLD | NEW |