Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: chrome_frame/chrome_frame_activex_base.h

Issue 386014: The ChromeFrameAutomationClient class needs to be refcounted as it implements... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome_frame/chrome_active_document.cc ('k') | chrome_frame/chrome_frame_automation.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 #ifndef CHROME_FRAME_CHROME_FRAME_ACTIVEX_BASE_H_ 5 #ifndef CHROME_FRAME_CHROME_FRAME_ACTIVEX_BASE_H_
6 #define CHROME_FRAME_CHROME_FRAME_ACTIVEX_BASE_H_ 6 #define CHROME_FRAME_CHROME_FRAME_ACTIVEX_BASE_H_
7 7
8 #include <atlbase.h> 8 #include <atlbase.h>
9 #include <atlcom.h> 9 #include <atlcom.h>
10 #include <atlctl.h> 10 #include <atlctl.h>
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 args, 127 args,
128 arraysize(args)); 128 arraysize(args));
129 } 129 }
130 }; 130 };
131 131
132 extern bool g_first_launch_by_process_; 132 extern bool g_first_launch_by_process_;
133 133
134 // Common implementation for ActiveX and Active Document 134 // Common implementation for ActiveX and Active Document
135 template <class T, const CLSID& class_id> 135 template <class T, const CLSID& class_id>
136 class ATL_NO_VTABLE ChromeFrameActivexBase : 136 class ATL_NO_VTABLE ChromeFrameActivexBase :
137 public CComObjectRootEx<CComSingleThreadModel>, 137 public CComObjectRootEx<CComMultiThreadModel>,
138 public IOleControlImpl<T>, 138 public IOleControlImpl<T>,
139 public IOleObjectImpl<T>, 139 public IOleObjectImpl<T>,
140 public IOleInPlaceActiveObjectImpl<T>, 140 public IOleInPlaceActiveObjectImpl<T>,
141 public IViewObjectExImpl<T>, 141 public IViewObjectExImpl<T>,
142 public IOleInPlaceObjectWindowlessImpl<T>, 142 public IOleInPlaceObjectWindowlessImpl<T>,
143 public ISupportErrorInfo, 143 public ISupportErrorInfo,
144 public IQuickActivateImpl<T>, 144 public IQuickActivateImpl<T>,
145 public com_util::IProvideClassInfo2Impl<class_id, 145 public com_util::IProvideClassInfo2Impl<class_id,
146 DIID_DIChromeFrameEvents>, 146 DIID_DIChromeFrameEvents>,
147 public com_util::IDispatchImpl<IChromeFrame>, 147 public com_util::IDispatchImpl<IChromeFrame>,
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 } 501 }
502 return 0; 502 return 0;
503 } 503 }
504 504
505 LRESULT OnDestroy(UINT message, WPARAM wparam, LPARAM lparam, 505 LRESULT OnDestroy(UINT message, WPARAM wparam, LPARAM lparam,
506 BOOL& handled) { // NO_LINT 506 BOOL& handled) { // NO_LINT
507 if (worker_thread_.message_loop()) { 507 if (worker_thread_.message_loop()) {
508 worker_thread_.message_loop()->PostTask( 508 worker_thread_.message_loop()->PostTask(
509 FROM_HERE, NewRunnableMethod(this, &Base::OnWorkerStop)); 509 FROM_HERE, NewRunnableMethod(this, &Base::OnWorkerStop));
510 if (automation_client_.get()) 510 if (automation_client_.get())
511 automation_client_->CleanupAsyncRequests(); 511 automation_client_->CleanupRequests();
512 worker_thread_.Stop(); 512 worker_thread_.Stop();
513 } 513 }
514 return 0; 514 return 0;
515 } 515 }
516 516
517 // ChromeFrameDelegate override 517 // ChromeFrameDelegate override
518 virtual void OnAutomationServerReady() { 518 virtual void OnAutomationServerReady() {
519 ChromeFramePlugin<T>::OnAutomationServerReady(); 519 ChromeFramePlugin<T>::OnAutomationServerReady();
520 520
521 ready_state_ = READYSTATE_COMPLETE; 521 ready_state_ = READYSTATE_COMPLETE;
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
1006 EventHandlers onprivatemessage_; 1006 EventHandlers onprivatemessage_;
1007 EventHandlers onextensionready_; 1007 EventHandlers onextensionready_;
1008 1008
1009 // The UrlmonUrlRequest instance instantiated for downloading the base URL. 1009 // The UrlmonUrlRequest instance instantiated for downloading the base URL.
1010 scoped_refptr<CComObject<UrlmonUrlRequest> > base_url_request_; 1010 scoped_refptr<CComObject<UrlmonUrlRequest> > base_url_request_;
1011 1011
1012 base::Thread worker_thread_; 1012 base::Thread worker_thread_;
1013 }; 1013 };
1014 1014
1015 #endif // CHROME_FRAME_CHROME_FRAME_ACTIVEX_BASE_H_ 1015 #endif // CHROME_FRAME_CHROME_FRAME_ACTIVEX_BASE_H_
OLDNEW
« no previous file with comments | « chrome_frame/chrome_active_document.cc ('k') | chrome_frame/chrome_frame_automation.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698