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

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

Issue 29323611: Issue #1234, #2058 - Rewrite log facility, improving thread implementation
Patch Set: rebase to current tip Created Jan. 5, 2016, 2:52 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 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-2015 Eyeo GmbH 3 * Copyright (C) 2006-2015 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details. 12 * GNU General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU General Public License 14 * You should have received a copy of the GNU General Public License
15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. 15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
16 */ 16 */
17 17
18 #include "PluginStdAfx.h" 18 #include "PluginStdAfx.h"
19 19
20 #include "PluginClass.h" 20 #include "PluginClass.h"
21 #include "PluginSettings.h" 21 #include "PluginSettings.h"
22 #include "PluginSystem.h" 22 #include "PluginSystem.h"
23 #include "PluginFilter.h" 23 #include "PluginFilter.h"
24 #include "PluginMimeFilterClient.h" 24 #include "PluginMimeFilterClient.h"
25 #include "AdblockPlusClient.h" 25 #include "AdblockPlusClient.h"
26 #include "PluginClientBase.h"
27 #include "PluginClientFactory.h" 26 #include "PluginClientFactory.h"
28 #include "PluginUtil.h" 27 #include "PluginUtil.h"
29 #include "../shared/Utils.h" 28 #include "../shared/Utils.h"
30 #include "../shared/Dictionary.h" 29 #include "../shared/Dictionary.h"
31 #include "IeVersion.h" 30 #include "IeVersion.h"
32 #include "../shared/Version.h" 31 #include "../shared/Version.h"
33 #include <thread> 32 #include <thread>
34 #include <array> 33 #include <array>
35 34
36 #ifdef DEBUG_HIDE_EL 35 #ifdef DEBUG_HIDE_EL
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 CComBSTR curLoc; 430 CComBSTR curLoc;
432 browser->get_LocationURL(&curLoc); 431 browser->get_LocationURL(&curLoc);
433 HRESULT hr = browser->Navigate(curLoc, &vFlags, NULL, NULL, NULL); 432 HRESULT hr = browser->Navigate(curLoc, &vFlags, NULL, NULL, NULL);
434 if (FAILED(hr)) 433 if (FAILED(hr))
435 { 434 {
436 vFlags.intVal = navOpenInNewWindow; 435 vFlags.intVal = navOpenInNewWindow;
437 436
438 hr = browser->Navigate(CComBSTR(curLoc), &vFlags, NULL, NULL, NULL); 437 hr = browser->Navigate(CComBSTR(curLoc), &vFlags, NULL, NULL, NULL);
439 if (FAILED(hr)) 438 if (FAILED(hr))
440 { 439 {
441 DEBUG_ERROR_LOG(hr, PLUGIN_ERROR_NAVIGATION, PLUGIN_ERROR_NAVIGATI ON, "Navigation::Failed") 440 DEBUG_ERROR_LOG(hr, PLUGIN_ERROR_NAVIGATION, PLUGIN_ERROR_NAVIGATI ON, "Navigation::Failed");
442 } 441 }
443 } 442 }
444 browser->Quit(); 443 browser->Quit();
445 } 444 }
446 } 445 }
447 } 446 }
448 else 447 else
449 { 448 {
450 DEBUG_ERROR_LOG(hr, PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_GET_STATUSBAR, "Class ::Get statusbar state"); 449 DEBUG_ERROR_LOG(hr, PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_GET_STATUSBAR, "Class ::Get statusbar state");
451 } 450 }
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 { 736 {
738 CriticalSection::Lock lock(m_csStatusBar); 737 CriticalSection::Lock lock(m_csStatusBar);
739 738
740 CPluginClient* client = CPluginClient::GetInstance(); 739 CPluginClient* client = CPluginClient::GetInstance();
741 740
742 std::array<wchar_t, MAX_PATH> className; 741 std::array<wchar_t, MAX_PATH> className;
743 // Get browser window and url 742 // Get browser window and url
744 HWND hBrowserWnd = GetBrowserHWND(); 743 HWND hBrowserWnd = GetBrowserHWND();
745 if (!hBrowserWnd) 744 if (!hBrowserWnd)
746 { 745 {
747 DEBUG_ERROR_LOG(0, PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_NO_STATUSBAR_BROWSER, "C lass::CreateStatusBarPane - No status bar") 746 TRACE("No window handle for browser site", HERE_F);
748 return false; 747 return false;
749 } 748 }
750 749
751 // Looking for a TabWindowClass window in IE7 750 // Looking for a TabWindowClass window in IE7
752 // the last one should be parent for statusbar 751 // the last one should be parent for statusbar
753 HWND hWndStatusBar = NULL; 752 HWND hWndStatusBar = NULL;
754 753
755 HWND hTabWnd = ::GetWindow(hBrowserWnd, GW_CHILD); 754 HWND hTabWnd = ::GetWindow(hBrowserWnd, GW_CHILD);
756 UINT amoundOfNewTabs = 0; 755 UINT amoundOfNewTabs = 0;
757 HWND uniqueNewTab = NULL; 756 HWND uniqueNewTab = NULL;
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
819 { 818 {
820 hWndStatusBar = hWnd; 819 hWndStatusBar = hWnd;
821 break; 820 break;
822 } 821 }
823 822
824 hWnd = ::GetWindow(hWnd, GW_HWNDNEXT); 823 hWnd = ::GetWindow(hWnd, GW_HWNDNEXT);
825 } 824 }
826 825
827 if (!hWndStatusBar) 826 if (!hWndStatusBar)
828 { 827 {
829 DEBUG_ERROR_LOG(0, PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_NO_STATUSBAR_WIN, "Class ::CreateStatusBarPane - No status bar") 828 TRACE("No status bar", HERE_F);
830 return true; 829 return true;
831 } 830 }
832 831
833 // Calculate pane height 832 // Calculate pane height
834 AdblockPlus::Rectangle rcStatusBar; 833 AdblockPlus::Rectangle rcStatusBar;
835 ::GetClientRect(hWndStatusBar, &rcStatusBar); 834 ::GetClientRect(hWndStatusBar, &rcStatusBar);
836 835
837 if (rcStatusBar.Height() > 0) 836 if (rcStatusBar.Height() > 0)
838 { 837 {
839 if (rcStatusBar.Height() < iconWidth) 838 if (rcStatusBar.Height() < iconWidth)
(...skipping 23 matching lines...) Expand all
863 L"", 862 L"",
864 WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, 863 WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
865 rcStatusBar.Width() - 500, 0, m_nPaneWidth, rcStatusBar.Height(), 864 rcStatusBar.Width() - 500, 0, m_nPaneWidth, rcStatusBar.Height(),
866 hWndStatusBar, 865 hWndStatusBar,
867 (HMENU)3671, 866 (HMENU)3671,
868 _Module.m_hInst, 867 _Module.m_hInst,
869 NULL); 868 NULL);
870 869
871 if (!hWndNewPane) 870 if (!hWndNewPane)
872 { 871 {
873 DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_CREATE_ST ATUSBAR_PANE, "Class::CreateStatusBarPane - CreateWindowEx") 872 DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_CREATE_ST ATUSBAR_PANE, "Class::CreateStatusBarPane - CreateWindowEx");
874 return false; 873 return false;
875 } 874 }
876 875
877 DEBUG_GENERAL("ABP window created"); 876 DEBUG_GENERAL("ABP window created");
878 m_hTabWnd = hTabWnd; 877 m_hTabWnd = hTabWnd;
879 m_hStatusBarWnd = hWndStatusBar; 878 m_hStatusBarWnd = hWndStatusBar;
880 m_hPaneWnd = hWndNewPane; 879 m_hPaneWnd = hWndNewPane;
881 880
882 UpdateTheme(); 881 UpdateTheme();
883 882
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
919 918
920 HRESULT hr = GetAsyncBrowser()->Navigate(navigatePath, &vFlags, NULL, NULL, NU LL); 919 HRESULT hr = GetAsyncBrowser()->Navigate(navigatePath, &vFlags, NULL, NULL, NU LL);
921 if (FAILED(hr)) 920 if (FAILED(hr))
922 { 921 {
923 vFlags.intVal = navOpenInNewWindow; 922 vFlags.intVal = navOpenInNewWindow;
924 hr = GetAsyncBrowser()->Navigate(navigatePath, &vFlags, NULL, NULL, NULL); 923 hr = GetAsyncBrowser()->Navigate(navigatePath, &vFlags, NULL, NULL, NULL);
925 } 924 }
926 925
927 if (FAILED(hr)) 926 if (FAILED(hr))
928 { 927 {
929 DEBUG_ERROR_LOG(hr, PLUGIN_ERROR_NAVIGATION, PLUGIN_ERROR_NAVIGATION_WELCOME , "Navigation::Welcome page failed") 928 DEBUG_ERROR_LOG(hr, PLUGIN_ERROR_NAVIGATION, PLUGIN_ERROR_NAVIGATION_WELCOME , "Navigation::Welcome page failed");
930 } 929 }
931 } 930 }
932 void CPluginClass::CloseTheme() 931 void CPluginClass::CloseTheme()
933 { 932 {
934 if (m_hTheme) 933 if (m_hTheme)
935 { 934 {
936 if (pfnClose) 935 if (pfnClose)
937 { 936 {
938 pfnClose(m_hTheme); 937 pfnClose(m_hTheme);
939 } 938 }
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1101 auto userSettingsFileUrl = UserSettingsFileUrl(); 1100 auto userSettingsFileUrl = UserSettingsFileUrl();
1102 ATL::CComBSTR urlToNavigate(static_cast<int>(userSettingsFileUrl.length( )), userSettingsFileUrl.c_str()); 1101 ATL::CComBSTR urlToNavigate(static_cast<int>(userSettingsFileUrl.length( )), userSettingsFileUrl.c_str());
1103 HRESULT hr = browser->Navigate(urlToNavigate, &vFlags, NULL, NULL, NULL) ; 1102 HRESULT hr = browser->Navigate(urlToNavigate, &vFlags, NULL, NULL, NULL) ;
1104 if (FAILED(hr)) 1103 if (FAILED(hr))
1105 { 1104 {
1106 vFlags.intVal = navOpenInNewWindow; 1105 vFlags.intVal = navOpenInNewWindow;
1107 1106
1108 hr = browser->Navigate(urlToNavigate, &vFlags, NULL, NULL, NULL); 1107 hr = browser->Navigate(urlToNavigate, &vFlags, NULL, NULL, NULL);
1109 if (FAILED(hr)) 1108 if (FAILED(hr))
1110 { 1109 {
1111 DEBUG_ERROR_LOG(hr, PLUGIN_ERROR_NAVIGATION, PLUGIN_ERROR_NAVIGATION _SETTINGS, "Navigation::Failed") 1110 DEBUG_ERROR_LOG(hr, PLUGIN_ERROR_NAVIGATION, PLUGIN_ERROR_NAVIGATION _SETTINGS, "Navigation::Failed");
1112 } 1111 }
1113 } 1112 }
1114 } 1113 }
1115 break; 1114 break;
1116 } 1115 }
1117 case ID_MENU_DISABLE_ON_SITE: 1116 case ID_MENU_DISABLE_ON_SITE:
1118 { 1117 {
1119 std::wstring urlString = GetTab()->GetDocumentUrl(); 1118 std::wstring urlString = GetTab()->GetDocumentUrl();
1120 std::string filterText = client->GetWhitelistingFilter(urlString); 1119 std::string filterText = client->GetWhitelistingFilter(urlString);
1121 if (!filterText.empty()) 1120 if (!filterText.empty())
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
1535 case WM_DESTROY: 1534 case WM_DESTROY:
1536 break; 1535 break;
1537 case SC_CLOSE: 1536 case SC_CLOSE:
1538 break; 1537 break;
1539 1538
1540 case WM_UPDATEUISTATE: 1539 case WM_UPDATEUISTATE:
1541 { 1540 {
1542 CPluginTab* tab = GetTab(::GetCurrentThreadId()); 1541 CPluginTab* tab = GetTab(::GetCurrentThreadId());
1543 if (tab) 1542 if (tab)
1544 { 1543 {
1545 tab->OnActivate();
1546 RECT rect; 1544 RECT rect;
1547 GetWindowRect(pClass->m_hPaneWnd, &rect); 1545 GetWindowRect(pClass->m_hPaneWnd, &rect);
1548 pClass->notificationMessage.Move(rect.left + (rect.right - rect.left) / 2, rect.top + (rect.bottom - rect.top) / 2); 1546 pClass->notificationMessage.Move(rect.left + (rect.right - rect.left) / 2, rect.top + (rect.bottom - rect.top) / 2);
1549 } 1547 }
1550 if (LOWORD(wParam) == UIS_CLEAR) 1548 if (LOWORD(wParam) == UIS_CLEAR)
1551 { 1549 {
1552 pClass->notificationMessage.Hide(); 1550 pClass->notificationMessage.Hide();
1553 } 1551 }
1554 } 1552 }
1555 break; 1553 break;
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1660 s_criticalSectionLocal.Unlock(); 1658 s_criticalSectionLocal.Unlock();
1661 1659
1662 return icon; 1660 return icon;
1663 } 1661 }
1664 1662
1665 ATOM CPluginClass::GetAtomPaneClass() 1663 ATOM CPluginClass::GetAtomPaneClass()
1666 { 1664 {
1667 return s_atomPaneClass; 1665 return s_atomPaneClass;
1668 } 1666 }
1669 1667
OLDNEW

Powered by Google App Engine
This is Rietveld