Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: src/plugin/PluginClass.h

Issue 6567422169448448: Issue 119 - Switch to injecting CSS for element hiding (Closed)
Patch Set: Created Dec. 10, 2014, 5:12 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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_
OLDNEW
« no previous file with comments | « adblockplus.gyp ('k') | src/plugin/PluginClass.cpp » ('j') | src/plugin/PluginClass.cpp » ('J')

Powered by Google App Engine
This is Rietveld