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 "chrome/browser/automation/testing_automation_provider.h" | 5 #include "chrome/browser/automation/testing_automation_provider.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 2950 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2961 item->SetString("extension_id", ex_host->extension()->id()); | 2961 item->SetString("extension_id", ex_host->extension()->id()); |
2962 item->SetInteger( | 2962 item->SetInteger( |
2963 "pid", | 2963 "pid", |
2964 base::GetProcId(ex_host->render_process_host()->GetHandle())); | 2964 base::GetProcId(ex_host->render_process_host()->GetHandle())); |
2965 DictionaryValue* view = new DictionaryValue; | 2965 DictionaryValue* view = new DictionaryValue; |
2966 view->SetInteger( | 2966 view->SetInteger( |
2967 "render_process_id", | 2967 "render_process_id", |
2968 ex_host->render_process_host()->GetID()); | 2968 ex_host->render_process_host()->GetID()); |
2969 view->SetInteger( | 2969 view->SetInteger( |
2970 "render_view_id", | 2970 "render_view_id", |
2971 ex_host->render_view_host()->routing_id()); | 2971 ex_host->render_view_host()->GetRoutingID()); |
2972 item->Set("view", view); | 2972 item->Set("view", view); |
2973 std::string type; | 2973 std::string type; |
2974 switch (ex_host->extension_host_type()) { | 2974 switch (ex_host->extension_host_type()) { |
2975 case chrome::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE: | 2975 case chrome::VIEW_TYPE_EXTENSION_BACKGROUND_PAGE: |
2976 type = "EXTENSION_BACKGROUND_PAGE"; | 2976 type = "EXTENSION_BACKGROUND_PAGE"; |
2977 break; | 2977 break; |
2978 case chrome::VIEW_TYPE_EXTENSION_POPUP: | 2978 case chrome::VIEW_TYPE_EXTENSION_POPUP: |
2979 type = "EXTENSION_POPUP"; | 2979 type = "EXTENSION_POPUP"; |
2980 break; | 2980 break; |
2981 case chrome::VIEW_TYPE_EXTENSION_INFOBAR: | 2981 case chrome::VIEW_TYPE_EXTENSION_INFOBAR: |
(...skipping 3141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6123 AutomationJSONReply(this, reply_message).SendError( | 6123 AutomationJSONReply(this, reply_message).SendError( |
6124 StringPrintf("Could not get WebContents at tab index %d", tab_index)); | 6124 StringPrintf("Could not get WebContents at tab index %d", tab_index)); |
6125 return; | 6125 return; |
6126 } | 6126 } |
6127 | 6127 |
6128 RenderViewHost* render_view = web_contents->GetRenderViewHost(); | 6128 RenderViewHost* render_view = web_contents->GetRenderViewHost(); |
6129 | 6129 |
6130 // This observer will delete itself. | 6130 // This observer will delete itself. |
6131 new V8HeapStatsObserver( | 6131 new V8HeapStatsObserver( |
6132 this, reply_message, | 6132 this, reply_message, |
6133 base::GetProcId(render_view->process()->GetHandle())); | 6133 base::GetProcId(render_view->GetProcess()->GetHandle())); |
6134 render_view->Send(new ChromeViewMsg_GetV8HeapStats); | 6134 render_view->Send(new ChromeViewMsg_GetV8HeapStats); |
6135 } | 6135 } |
6136 | 6136 |
6137 // Sample json input: { "command": "GetFPS", | 6137 // Sample json input: { "command": "GetFPS", |
6138 // "tab_index": 0 } | 6138 // "tab_index": 0 } |
6139 // Refer to GetFPS() in chrome/test/pyautolib/pyauto.py for | 6139 // Refer to GetFPS() in chrome/test/pyautolib/pyauto.py for |
6140 // sample json output. | 6140 // sample json output. |
6141 void TestingAutomationProvider::GetFPS( | 6141 void TestingAutomationProvider::GetFPS( |
6142 Browser* browser, | 6142 Browser* browser, |
6143 DictionaryValue* args, | 6143 DictionaryValue* args, |
6144 IPC::Message* reply_message) { | 6144 IPC::Message* reply_message) { |
6145 WebContents* web_contents; | 6145 WebContents* web_contents; |
6146 int tab_index; | 6146 int tab_index; |
6147 std::string error; | 6147 std::string error; |
6148 | 6148 |
6149 if (!args->GetInteger("tab_index", &tab_index)) { | 6149 if (!args->GetInteger("tab_index", &tab_index)) { |
6150 AutomationJSONReply(this, reply_message).SendError( | 6150 AutomationJSONReply(this, reply_message).SendError( |
6151 "Missing 'tab_index' argument."); | 6151 "Missing 'tab_index' argument."); |
6152 return; | 6152 return; |
6153 } | 6153 } |
6154 | 6154 |
6155 web_contents = browser->GetWebContentsAt(tab_index); | 6155 web_contents = browser->GetWebContentsAt(tab_index); |
6156 if (!web_contents) { | 6156 if (!web_contents) { |
6157 AutomationJSONReply(this, reply_message).SendError( | 6157 AutomationJSONReply(this, reply_message).SendError( |
6158 StringPrintf("Could not get WebContents at tab index %d", tab_index)); | 6158 StringPrintf("Could not get WebContents at tab index %d", tab_index)); |
6159 return; | 6159 return; |
6160 } | 6160 } |
6161 | 6161 |
6162 RenderViewHost* render_view = web_contents->GetRenderViewHost(); | 6162 RenderViewHost* render_view = web_contents->GetRenderViewHost(); |
6163 int routing_id = render_view->routing_id(); | 6163 int routing_id = render_view->GetRoutingID(); |
6164 | 6164 |
6165 // This observer will delete itself. | 6165 // This observer will delete itself. |
6166 new FPSObserver( | 6166 new FPSObserver( |
6167 this, reply_message, | 6167 this, reply_message, |
6168 base::GetProcId(render_view->process()->GetHandle()), | 6168 base::GetProcId(render_view->GetProcess()->GetHandle()), |
6169 routing_id); | 6169 routing_id); |
6170 render_view->Send(new ChromeViewMsg_GetFPS(routing_id)); | 6170 render_view->Send(new ChromeViewMsg_GetFPS(routing_id)); |
6171 } | 6171 } |
6172 | 6172 |
6173 void TestingAutomationProvider::WaitForAllViewsToStopLoading( | 6173 void TestingAutomationProvider::WaitForAllViewsToStopLoading( |
6174 DictionaryValue* args, | 6174 DictionaryValue* args, |
6175 IPC::Message* reply_message) { | 6175 IPC::Message* reply_message) { |
6176 if (AppModalDialogQueue::GetInstance()->HasActiveDialog()) { | 6176 if (AppModalDialogQueue::GetInstance()->HasActiveDialog()) { |
6177 AutomationJSONReply(this, reply_message).SendSuccess(NULL); | 6177 AutomationJSONReply(this, reply_message).SendSuccess(NULL); |
6178 return; | 6178 return; |
(...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6917 bool* success) { | 6917 bool* success) { |
6918 *success = false; | 6918 *success = false; |
6919 if (tab_tracker_->ContainsHandle(tab_handle)) { | 6919 if (tab_tracker_->ContainsHandle(tab_handle)) { |
6920 NavigationController* nav = tab_tracker_->GetResource(tab_handle); | 6920 NavigationController* nav = tab_tracker_->GetResource(tab_handle); |
6921 if (!nav) | 6921 if (!nav) |
6922 return; | 6922 return; |
6923 WebContents* contents = nav->GetWebContents(); | 6923 WebContents* contents = nav->GetWebContents(); |
6924 if (!contents) | 6924 if (!contents) |
6925 return; | 6925 return; |
6926 RenderViewHost* host = contents->GetRenderViewHost(); | 6926 RenderViewHost* host = contents->GetRenderViewHost(); |
6927 host->Send(new ChromeViewMsg_LoadBlockedPlugins(host->routing_id())); | 6927 host->Send(new ChromeViewMsg_LoadBlockedPlugins(host->GetRoutingID())); |
6928 *success = true; | 6928 *success = true; |
6929 } | 6929 } |
6930 } | 6930 } |
6931 | 6931 |
6932 void TestingAutomationProvider::ResetToDefaultTheme() { | 6932 void TestingAutomationProvider::ResetToDefaultTheme() { |
6933 ThemeServiceFactory::GetForProfile(profile_)->UseDefaultTheme(); | 6933 ThemeServiceFactory::GetForProfile(profile_)->UseDefaultTheme(); |
6934 } | 6934 } |
6935 | 6935 |
6936 void TestingAutomationProvider::WaitForProcessLauncherThreadToGoIdle( | 6936 void TestingAutomationProvider::WaitForProcessLauncherThreadToGoIdle( |
6937 IPC::Message* reply_message) { | 6937 IPC::Message* reply_message) { |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6973 | 6973 |
6974 Send(reply_message_); | 6974 Send(reply_message_); |
6975 redirect_query_ = 0; | 6975 redirect_query_ = 0; |
6976 reply_message_ = NULL; | 6976 reply_message_ = NULL; |
6977 } | 6977 } |
6978 | 6978 |
6979 void TestingAutomationProvider::OnRemoveProvider() { | 6979 void TestingAutomationProvider::OnRemoveProvider() { |
6980 if (g_browser_process) | 6980 if (g_browser_process) |
6981 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); | 6981 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); |
6982 } | 6982 } |
OLD | NEW |