| OLD | NEW |
| 1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2009 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/automation_provider.h" | 5 #include "chrome/browser/automation/automation_provider.h" |
| 6 | 6 |
| 7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
| 8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "base/thread.h" | 10 #include "base/thread.h" |
| 11 #include "chrome/app/chrome_dll_resource.h" | 11 #include "chrome/app/chrome_dll_resource.h" |
| 12 #include "chrome/browser/app_modal_dialog.h" |
| 12 #include "chrome/browser/automation/automation_provider_list.h" | 13 #include "chrome/browser/automation/automation_provider_list.h" |
| 13 #include "chrome/browser/automation/url_request_failed_dns_job.h" | 14 #include "chrome/browser/automation/url_request_failed_dns_job.h" |
| 14 #include "chrome/browser/automation/url_request_mock_http_job.h" | 15 #include "chrome/browser/automation/url_request_mock_http_job.h" |
| 15 #include "chrome/browser/automation/url_request_slow_download_job.h" | 16 #include "chrome/browser/automation/url_request_slow_download_job.h" |
| 16 #include "chrome/browser/browser_window.h" | 17 #include "chrome/browser/browser_window.h" |
| 17 #include "chrome/browser/dom_operation_notification_details.h" | 18 #include "chrome/browser/dom_operation_notification_details.h" |
| 18 #include "chrome/browser/download/download_manager.h" | 19 #include "chrome/browser/download/download_manager.h" |
| 19 #include "chrome/browser/find_bar.h" | 20 #include "chrome/browser/find_bar.h" |
| 20 #include "chrome/browser/find_bar_controller.h" | 21 #include "chrome/browser/find_bar_controller.h" |
| 21 #include "chrome/browser/find_notification_details.h" | 22 #include "chrome/browser/find_notification_details.h" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 36 // TODO(port): Port these headers. | 37 // TODO(port): Port these headers. |
| 37 #include "chrome/browser/app_modal_dialog_queue.h" | 38 #include "chrome/browser/app_modal_dialog_queue.h" |
| 38 #include "chrome/browser/automation/ui_controls.h" | 39 #include "chrome/browser/automation/ui_controls.h" |
| 39 #include "chrome/browser/character_encoding.h" | 40 #include "chrome/browser/character_encoding.h" |
| 40 #include "chrome/browser/download/save_package.h" | 41 #include "chrome/browser/download/save_package.h" |
| 41 #include "chrome/browser/external_tab_container.h" | 42 #include "chrome/browser/external_tab_container.h" |
| 42 #include "chrome/browser/login_prompt.h" | 43 #include "chrome/browser/login_prompt.h" |
| 43 #include "chrome/browser/printing/print_job.h" | 44 #include "chrome/browser/printing/print_job.h" |
| 44 #include "chrome/browser/views/bookmark_bar_view.h" | 45 #include "chrome/browser/views/bookmark_bar_view.h" |
| 45 #include "chrome/browser/views/location_bar_view.h" | 46 #include "chrome/browser/views/location_bar_view.h" |
| 46 #include "chrome/views/window/app_modal_dialog_delegate.h" | 47 #include "chrome/views/window/dialog_delegate.h" |
| 47 #include "chrome/views/window/window.h" | 48 #include "chrome/views/window/window.h" |
| 48 #endif // defined(OS_WIN) | 49 #endif // defined(OS_WIN) |
| 49 | 50 |
| 50 using base::Time; | 51 using base::Time; |
| 51 | 52 |
| 52 class InitialLoadObserver : public NotificationObserver { | 53 class InitialLoadObserver : public NotificationObserver { |
| 53 public: | 54 public: |
| 54 InitialLoadObserver(size_t tab_count, AutomationProvider* automation) | 55 InitialLoadObserver(size_t tab_count, AutomationProvider* automation) |
| 55 : automation_(automation), | 56 : automation_(automation), |
| 56 outstanding_tab_count_(tab_count) { | 57 outstanding_tab_count_(tab_count) { |
| (...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1220 } | 1221 } |
| 1221 | 1222 |
| 1222 void AutomationProvider::GetBrowserWindowCount(int* window_count) { | 1223 void AutomationProvider::GetBrowserWindowCount(int* window_count) { |
| 1223 *window_count = static_cast<int>(BrowserList::size()); | 1224 *window_count = static_cast<int>(BrowserList::size()); |
| 1224 } | 1225 } |
| 1225 | 1226 |
| 1226 #if defined(OS_WIN) | 1227 #if defined(OS_WIN) |
| 1227 // TODO(port): Enable when dialog delegate is ported. | 1228 // TODO(port): Enable when dialog delegate is ported. |
| 1228 void AutomationProvider::GetShowingAppModalDialog(bool* showing_dialog, | 1229 void AutomationProvider::GetShowingAppModalDialog(bool* showing_dialog, |
| 1229 int* dialog_button) { | 1230 int* dialog_button) { |
| 1230 views::AppModalDialogDelegate* dialog_delegate = | 1231 AppModalDialog* dialog_delegate = AppModalDialogQueue::active_dialog(); |
| 1231 AppModalDialogQueue::active_dialog(); | |
| 1232 *showing_dialog = (dialog_delegate != NULL); | 1232 *showing_dialog = (dialog_delegate != NULL); |
| 1233 if (*showing_dialog) | 1233 if (*showing_dialog) |
| 1234 *dialog_button = dialog_delegate->GetDialogButtons(); | 1234 *dialog_button = dialog_delegate->GetDialogButtons(); |
| 1235 else | 1235 else |
| 1236 *dialog_button = views::DialogDelegate::DIALOGBUTTON_NONE; | 1236 *dialog_button = views::DialogDelegate::DIALOGBUTTON_NONE; |
| 1237 } | 1237 } |
| 1238 | 1238 |
| 1239 void AutomationProvider::ClickAppModalDialogButton(int button, bool* success) { | 1239 void AutomationProvider::ClickAppModalDialogButton(int button, bool* success) { |
| 1240 *success = false; | 1240 *success = false; |
| 1241 | 1241 |
| 1242 views::AppModalDialogDelegate* dialog_delegate = | 1242 AppModalDialog* dialog_delegate = AppModalDialogQueue::active_dialog(); |
| 1243 AppModalDialogQueue::active_dialog(); | |
| 1244 if (dialog_delegate && | 1243 if (dialog_delegate && |
| 1245 (dialog_delegate->GetDialogButtons() & button) == button) { | 1244 (dialog_delegate->GetDialogButtons() & button) == button) { |
| 1246 views::DialogClientView* client_view = | |
| 1247 dialog_delegate->window()->GetClientView()->AsDialogClientView(); | |
| 1248 if ((button & views::DialogDelegate::DIALOGBUTTON_OK) == | 1245 if ((button & views::DialogDelegate::DIALOGBUTTON_OK) == |
| 1249 views::DialogDelegate::DIALOGBUTTON_OK) { | 1246 views::DialogDelegate::DIALOGBUTTON_OK) { |
| 1250 client_view->AcceptWindow(); | 1247 dialog_delegate->AcceptWindow(); |
| 1251 *success = true; | 1248 *success = true; |
| 1252 } | 1249 } |
| 1253 if ((button & views::DialogDelegate::DIALOGBUTTON_CANCEL) == | 1250 if ((button & views::DialogDelegate::DIALOGBUTTON_CANCEL) == |
| 1254 views::DialogDelegate::DIALOGBUTTON_CANCEL) { | 1251 views::DialogDelegate::DIALOGBUTTON_CANCEL) { |
| 1255 DCHECK(!*success) << "invalid param, OK and CANCEL specified"; | 1252 DCHECK(!*success) << "invalid param, OK and CANCEL specified"; |
| 1256 client_view->CancelWindow(); | 1253 dialog_delegate->CancelWindow(); |
| 1257 *success = true; | 1254 *success = true; |
| 1258 } | 1255 } |
| 1259 } | 1256 } |
| 1260 } | 1257 } |
| 1261 #endif | 1258 #endif |
| 1262 | 1259 |
| 1263 void AutomationProvider::GetBrowserWindow(int index, int* handle) { | 1260 void AutomationProvider::GetBrowserWindow(int index, int* handle) { |
| 1264 *handle = 0; | 1261 *handle = 0; |
| 1265 if (index >= 0) { | 1262 if (index >= 0) { |
| 1266 BrowserList::const_iterator iter = BrowserList::begin(); | 1263 BrowserList::const_iterator iter = BrowserList::begin(); |
| (...skipping 1509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2776 if (!SetParent(params.window, params.parent_window)) | 2773 if (!SetParent(params.window, params.parent_window)) |
| 2777 DLOG(WARNING) << "SetParent failed. Error 0x%x" << GetLastError(); | 2774 DLOG(WARNING) << "SetParent failed. Error 0x%x" << GetLastError(); |
| 2778 } | 2775 } |
| 2779 } | 2776 } |
| 2780 | 2777 |
| 2781 SetWindowPos(params.window, params.window_insert_after, params.left, | 2778 SetWindowPos(params.window, params.window_insert_after, params.left, |
| 2782 params.top, params.width, params.height, params.flags); | 2779 params.top, params.width, params.height, params.flags); |
| 2783 } | 2780 } |
| 2784 | 2781 |
| 2785 #endif // defined(OS_WIN) | 2782 #endif // defined(OS_WIN) |
| OLD | NEW |