| 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 #ifndef CHROME_FRAME_CHROME_FRAME_AUTOMATION_H_ | 5 #ifndef CHROME_FRAME_CHROME_FRAME_AUTOMATION_H_ |
| 6 #define CHROME_FRAME_CHROME_FRAME_AUTOMATION_H_ | 6 #define CHROME_FRAME_CHROME_FRAME_AUTOMATION_H_ |
| 7 | 7 |
| 8 #include <atlbase.h> | 8 #include <atlbase.h> |
| 9 #include <atlwin.h> | 9 #include <atlwin.h> |
| 10 #include <map> | 10 #include <map> |
| 11 #include <string> | 11 #include <string> |
| 12 #include <vector> | 12 #include <vector> |
| 13 | 13 |
| 14 #include "base/containers/stack_container.h" |
| 14 #include "base/memory/ref_counted.h" | 15 #include "base/memory/ref_counted.h" |
| 15 #include "base/memory/scoped_handle.h" | 16 #include "base/memory/scoped_handle.h" |
| 16 #include "base/stack_container.h" | |
| 17 #include "base/synchronization/lock.h" | 17 #include "base/synchronization/lock.h" |
| 18 #include "base/threading/thread.h" | 18 #include "base/threading/thread.h" |
| 19 #include "base/timer.h" | 19 #include "base/timer.h" |
| 20 #include "chrome/test/automation/automation_proxy.h" | 20 #include "chrome/test/automation/automation_proxy.h" |
| 21 #include "chrome/test/automation/tab_proxy.h" | 21 #include "chrome/test/automation/tab_proxy.h" |
| 22 #include "chrome_frame/chrome_frame_delegate.h" | 22 #include "chrome_frame/chrome_frame_delegate.h" |
| 23 #include "chrome_frame/plugin_url_request.h" | 23 #include "chrome_frame/plugin_url_request.h" |
| 24 #include "chrome_frame/sync_msg_reply_dispatcher.h" | 24 #include "chrome_frame/sync_msg_reply_dispatcher.h" |
| 25 #include "content/public/common/page_zoom.h" | 25 #include "content/public/common/page_zoom.h" |
| 26 | 26 |
| (...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 287 // delegate may be NULL. If non-null, a pointer to the delegate will | 287 // delegate may be NULL. If non-null, a pointer to the delegate will |
| 288 // be stored for the lifetime of the automation process or until | 288 // be stored for the lifetime of the automation process or until |
| 289 // ReleaseAutomationServer is called. | 289 // ReleaseAutomationServer is called. |
| 290 virtual void GetAutomationServer(LaunchDelegate* delegate, | 290 virtual void GetAutomationServer(LaunchDelegate* delegate, |
| 291 ChromeFrameLaunchParams* params, | 291 ChromeFrameLaunchParams* params, |
| 292 void** automation_server_id); | 292 void** automation_server_id); |
| 293 virtual bool ReleaseAutomationServer(void* server_id, | 293 virtual bool ReleaseAutomationServer(void* server_id, |
| 294 LaunchDelegate* delegate); | 294 LaunchDelegate* delegate); |
| 295 | 295 |
| 296 private: | 296 private: |
| 297 typedef StackVector<scoped_refptr<AutomationProxyCacheEntry>, 4> Vector; | 297 typedef base::StackVector<scoped_refptr<AutomationProxyCacheEntry>, 4> Vector; |
| 298 Vector proxies_; | 298 Vector proxies_; |
| 299 // Lock if we are going to call GetAutomationServer from more than one thread. | 299 // Lock if we are going to call GetAutomationServer from more than one thread. |
| 300 base::Lock lock_; | 300 base::Lock lock_; |
| 301 }; | 301 }; |
| 302 | 302 |
| 303 // Handles all automation requests initiated from the chrome frame objects. | 303 // Handles all automation requests initiated from the chrome frame objects. |
| 304 // These include the chrome tab/chrome frame activex plugin objects. | 304 // These include the chrome tab/chrome frame activex plugin objects. |
| 305 class ChromeFrameAutomationClient | 305 class ChromeFrameAutomationClient |
| 306 : public CWindowImpl<ChromeFrameAutomationClient>, | 306 : public CWindowImpl<ChromeFrameAutomationClient>, |
| 307 public TaskMarshallerThroughWindowsMessages<ChromeFrameAutomationClient>, | 307 public TaskMarshallerThroughWindowsMessages<ChromeFrameAutomationClient>, |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 527 | 527 |
| 528 // Set to true if Chrome Frame should tell Chrome to delay shutdown after | 528 // Set to true if Chrome Frame should tell Chrome to delay shutdown after |
| 529 // we break a connection. Currently used only as part of a field trial. | 529 // we break a connection. Currently used only as part of a field trial. |
| 530 bool send_shutdown_delay_switch_; | 530 bool send_shutdown_delay_switch_; |
| 531 | 531 |
| 532 friend class BeginNavigateContext; | 532 friend class BeginNavigateContext; |
| 533 friend class CreateExternalTabContext; | 533 friend class CreateExternalTabContext; |
| 534 }; | 534 }; |
| 535 | 535 |
| 536 #endif // CHROME_FRAME_CHROME_FRAME_AUTOMATION_H_ | 536 #endif // CHROME_FRAME_CHROME_FRAME_AUTOMATION_H_ |
| OLD | NEW |