summaryrefslogtreecommitdiffstats
path: root/chrome_frame/custom_sync_call_context.h
Commit message (Collapse)AuthorAgeFilesLines
* base::Bind: Convert chrome_frame/.jhawkins@chromium.org2011-11-181-5/+5
| | | | | | | | | | | BUG=none TEST=none R=csilv@chromium.org Review URL: http://codereview.chromium.org/8555001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110744 0039d316-1c4b-4281-b951-d872f2087c98
* Remove explicit keyword from multi-argument (w/o default values) constructorsdilmah@chromium.org2011-07-261-1/+1
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/7477008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94115 0039d316-1c4b-4281-b951-d872f2087c98
* Remove extension automation support that was used only by CEEE.joi@chromium.org2011-04-061-66/+0
| | | | | | | | | BUG=none TEST=all automated tests pass Review URL: http://codereview.chromium.org/6756044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80626 0039d316-1c4b-4281-b951-d872f2087c98
* Move some files from base to base/memory.levin@chromium.org2011-03-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | raw_scoped_refptr_mismatch_checker.h ref_counted.cc ref_counted.h ref_counted_memory.cc ref_counted_memory.h ref_counted_unittest.cc scoped_callback_factory.h scoped_comptr_win.h scoped_handle.h scoped_native_library.cc scoped_native_library.h scoped_native_library_unittest.cc scoped_nsobject.h scoped_open_process.h scoped_ptr.h scoped_ptr_unittest.cc scoped_temp_dir.cc scoped_temp_dir.h scoped_temp_dir_unittest.cc scoped_vector.h singleton.h singleton_objc.h singleton_unittest.cc linked_ptr.h linked_ptr_unittest.cc weak_ptr.cc weak_ptr.h weak_ptr_unittest.cc BUG=None TEST=Compile Review URL: http://codereview.chromium.org/6714032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
* Move CancellationFlag and WaitableEvent to the synchronization subdirectory.brettw@chromium.org2011-01-021-3/+2
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/5977010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70369 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for returning the session_id in both CreateExternalTab and ↵hansl@google.com2010-11-051-3/+4
| | | | | | | | | | | | ConnectExternalTab. The ChromeFrame objects now provides an unfrozen interface called IChromeFramePrivate. This interface provides a GetSessionId() which returns the ID used by Chrome in its Tab javascript object. This ID is necessary in CEEE for its tabs management. BUG=None TEST=None Review URL: http://codereview.chromium.org/4467002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65257 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting this to see if this fixes ChromeFrame tests. Please reland with ↵ananta@chromium.org2010-10-281-4/+3
| | | | | | | | | | | | | the tests fixed. Revert 64252 - The ChromeFrame objects now provides an unfrozen interface called IChromeFramePrivate. This interface provides a GetSessionId() which returns the ID used by Chrome in its Tab javascript object. Review URL: http://codereview.chromium.org/3541017 TBR=hansl@google.com Review URL: http://codereview.chromium.org/4134008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64287 0039d316-1c4b-4281-b951-d872f2087c98
* The ChromeFrame objects now provides an unfrozen interface called ↵hansl@google.com2010-10-281-3/+4
| | | | | | | | IChromeFramePrivate. This interface provides a GetSessionId() which returns the ID used by Chrome in its Tab javascript object. Review URL: http://codereview.chromium.org/3541017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64252 0039d316-1c4b-4281-b951-d872f2087c98
* Added full support for invoking before unload and unload handlers on ↵ananta@chromium.org2010-09-171-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ChromeFrame rendered pages. This allows a webpage to put up a confirmation dialog in its beforeunload handler and potentially cancel the operation. We only support invoking unload handlers on the page for IE full tab mode. To achieve this the active document handles the OLECMDID_ONUNLOAD exec command which is passed by the DOCHOST to the object which allows us to potentially cancel the operation. Thanks to Stoyan for his help in authoring parts of this CL. The AutomationMsg_RunUnloadHandlers message which is used only by ChromeFrame is now a sync message which returns back a bool indicating whether the unload operation can be continued or not. The ExternalTabContainer now implements the BeforeUnloadFired method in the TabContentsDelegate and aborts the unload operation if the user chose to not proceed with the unload. Fixes bug http://code.google.com/p/chromium/issues/detail?id=33200 Bug=33200 Test=Covered by existing unload event test. Will add a test which validates whether a page can cancel the unload operation in a subsequent CL. Review URL: http://codereview.chromium.org/3450014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59854 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the ChromeFrame MockCreateTabOk test by returning the launch result from ↵ananta@chromium.org2010-05-191-2/+4
| | | | | | | | | | | | | | the CreateExternalTabComplete helper and passing the same to the InitializeComplete function which eventually gets passed down to the mock delegate which expects a failure. Bug=44245 TBR=stoyan Review URL: http://codereview.chromium.org/2114009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47617 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the ChromeFrame new window popup test by ensuring that ↵ananta@chromium.org2010-05-191-3/+5
| | | | | | | | | | | | | | | | | CreateExternalTabComplete executes on the IPC thread as before and InitializeComplete executes as a task on the UI thread. The test failed because we receive IPCs for the new tab before we have a tab proxy for it. To fix the crash in bug http://code.google.com/p/chromium/issues/detail?id=44245, we set the automation_server_ member to NULL after ReleaseAutomationServer returns. There are a number of races related to the automation server being released which should hopefully go away if we remove dependency on the AutomationProxy object. Added a TODO to that effect in the code. Bug=44245 Review URL: http://codereview.chromium.org/2079012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47612 0039d316-1c4b-4281-b951-d872f2087c98
* Relanding this fix with the fixes to get chrome frame tests to pass.ananta@chromium.org2010-05-181-0/+123
In ChromeFrame the ChromeFrameAutomationProxy object is created on the background proxy channel thread and is accessed from the UI thread, the proxy channel thread and the IPC thread. This leads to a race condition when ChromeFrame is being torn down which occurs because the ChromeFrameAutomationProxy pointer is being set to NULL in the UI thread/deleted in the proxy background thread while it could be accessed while processing a callback in the IPC thread thus causing a crash. Fix is to ensure that the IPC thread does not access the ChromeFrameAutomationProxy pointer. To achieve this the callbacks are now individual context objects which when invoked forward the actions to the ChromeFrameAutomationClient object. The CreateExternalTab and ConnectExternalTab callbacks now complete their actions on the UI thread. While at this based on a discussion and lot of help from Stoyan we decided to clean up the sync message dispatching code used by ChromeFrame by having callbacks now derive from a SyncMessageCallContext class to ensure that these get cleaned up correctly in all cases. For e.g. if we don't receive a response for a message, etc and thus enable them to present a consistent interface to be invoked when we receive a response for a IPc message. Fixes bug http://code.google.com/p/chromium/issues/detail?id=44245 Bug=44245 TBR=stoyan Review URL: http://codereview.chromium.org/2119004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47494 0039d316-1c4b-4281-b951-d872f2087c98