| LEFT | RIGHT | 
|---|
| 1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" | 
| 2 | 2 | 
| 3 #include "PluginClass.h" | 3 #include "PluginClass.h" | 
| 4 #include "PluginSettings.h" | 4 #include "PluginSettings.h" | 
| 5 #include "PluginSystem.h" | 5 #include "PluginSystem.h" | 
| 6 #ifdef SUPPORT_FILTER | 6 #ifdef SUPPORT_FILTER | 
| 7 #include "PluginFilter.h" | 7 #include "PluginFilter.h" | 
| 8 #endif | 8 #endif | 
| 9 #include "PluginMimeFilterClient.h" | 9 #include "PluginMimeFilterClient.h" | 
| 10 #include "PluginClient.h" | 10 #include "PluginClient.h" | 
| 11 #include "PluginClientFactory.h" | 11 #include "PluginClientFactory.h" | 
| 12 #include "PluginMutex.h" | 12 #include "PluginMutex.h" | 
| 13 #include "sddl.h" | 13 #include "sddl.h" | 
| 14 #include "PluginUtil.h" | 14 #include "PluginUtil.h" | 
| 15 #include "PluginUserSettings.h" | 15 #include "PluginUserSettings.h" | 
| 16 #include "../shared/Utils.h" |  | 
| 17 | 16 | 
| 18 #include "../shared/Dictionary.h" | 17 #include "../shared/Dictionary.h" | 
| 19 |  | 
| 20 | 18 | 
| 21 #ifdef DEBUG_HIDE_EL | 19 #ifdef DEBUG_HIDE_EL | 
| 22 DWORD profileTime = 0; | 20 DWORD profileTime = 0; | 
| 23 #endif | 21 #endif | 
| 24 | 22 | 
| 25 typedef HANDLE (WINAPI *OPENTHEMEDATA)(HWND, LPCWSTR); | 23 typedef HANDLE (WINAPI *OPENTHEMEDATA)(HWND, LPCWSTR); | 
| 26 typedef HRESULT (WINAPI *DRAWTHEMEBACKGROUND)(HANDLE, HDC, INT, INT, LPRECT, LPR
      ECT); | 24 typedef HRESULT (WINAPI *DRAWTHEMEBACKGROUND)(HANDLE, HDC, INT, INT, LPRECT, LPR
      ECT); | 
| 27 typedef HRESULT (WINAPI *CLOSETHEMEDATA)(HANDLE); | 25 typedef HRESULT (WINAPI *CLOSETHEMEDATA)(HANDLE); | 
| 28 | 26 | 
| 29 | 27 | 
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 208   else | 206   else | 
| 209   { | 207   { | 
| 210     url = m_tab->GetDocumentUrl(); | 208     url = m_tab->GetDocumentUrl(); | 
| 211   } | 209   } | 
| 212 | 210 | 
| 213   return url; | 211   return url; | 
| 214 } | 212 } | 
| 215 | 213 | 
| 216 DWORD WINAPI CPluginClass::StartInitObject(LPVOID thisPtr) | 214 DWORD WINAPI CPluginClass::StartInitObject(LPVOID thisPtr) | 
| 217 { | 215 { | 
| 218   INITCOMMONCONTROLSEX commControls; |  | 
| 219   commControls.dwSize = sizeof(INITCOMMONCONTROLSEX); |  | 
| 220   commControls.dwICC = ICC_USEREX_CLASSES | ICC_STANDARD_CLASSES | ICC_BAR_CLASS
      ES; |  | 
| 221   InitCommonControlsEx(&commControls); |  | 
| 222   if (thisPtr == NULL) | 216   if (thisPtr == NULL) | 
| 223     return 0; | 217     return 0; | 
| 224   if (!((CPluginClass*)thisPtr)->InitObject(true)) | 218   if (!((CPluginClass*)thisPtr)->InitObject(true)) | 
| 225   { | 219   { | 
| 226     ((CPluginClass*)thisPtr)->Unadvice(); | 220     ((CPluginClass*)thisPtr)->Unadvice(); | 
| 227   } | 221   } | 
| 228 | 222 | 
| 229   return 0; | 223   return 0; | 
| 230 } | 224 } | 
| 231 | 225 | 
| 232 | 226 | 
| 233 | 227 | 
| 234 // This gets called when a new browser window is created (which also triggers th
      e | 228 // This gets called when a new browser window is created (which also triggers th
      e | 
| 235 // creation of this object). The pointer passed in should be to a IWebBrowser2 | 229 // creation of this object). The pointer passed in should be to a IWebBrowser2 | 
| 236 // interface that represents the browser for the window. | 230 // interface that represents the browser for the window. | 
| 237 // it is also called when a tab is closed, this unknownSite will be null | 231 // it is also called when a tab is closed, this unknownSite will be null | 
| 238 // so we should handle that it is called this way several times during a session | 232 // so we should handle that it is called this way several times during a session | 
| 239 STDMETHODIMP CPluginClass::SetSite(IUnknown* unknownSite) | 233 STDMETHODIMP CPluginClass::SetSite(IUnknown* unknownSite) | 
| 240 { | 234 { | 
| 241   CPluginSettings* settings = CPluginSettings::GetInstance(); | 235   CPluginSettings* settings = CPluginSettings::GetInstance(); | 
| 242   CPluginSystem* system = CPluginSystem::GetInstance(); | 236   CPluginSystem* system = CPluginSystem::GetInstance(); | 
| 243 | 237 | 
| 244   MULTIPLE_VERSIONS_CHECK(); | 238   MULTIPLE_VERSIONS_CHECK(); | 
| 245 | 239 | 
| 246   if (unknownSite) | 240   if (unknownSite) | 
| 247   { | 241   { | 
| 248 | 242 | 
| 249     DEBUG_GENERAL(L"============================================================
      ====================\nNEW TAB UI\n==============================================
      ==================================") | 243     DEBUG_GENERAL(L"============================================================
      ====================\nNEW TAB UI\n==============================================
      ==================================") | 
| 250 | 244 | 
| 251     HRESULT hr = ::CoInitialize(NULL); | 245     HRESULT hr = ::CoInitialize(NULL); | 
| 252     if (FAILED(hr)) | 246     if (FAILED(hr)) | 
| 253     { | 247     { | 
| 254       DEBUG_ERROR_LOG(hr, PLUGIN_ERROR_SET_SITE, PLUGIN_ERROR_SET_SITE_COINIT, "
      Class::SetSite - CoInitialize"); | 248       DEBUG_ERROR_LOG(hr, PLUGIN_ERROR_SET_SITE, PLUGIN_ERROR_SET_SITE_COINIT, "
      Class::SetSite - CoInitialize"); | 
| 255     } | 249     } | 
| 256 | 250 | 
| 257     s_criticalSectionBrowser.Lock(); | 251     s_criticalSectionBrowser.Lock(); | 
| 258     { | 252     { | 
| (...skipping 1011 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1270   int nCommand = ::TrackPopupMenu(hMenu, nMenuFlags, pt.x, pt.y, 0, hMenuWnd, 0)
      ; | 1264   int nCommand = ::TrackPopupMenu(hMenu, nMenuFlags, pt.x, pt.y, 0, hMenuWnd, 0)
      ; | 
| 1271 | 1265 | 
| 1272   ::DestroyMenu(hMenu); | 1266   ::DestroyMenu(hMenu); | 
| 1273   ::DestroyWindow(hMenuWnd); | 1267   ::DestroyWindow(hMenuWnd); | 
| 1274 | 1268 | 
| 1275   switch (nCommand) | 1269   switch (nCommand) | 
| 1276   { | 1270   { | 
| 1277   case ID_MENU_UPDATE: | 1271   case ID_MENU_UPDATE: | 
| 1278     { | 1272     { | 
| 1279       CPluginClient* client = CPluginClient::GetInstance(); | 1273       CPluginClient* client = CPluginClient::GetInstance(); | 
| 1280       notifMessage.SetParent(m_hPaneWnd); | 1274       client->CheckForUpdates(); | 
| 1281       Dictionary* dictionary = Dictionary::GetInstance(); |  | 
| 1282       std::wstring checkingText = dictionary->Lookup("updater", "checking-for-up
      dates-text"); |  | 
| 1283       std::wstring checkingTitle = dictionary->Lookup("updater", "checking-for-u
      pdates-title"); |  | 
| 1284 |  | 
| 1285       notifMessage.Show(checkingText.c_str(), TTI_INFO); |  | 
| 1286       notifMessage.SetTextAndIcon(checkingText.c_str(), checkingTitle.c_str(), T
      TI_INFO); |  | 
| 1287       client->CheckForUpdates(m_hPaneWnd); |  | 
| 1288     } | 1275     } | 
| 1289     break; | 1276     break; | 
| 1290   case ID_MENU_DISABLE: | 1277   case ID_MENU_DISABLE: | 
| 1291     { | 1278     { | 
| 1292       CPluginSettings* settings = CPluginSettings::GetInstance(); | 1279       CPluginSettings* settings = CPluginSettings::GetInstance(); | 
| 1293 | 1280 | 
| 1294       settings->TogglePluginEnabled(); | 1281       settings->TogglePluginEnabled(); | 
| 1295 | 1282 | 
| 1296       // Enable / disable mime filter | 1283       // Enable / disable mime filter | 
| 1297       s_criticalSectionLocal.Lock(); | 1284       s_criticalSectionLocal.Lock(); | 
| (...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1784     break; | 1771     break; | 
| 1785   case SC_CLOSE: | 1772   case SC_CLOSE: | 
| 1786     break; | 1773     break; | 
| 1787 | 1774 | 
| 1788   case WM_UPDATEUISTATE: | 1775   case WM_UPDATEUISTATE: | 
| 1789     { | 1776     { | 
| 1790       CPluginTab* tab = GetTab(::GetCurrentThreadId()); | 1777       CPluginTab* tab = GetTab(::GetCurrentThreadId()); | 
| 1791       if (tab) | 1778       if (tab) | 
| 1792       { | 1779       { | 
| 1793         tab->OnActivate(); | 1780         tab->OnActivate(); | 
| 1794         RECT rect; | 1781       } | 
| 1795         GetWindowRect(pClass->m_hPaneWnd, &rect); |  | 
| 1796         pClass->notifMessage.Move(rect.left + (rect.right - rect.left) / 2, rect
      .top + (rect.bottom - rect.top) / 2); |  | 
| 1797       } |  | 
| 1798       pClass->notifMessage.Hide(); |  | 
| 1799     } |  | 
| 1800     break; |  | 
| 1801   case WM_WINDOWPOSCHANGING: |  | 
| 1802     { |  | 
| 1803       RECT rect; |  | 
| 1804       GetWindowRect(pClass->m_hPaneWnd, &rect); |  | 
| 1805       pClass->notifMessage.Move(rect.left + (rect.right - rect.left) / 2, rect.t
      op + (rect.bottom - rect.top) / 2); |  | 
| 1806     } |  | 
| 1807     break; |  | 
| 1808   case WM_ALREADY_UP_TO_DATE: |  | 
| 1809     { |  | 
| 1810       Dictionary* dictionary = Dictionary::GetInstance(); |  | 
| 1811       std::wstring upToDateText = dictionary->Lookup("updater", "update-already-
      up-to-date-text"); |  | 
| 1812       std::wstring upToDateTitle = dictionary->Lookup("updater", "update-already
      -up-to-date-title"); |  | 
| 1813       pClass->notifMessage.SetTextAndIcon(upToDateText.c_str(), upToDateTitle.c_
      str(), TTI_INFO); |  | 
| 1814     } |  | 
| 1815     break; |  | 
| 1816   case WM_UPDATE_CHECK_ERROR: |  | 
| 1817     { |  | 
| 1818       Dictionary* dictionary = Dictionary::GetInstance(); |  | 
| 1819       std::wstring errorText = dictionary->Lookup("updater", "update-error-text"
      ); |  | 
| 1820       std::wstring errorTitle = dictionary->Lookup("updater", "update-error-titl
      e"); |  | 
| 1821       pClass->notifMessage.SetTextAndIcon(errorText.c_str(), errorText.c_str(), 
      TTI_ERROR); |  | 
| 1822     } |  | 
| 1823     break; |  | 
| 1824   case WM_DOWNLOADING_UPDATE: |  | 
| 1825     { |  | 
| 1826       Dictionary* dictionary = Dictionary::GetInstance(); |  | 
| 1827       std::wstring downloadingText = dictionary->Lookup("updater", "downloading-
      update-text"); |  | 
| 1828       std::wstring downloadingTitle = dictionary->Lookup("updater", "downloading
      -update-title"); |  | 
| 1829       pClass->notifMessage.SetTextAndIcon(downloadingText.c_str(), downloadingTi
      tle.c_str(), TTI_ERROR); |  | 
| 1830     } | 1782     } | 
| 1831     break; | 1783     break; | 
| 1832   } | 1784   } | 
| 1833 | 1785 | 
| 1834   return DefWindowProc(hWnd, message, wParam, lParam); | 1786   return DefWindowProc(hWnd, message, wParam, lParam); | 
| 1835 } | 1787 } | 
| 1836 | 1788 | 
| 1837 | 1789 | 
| 1838 void CPluginClass::UpdateStatusBar() | 1790 void CPluginClass::UpdateStatusBar() | 
| 1839 { | 1791 { | 
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1961         } | 1913         } | 
| 1962       } | 1914       } | 
| 1963     } | 1915     } | 
| 1964 | 1916 | 
| 1965     hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); | 1917     hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); | 
| 1966   } | 1918   } | 
| 1967 | 1919 | 
| 1968   return hTabWnd; | 1920   return hTabWnd; | 
| 1969 | 1921 | 
| 1970 } | 1922 } | 
| LEFT | RIGHT | 
|---|