| LEFT | RIGHT |
| 1 /* |
| 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
| 3 * Copyright (C) 2006-2015 Eyeo GmbH |
| 4 * |
| 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 |
| 7 * published by the Free Software Foundation. |
| 8 * |
| 9 * Adblock Plus is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 12 * GNU General Public License for more details. |
| 13 * |
| 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/>. |
| 16 */ |
| 17 |
| 1 #include <AdblockPlus.h> | 18 #include <AdblockPlus.h> |
| 2 #include <functional> | 19 #include <functional> |
| 3 #include <vector> | 20 #include <vector> |
| 4 #include <thread> | 21 #include <thread> |
| 5 #include <Windows.h> | 22 #include <Windows.h> |
| 6 | 23 |
| 7 #include "../shared/AutoHandle.h" | 24 #include "../shared/AutoHandle.h" |
| 8 #include "../shared/Communication.h" | 25 #include "../shared/Communication.h" |
| 9 #include "../shared/Dictionary.h" | 26 #include "../shared/Dictionary.h" |
| 10 #include "../shared/Utils.h" | 27 #include "../shared/Utils.h" |
| 11 #include "../shared/Version.h" | 28 #include "../shared/Version.h" |
| 12 #include "../shared/CriticalSection.h" | 29 #include "../shared/CriticalSection.h" |
| 30 #include "../shared/IE_version.h" |
| 13 #include "AdblockPlus.h" | 31 #include "AdblockPlus.h" |
| 14 #include "Debug.h" | 32 #include "Debug.h" |
| 15 #include "Updater.h" | 33 #include "Updater.h" |
| 16 | 34 |
| 17 namespace | 35 namespace |
| 18 { | 36 { |
| 19 std::auto_ptr<AdblockPlus::FilterEngine> filterEngine; | 37 std::auto_ptr<AdblockPlus::FilterEngine> filterEngine; |
| 20 std::auto_ptr<Updater> updater; | 38 std::auto_ptr<Updater> updater; |
| 21 int activeConnections = 0; | 39 int activeConnections = 0; |
| 22 CriticalSection activeConnectionsLock; | 40 CriticalSection activeConnectionsLock; |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 { | 99 { |
| 82 Communication::OutputBuffer response; | 100 Communication::OutputBuffer response; |
| 83 | 101 |
| 84 Communication::ProcType procedure; | 102 Communication::ProcType procedure; |
| 85 request >> procedure; | 103 request >> procedure; |
| 86 switch (procedure) | 104 switch (procedure) |
| 87 { | 105 { |
| 88 case Communication::PROC_MATCHES: | 106 case Communication::PROC_MATCHES: |
| 89 { | 107 { |
| 90 std::string url; | 108 std::string url; |
| 109 using namespace AdblockPlus; |
| 110 std::string documentUrl; |
| 91 int32_t type; | 111 int32_t type; |
| 92 std::string documentUrl; | |
| 93 request >> url >> type >> documentUrl; | 112 request >> url >> type >> documentUrl; |
| 94 referrerMapping.Add(url, documentUrl); | 113 referrerMapping.Add(url, documentUrl); |
| 95 auto contentType = static_cast<AdblockPlus::FilterEngine::ContentType>(t
ype); | 114 auto contentType = static_cast<FilterEngine::ContentType>(type); |
| 96 AdblockPlus::FilterPtr filter = filterEngine->Matches(url, contentType,
referrerMapping.BuildReferrerChain(documentUrl)); | 115 FilterPtr filter = filterEngine->Matches(url, contentType, referrerMappi
ng.BuildReferrerChain(documentUrl)); |
| 97 response << (filter && filter->GetType() != AdblockPlus::Filter::TYPE_EX
CEPTION); | 116 response << (filter && filter->GetType() != Filter::TYPE_EXCEPTION); |
| 98 break; | 117 break; |
| 99 } | 118 } |
| 100 case Communication::PROC_GET_ELEMHIDE_SELECTORS: | 119 case Communication::PROC_GET_ELEMHIDE_SELECTORS: |
| 101 { | 120 { |
| 102 std::string domain; | 121 std::string domain; |
| 103 request >> domain; | 122 request >> domain; |
| 104 WriteStrings(response, filterEngine->GetElementHidingSelectors(domain)); | 123 WriteStrings(response, filterEngine->GetElementHidingSelectors(domain)); |
| 105 break; | 124 break; |
| 106 } | 125 } |
| 107 case Communication::PROC_AVAILABLE_SUBSCRIPTIONS: | 126 case Communication::PROC_AVAILABLE_SUBSCRIPTIONS: |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 case Communication::PROC_COMPARE_VERSIONS: | 339 case Communication::PROC_COMPARE_VERSIONS: |
| 321 { | 340 { |
| 322 std::string v1, v2; | 341 std::string v1, v2; |
| 323 request >> v1 >> v2; | 342 request >> v1 >> v2; |
| 324 | 343 |
| 325 response << filterEngine->CompareVersions(v1, v2); | 344 response << filterEngine->CompareVersions(v1, v2); |
| 326 break; | 345 break; |
| 327 } | 346 } |
| 328 case Communication::PROC_GET_DOCUMENTATION_LINK: | 347 case Communication::PROC_GET_DOCUMENTATION_LINK: |
| 329 { | 348 { |
| 330 response << ToUtf16String(filterEngine->GetPref("documentation_link")->A
sString()); | 349 response << filterEngine->GetPref("documentation_link")->AsString(); |
| 331 break; | 350 break; |
| 332 } | 351 } |
| 333 case Communication::PROC_TOGGLE_PLUGIN_ENABLED: | 352 case Communication::PROC_TOGGLE_PLUGIN_ENABLED: |
| 334 { | 353 { |
| 335 filterEngine->SetPref("enabled", filterEngine->GetJsEngine()->NewValue(!
filterEngine->GetPref("enabled")->AsBool())); | 354 filterEngine->SetPref("enabled", filterEngine->GetJsEngine()->NewValue(!
filterEngine->GetPref("enabled")->AsBool())); |
| 336 response << filterEngine->GetPref("enabled")->AsBool(); | 355 response << filterEngine->GetPref("enabled")->AsBool(); |
| 337 break; | 356 break; |
| 338 } | 357 } |
| 339 case Communication::PROC_GET_HOST: | 358 case Communication::PROC_GET_HOST: |
| 340 { | 359 { |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 418 std::auto_ptr<AdblockPlus::FilterEngine> CreateFilterEngine(const std::wstring&
locale) | 437 std::auto_ptr<AdblockPlus::FilterEngine> CreateFilterEngine(const std::wstring&
locale) |
| 419 { | 438 { |
| 420 AdblockPlus::AppInfo appInfo; | 439 AdblockPlus::AppInfo appInfo; |
| 421 appInfo.version = ToUtf8String(IEPLUGIN_VERSION); | 440 appInfo.version = ToUtf8String(IEPLUGIN_VERSION); |
| 422 appInfo.name = "adblockplusie"; | 441 appInfo.name = "adblockplusie"; |
| 423 #ifdef _WIN64 | 442 #ifdef _WIN64 |
| 424 appInfo.application = "msie64"; | 443 appInfo.application = "msie64"; |
| 425 #else | 444 #else |
| 426 appInfo.application = "msie32"; | 445 appInfo.application = "msie32"; |
| 427 #endif | 446 #endif |
| 428 // TODO: Set applicationVersion parameter | 447 appInfo.applicationVersion = ToUtf8String(AdblockPlus::IE::InstalledVersionStr
ing()); |
| 429 appInfo.locale = ToUtf8String(locale); | 448 appInfo.locale = ToUtf8String(locale); |
| 430 #ifdef ADBLOCK_PLUS_TEST_MODE | 449 #ifdef ADBLOCK_PLUS_TEST_MODE |
| 431 appInfo.developmentBuild = true; | 450 appInfo.developmentBuild = true; |
| 432 #else | 451 #else |
| 433 appInfo.developmentBuild = false; | 452 appInfo.developmentBuild = false; |
| 434 #endif | 453 #endif |
| 435 | 454 |
| 436 AdblockPlus::JsEnginePtr jsEngine = AdblockPlus::JsEngine::New(appInfo); | 455 AdblockPlus::JsEnginePtr jsEngine = AdblockPlus::JsEngine::New(appInfo); |
| 437 jsEngine->SetEventCallback("updateAvailable", &OnUpdateAvailable); | 456 jsEngine->SetEventCallback("updateAvailable", &OnUpdateAvailable); |
| 438 | 457 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 487 } | 506 } |
| 488 catch (const std::runtime_error& e) | 507 catch (const std::runtime_error& e) |
| 489 { | 508 { |
| 490 DebugException(e); | 509 DebugException(e); |
| 491 return 1; | 510 return 1; |
| 492 } | 511 } |
| 493 } | 512 } |
| 494 | 513 |
| 495 return 0; | 514 return 0; |
| 496 } | 515 } |
| LEFT | RIGHT |