FireBreath  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Pages
void ActiveXBrowserHost::shutdown ( void  )
virtual

Notifies the browserhost object that the associated plugin object is shutting down.

This triggers events such as releasing all JSAPI objects that have been passed to the browser and disables cross-thread calls (since our context is going away if the plugin is shutting down)

Since
1.4a3

Reimplemented from FB::BrowserHost.

Definition at line 137 of file ActiveXBrowserHost.cpp.

References FB::SafeQueue< Data >::empty(), and FB::BrowserHost::shutdown().

138 {
139  {
140  // First, make sure that no async calls are made while we're shutting down
141  boost::upgrade_lock<boost::shared_mutex> _l(m_xtmutex);
142  // Next, kill the message window so that none that have been made go through
143  m_messageWin.reset();
144  }
145  ReleaseAllHeldObjects();
146 
147  // Finally, run the main browser shutdown, which will fire off any cross-thread
148  // calls that somehow haven't made it through yet
150 
151  // Once that's done let's release any ActiveX resources that the browserhost
152  // is holding
153  suspend();
154  assert(m_deferredObjects.empty());
155 }
bool empty() const
Queries if the queue is empty.
Definition: SafeQueue.h:60
virtual void shutdown()
Notifies the browserhost object that the associated plugin object is shutting down.
Definition: BrowserHost.cpp:87

Here is the call graph for this function: