Index: src/plugin/PluginClass.h |
=================================================================== |
--- a/src/plugin/PluginClass.h |
+++ b/src/plugin/PluginClass.h |
@@ -79,15 +79,10 @@ |
CPluginClass(); |
~CPluginClass(); |
- HRESULT FinalConstruct(); |
- void FinalRelease(); |
- |
// IObjectWithSite |
- |
STDMETHOD(SetSite)(IUnknown *pUnkSite); |
// IOleCommandTarget |
- |
STDMETHOD(QueryStatus)(const GUID* pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT* pCmdText); |
STDMETHOD(Exec)(const GUID*, DWORD nCmdID, DWORD, VARIANTARG*, VARIANTARG* pvaOut); |
@@ -96,7 +91,6 @@ |
CPluginTab* GetTab(); |
void UpdateStatusBar(); |
- static DWORD WINAPI MainThreadProc(LPVOID pParam); |
private: |
@@ -108,9 +102,7 @@ |
public: |
HWND GetBrowserHWND() const; |
- HWND GetTabHWND() const; |
- CComQIPtr<IWebBrowser2> GetBrowser() const; |
- |
+ bool IsRootBrowser(IWebBrowser2*); |
static CPluginMimeFilterClient* s_mimeFilter; |
@@ -146,9 +138,15 @@ |
void ShowStatusBar(); |
bool IsStatusBarEnabled(); |
-public: |
- CComQIPtr<IWebBrowser2> m_webBrowser2; |
-private: |
+ /** |
+ * Our site object as a browser. |
+ * |
+ * It's values are set and reset solely in SetSite(). |
+ * The declaration as CComPtr is defensive programming; |
+ * it ensures that the site keeps this interface alive for us in the |
+ * unlikely case that the site is different from a browser. |
+ */ |
+ CComPtr<IWebBrowser2> m_webBrowser2; |
HWND m_hBrowserWnd; |
HWND m_hTabWnd; |
HWND m_hStatusBarWnd; |
@@ -180,14 +178,10 @@ |
static HANDLE s_hMainThread; |
static bool s_isMainThreadDone; |
- static HANDLE GetMainThreadHandle(); |
- static bool IsMainThreadDone(HANDLE mainThread); |
- |
static HINSTANCE s_hUxtheme; |
static std::set<CPluginClass*> s_instances; |
static std::map<DWORD,CPluginClass*> s_threadInstances; |
static CComAutoCriticalSection s_criticalSectionLocal; |
- static CComAutoCriticalSection s_criticalSectionBrowser; |
static CComAutoCriticalSection s_criticalSectionWindow; |
// Async browser |