| OLD | NEW | 
|     1 // Copyright 2013 The Chromium Authors. All rights reserved. |     1 // Copyright 2013 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/browser/layout_test/blink_test_controller.h" |     5 #include "content/shell/browser/layout_test/blink_test_controller.h" | 
|     6  |     6  | 
|     7 #include <stddef.h> |     7 #include <stddef.h> | 
|     8  |     8  | 
|     9 #include <iostream> |     9 #include <iostream> | 
|    10 #include <set> |    10 #include <set> | 
| (...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   519     IPC_MESSAGE_HANDLER(ShellViewHostMsg_GetBluetoothManualChooserEvents, |   519     IPC_MESSAGE_HANDLER(ShellViewHostMsg_GetBluetoothManualChooserEvents, | 
|   520                         OnGetBluetoothManualChooserEvents) |   520                         OnGetBluetoothManualChooserEvents) | 
|   521     IPC_MESSAGE_HANDLER(ShellViewHostMsg_SendBluetoothManualChooserEvent, |   521     IPC_MESSAGE_HANDLER(ShellViewHostMsg_SendBluetoothManualChooserEvent, | 
|   522                         OnSendBluetoothManualChooserEvent) |   522                         OnSendBluetoothManualChooserEvent) | 
|   523     IPC_MESSAGE_UNHANDLED(handled = false) |   523     IPC_MESSAGE_UNHANDLED(handled = false) | 
|   524   IPC_END_MESSAGE_MAP() |   524   IPC_END_MESSAGE_MAP() | 
|   525  |   525  | 
|   526   return handled; |   526   return handled; | 
|   527 } |   527 } | 
|   528  |   528  | 
|   529 bool BlinkTestController::OnMessageReceived( |  | 
|   530     const IPC::Message& message, |  | 
|   531     RenderFrameHost* render_frame_host) { |  | 
|   532   bool handled = true; |  | 
|   533   IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(BlinkTestController, message, |  | 
|   534                                    render_frame_host) |  | 
|   535     IPC_MESSAGE_HANDLER(ShellViewHostMsg_LayoutDumpResponse, |  | 
|   536                         OnLayoutDumpResponse) |  | 
|   537     IPC_MESSAGE_UNHANDLED(handled = false) |  | 
|   538   IPC_END_MESSAGE_MAP() |  | 
|   539   return handled; |  | 
|   540 } |  | 
|   541  |  | 
|   542 void BlinkTestController::PluginCrashed(const base::FilePath& plugin_path, |   529 void BlinkTestController::PluginCrashed(const base::FilePath& plugin_path, | 
|   543                                         base::ProcessId plugin_pid) { |   530                                         base::ProcessId plugin_pid) { | 
|   544   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); |   531   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); | 
|   545   printer_->AddErrorMessage( |   532   printer_->AddErrorMessage( | 
|   546       base::StringPrintf("#CRASHED - plugin (pid %d)", plugin_pid)); |   533       base::StringPrintf("#CRASHED - plugin (pid %d)", plugin_pid)); | 
|   547   base::ThreadTaskRunnerHandle::Get()->PostTask( |   534   base::ThreadTaskRunnerHandle::Get()->PostTask( | 
|   548       FROM_HERE, |   535       FROM_HERE, | 
|   549       base::Bind(base::IgnoreResult(&BlinkTestController::DiscardMainWindow), |   536       base::Bind(base::IgnoreResult(&BlinkTestController::DiscardMainWindow), | 
|   550                  base::Unretained(this))); |   537                  base::Unretained(this))); | 
|   551 } |   538 } | 
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   784   printer_->PrintTextFooter(); |   771   printer_->PrintTextFooter(); | 
|   785 } |   772 } | 
|   786  |   773  | 
|   787 void BlinkTestController::OnInitiateLayoutDump() { |   774 void BlinkTestController::OnInitiateLayoutDump() { | 
|   788   int number_of_messages = 0; |   775   int number_of_messages = 0; | 
|   789   for (RenderFrameHost* rfh : main_window_->web_contents()->GetAllFrames()) { |   776   for (RenderFrameHost* rfh : main_window_->web_contents()->GetAllFrames()) { | 
|   790     if (!rfh->IsRenderFrameLive()) |   777     if (!rfh->IsRenderFrameLive()) | 
|   791       continue; |   778       continue; | 
|   792  |   779  | 
|   793     ++number_of_messages; |   780     ++number_of_messages; | 
|   794     GetLayoutTestControlPtr(rfh)->LayoutDumpRequest(); |   781     GetLayoutTestControlPtr(rfh)->DumpFrameLayout( | 
 |   782         base::Bind(&BlinkTestController::OnDumpFrameLayoutResponse, | 
 |   783                    base::Unretained(this), rfh->GetFrameTreeNodeId())); | 
|   795   } |   784   } | 
|   796  |   785  | 
|   797   pending_layout_dumps_ = number_of_messages; |   786   pending_layout_dumps_ = number_of_messages; | 
|   798 } |   787 } | 
|   799  |   788  | 
|   800 void BlinkTestController::OnLayoutTestRuntimeFlagsChanged( |   789 void BlinkTestController::OnLayoutTestRuntimeFlagsChanged( | 
|   801     int sender_process_host_id, |   790     int sender_process_host_id, | 
|   802     const base::DictionaryValue& changed_layout_test_runtime_flags) { |   791     const base::DictionaryValue& changed_layout_test_runtime_flags) { | 
|   803   // Stash the accumulated changes for future, not-yet-created renderers. |   792   // Stash the accumulated changes for future, not-yet-created renderers. | 
|   804   accumulated_layout_test_runtime_flags_changes_.MergeDictionary( |   793   accumulated_layout_test_runtime_flags_changes_.MergeDictionary( | 
|   805       &changed_layout_test_runtime_flags); |   794       &changed_layout_test_runtime_flags); | 
|   806  |   795  | 
|   807   // Propagate the changes to all the tracked renderer processes. |   796   // Propagate the changes to all the tracked renderer processes. | 
|   808   for (RenderProcessHost* process : all_observed_render_process_hosts_) { |   797   for (RenderProcessHost* process : all_observed_render_process_hosts_) { | 
|   809     // Do not propagate the changes back to the process that originated them. |   798     // Do not propagate the changes back to the process that originated them. | 
|   810     // (propagating them back could also clobber subsequent changes in the |   799     // (propagating them back could also clobber subsequent changes in the | 
|   811     // originator). |   800     // originator). | 
|   812     if (process->GetID() == sender_process_host_id) |   801     if (process->GetID() == sender_process_host_id) | 
|   813       continue; |   802       continue; | 
|   814  |   803  | 
|   815     process->Send(new LayoutTestMsg_ReplicateLayoutTestRuntimeFlagsChanges( |   804     process->Send(new LayoutTestMsg_ReplicateLayoutTestRuntimeFlagsChanges( | 
|   816         changed_layout_test_runtime_flags)); |   805         changed_layout_test_runtime_flags)); | 
|   817   } |   806   } | 
|   818 } |   807 } | 
|   819  |   808  | 
|   820 void BlinkTestController::OnLayoutDumpResponse(RenderFrameHost* sender, |   809 void BlinkTestController::OnDumpFrameLayoutResponse(int frame_tree_node_id, | 
|   821                                                const std::string& dump) { |   810                                                     const std::string& dump) { | 
|   822   // Store the result. |   811   // Store the result. | 
|   823   auto pair = frame_to_layout_dump_map_.insert( |   812   auto pair = frame_to_layout_dump_map_.insert( | 
|   824       std::make_pair(sender->GetFrameTreeNodeId(), dump)); |   813       std::make_pair(frame_tree_node_id, dump)); | 
|   825   bool insertion_took_place = pair.second; |   814   bool insertion_took_place = pair.second; | 
|   826   DCHECK(insertion_took_place); |   815   DCHECK(insertion_took_place); | 
|   827  |   816  | 
|   828   // See if we need to wait for more responses. |   817   // See if we need to wait for more responses. | 
|   829   pending_layout_dumps_--; |   818   pending_layout_dumps_--; | 
|   830   DCHECK_LE(0, pending_layout_dumps_); |   819   DCHECK_LE(0, pending_layout_dumps_); | 
|   831   if (pending_layout_dumps_ > 0) |   820   if (pending_layout_dumps_ > 0) | 
|   832     return; |   821     return; | 
|   833  |   822  | 
|   834   // Stitch the frame-specific results in the right order. |   823   // Stitch the frame-specific results in the right order. | 
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1056   } |  1045   } | 
|  1057   DCHECK(layout_test_control_map_[frame].get()); |  1046   DCHECK(layout_test_control_map_[frame].get()); | 
|  1058   return layout_test_control_map_[frame].get(); |  1047   return layout_test_control_map_[frame].get(); | 
|  1059 } |  1048 } | 
|  1060  |  1049  | 
|  1061 void BlinkTestController::HandleLayoutTestControlError(RenderFrameHost* frame) { |  1050 void BlinkTestController::HandleLayoutTestControlError(RenderFrameHost* frame) { | 
|  1062   layout_test_control_map_.erase(frame); |  1051   layout_test_control_map_.erase(frame); | 
|  1063 } |  1052 } | 
|  1064  |  1053  | 
|  1065 }  // namespace content |  1054 }  // namespace content | 
| OLD | NEW |