| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2 * http://msdn.microsoft.com/en-us/library/bb250436.aspx | 2 * http://msdn.microsoft.com/en-us/library/bb250436.aspx | 
| 3 */ | 3 */ | 
| 4 | 4 | 
| 5 #ifndef _PLUGIN_CLASS_H_ | 5 #ifndef _PLUGIN_CLASS_H_ | 
| 6 #define _PLUGIN_CLASS_H_ | 6 #define _PLUGIN_CLASS_H_ | 
| 7 | 7 | 
| 8 | 8 | 
| 9 #include "PluginTypedef.h" | 9 #include "PluginTypedef.h" | 
| 10 #include "Plugin.h" | 10 #include "Plugin.h" | 
| 11 #include "PluginTab.h" | 11 #include "PluginTab.h" | 
| 12 #define _CRTDBG_MAP_ALLOC | 12 #define _CRTDBG_MAP_ALLOC | 
| 13 #include <stdlib.h> | 13 #include <stdlib.h> | 
| 14 #include <crtdbg.h> | 14 #include <crtdbg.h> | 
| 15 #include <set> | 15 #include <set> | 
| 16 | 16 | 
| 17 #include "NotificationMessage.h" | 17 #include "NotificationMessage.h" | 
| 18 | 18 | 
| 19 #define ICON_PLUGIN_DISABLED 0 | 19 #define ICON_PLUGIN_DISABLED 0 | 
| 20 #define ICON_PLUGIN_ENABLED 1 | 20 #define ICON_PLUGIN_ENABLED 1 | 
| 21 #define ICON_PLUGIN_DEACTIVATED 2 | 21 #define ICON_PLUGIN_DEACTIVATED 2 | 
| 22 #define ICON_MAX 3 | 22 #define ICON_MAX 3 | 
| 23 | 23 | 
| 24 #define WM_LAUNCH_INFO                                  (WM_APP + 10) | 24 #define WM_LAUNCH_INFO                                  (WM_APP + 10) | 
| 25 #define WM_WHITELIST_DOMAIN                     (WM_LAUNCH_INFO + 1) | 25 #define WM_WHITELIST_DOMAIN                     (WM_LAUNCH_INFO + 1) | 
| 26 | 26 | 
| 27 class CPluginMimeFilterClient; | 27 class CPluginMimeFilterClient; | 
| 28 | 28 class WebBrowserEventsListener; | 
| 29 | 29 | 
| 30 class ATL_NO_VTABLE CPluginClass : | 30 class ATL_NO_VTABLE CPluginClass : | 
| 31   public ATL::CComObjectRootEx<ATL::CComMultiThreadModel>, | 31   public ATL::CComObjectRootEx<ATL::CComMultiThreadModel>, | 
| 32   public ATL::CComCoClass<CPluginClass, &CLSID_PluginClass>, | 32   public ATL::CComCoClass<CPluginClass, &CLSID_PluginClass>, | 
| 33   public ATL::IObjectWithSiteImpl<CPluginClass>, | 33   public ATL::IObjectWithSiteImpl<CPluginClass>, | 
| 34   public IOleCommandTarget, | 34   public IOleCommandTarget, | 
| 35   public ATL::IDispEventImpl<1, CPluginClass, &DIID_DWebBrowserEvents2, &LIBID_S
     HDocVw, 1, 1> | 35   public ATL::IDispEventImpl<1, CPluginClass, &DIID_DWebBrowserEvents2, &LIBID_S
     HDocVw, 1, 1> | 
| 36 { | 36 { | 
| 37 | 37 | 
| 38   friend class CPluginTab; | 38   friend class CPluginTab; | 
| 39 | 39 | 
| 40 private: |  | 
| 41 |  | 
| 42   CPluginTab* m_tab; |  | 
| 43 |  | 
| 44 public: | 40 public: | 
| 45 | 41 | 
| 46   DECLARE_REGISTRY_RESOURCEID(IDR_PLUGIN_CLASS) | 42   DECLARE_REGISTRY_RESOURCEID(IDR_PLUGIN_CLASS) | 
| 47 | 43 | 
| 48   DECLARE_PROTECT_FINAL_CONSTRUCT() | 44   DECLARE_PROTECT_FINAL_CONSTRUCT() | 
| 49 | 45 | 
| 50   BEGIN_COM_MAP(CPluginClass) | 46   BEGIN_COM_MAP(CPluginClass) | 
| 51     COM_INTERFACE_ENTRY(IObjectWithSite) | 47     COM_INTERFACE_ENTRY(IObjectWithSite) | 
| 52     COM_INTERFACE_ENTRY(IOleCommandTarget) | 48     COM_INTERFACE_ENTRY(IOleCommandTarget) | 
| 53   END_COM_MAP() | 49   END_COM_MAP() | 
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 127   void STDMETHODCALLTYPE OnDownloadComplete(); | 123   void STDMETHODCALLTYPE OnDownloadComplete(); | 
| 128   void STDMETHODCALLTYPE OnDocumentComplete(IDispatch* frameBrowserDisp, VARIANT
     * /*urlOrPidl*/); | 124   void STDMETHODCALLTYPE OnDocumentComplete(IDispatch* frameBrowserDisp, VARIANT
     * /*urlOrPidl*/); | 
| 129   void STDMETHODCALLTYPE OnWindowStateChanged(unsigned long flags, unsigned long
      validFlagsMask); | 125   void STDMETHODCALLTYPE OnWindowStateChanged(unsigned long flags, unsigned long
      validFlagsMask); | 
| 130   void STDMETHODCALLTYPE OnCommandStateChange(long command, VARIANT_BOOL enable)
     ; | 126   void STDMETHODCALLTYPE OnCommandStateChange(long command, VARIANT_BOOL enable)
     ; | 
| 131   // OnOnQuit | 127   // OnOnQuit | 
| 132   void STDMETHODCALLTYPE Unadvice(); | 128   void STDMETHODCALLTYPE Unadvice(); | 
| 133 | 129 | 
| 134   void ShowStatusBar(); | 130   void ShowStatusBar(); | 
| 135   bool IsStatusBarEnabled(); | 131   bool IsStatusBarEnabled(); | 
| 136 | 132 | 
| 137 public: |  | 
| 138   CComQIPtr<IWebBrowser2> m_webBrowser2; |  | 
| 139 private: | 133 private: | 
| 140   HWND m_hBrowserWnd; | 134   HWND m_hBrowserWnd; | 
| 141   HWND m_hTabWnd; | 135   HWND m_hTabWnd; | 
| 142   HWND m_hStatusBarWnd; | 136   HWND m_hStatusBarWnd; | 
| 143   HWND m_hPaneWnd; | 137   HWND m_hPaneWnd; | 
| 144 | 138 | 
| 145   WNDPROC m_pWndProcStatus; | 139   WNDPROC m_pWndProcStatus; | 
| 146   int m_nPaneWidth; | 140   int m_nPaneWidth; | 
| 147   HANDLE m_hTheme; | 141   HANDLE m_hTheme; | 
|  | 142   struct Data | 
|  | 143   { | 
|  | 144     std::map<IWebBrowser2*, WebBrowserEventsListener*> connectedWebBrowsersCache
     ; | 
|  | 145     std::unique_ptr<CPluginTab> tab; | 
|  | 146     ATL::CComPtr<IWebBrowser2> webBrowser2; | 
|  | 147   }; | 
|  | 148   // we need to have it as a shared pointer to get weak pointer to it to avoid | 
|  | 149   // wrong usage after destroying of this class. | 
|  | 150   std::shared_ptr<Data> m_data; | 
| 148 | 151 | 
| 149   CriticalSection m_csStatusBar; | 152   CriticalSection m_csStatusBar; | 
| 150 | 153 | 
| 151   NotificationMessage notificationMessage; | 154   NotificationMessage notificationMessage; | 
| 152 | 155 | 
| 153   bool m_isAdviced; | 156   bool m_isAdviced; | 
| 154   bool m_isInitializedOk; | 157   bool m_isInitializedOk; | 
| 155 | 158 | 
| 156   // Atom pane class | 159   // Atom pane class | 
| 157   static ATOM s_atomPaneClass; | 160   static ATOM s_atomPaneClass; | 
| (...skipping 24 matching lines...) Expand all  Loading... | 
| 182 | 185 | 
| 183   // Async browser | 186   // Async browser | 
| 184   static CComQIPtr<IWebBrowser2> s_asyncWebBrowser2; | 187   static CComQIPtr<IWebBrowser2> s_asyncWebBrowser2; | 
| 185   static CComQIPtr<IWebBrowser2> GetAsyncBrowser(); | 188   static CComQIPtr<IWebBrowser2> GetAsyncBrowser(); | 
| 186 }; | 189 }; | 
| 187 | 190 | 
| 188 OBJECT_ENTRY_AUTO(__uuidof(PluginClass), CPluginClass) | 191 OBJECT_ENTRY_AUTO(__uuidof(PluginClass), CPluginClass) | 
| 189 | 192 | 
| 190 | 193 | 
| 191 #endif // _PLUGIN_CLASS_H_ | 194 #endif // _PLUGIN_CLASS_H_ | 
| OLD | NEW | 
|---|