Index: include/AdblockPlus/DefaultWebRequest.h
diff --git a/include/AdblockPlus/DefaultWebRequest.h b/include/AdblockPlus/DefaultWebRequest.h
deleted file mode 100644
index 0c7e8721f04e6f01080a10c220c6011b4c399765..0000000000000000000000000000000000000000
--- a/include/AdblockPlus/DefaultWebRequest.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * This file is part of Adblock Plus ,
- * Copyright (C) 2006-2017 eyeo GmbH
- *
- * Adblock Plus is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3 as
- * published by the Free Software Foundation.
- *
- * Adblock Plus is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Adblock Plus. If not, see .
- */
-
-#ifndef ADBLOCK_PLUS_DEFAULT_WEB_REQUEST_H
-#define ADBLOCK_PLUS_DEFAULT_WEB_REQUEST_H
-
-#include "WebRequest.h"
-
-namespace AdblockPlus
-{
- /**
- * `WebRequest` implementation that uses `WinInet` on Windows and libcurl
- * on other platforms. A dummy implementation that always reports failure is
- * used if libcurl is not available.
- */
- class DefaultWebRequestSync : public WebRequest
- {
- ServerResponse GET(const std::string& url, const HeaderList& requestHeaders) const;
- };
-
- class DefaultWebRequest : public IWebRequest
- {
- public:
- explicit DefaultWebRequest(const WebRequestSharedPtr& syncImpl);
- ~DefaultWebRequest();
-
- void GET(const std::string& url, const HeaderList& requestHeaders, const GetCallback& getCallback) override;
- private:
- WebRequestSharedPtr syncImpl;
- };
-}
-
-#endif
Index: include/AdblockPlus/WebRequest.h
diff --git a/include/AdblockPlus/WebRequest.h b/include/AdblockPlus/WebRequest.h
deleted file mode 100644
index a98ab092d1d1f3d7e90a03d6c6551429c7955f9d..0000000000000000000000000000000000000000
--- a/include/AdblockPlus/WebRequest.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * This file is part of Adblock Plus ,
- * Copyright (C) 2006-2017 eyeo GmbH
- *
- * Adblock Plus is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3 as
- * published by the Free Software Foundation.
- *
- * Adblock Plus is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Adblock Plus. If not, see .
- */
-
-#ifndef ADBLOCK_PLUS_WEB_REQUEST_H
-#define ADBLOCK_PLUS_WEB_REQUEST_H
-
-#include "IWebRequest.h"
-
-namespace AdblockPlus
-{
- /**
- * Web request interface.
- */
- class WebRequest
- {
- public:
- virtual inline ~WebRequest() {};
-
- /**
- * Performs a GET request.
- * @param url Request URL.
- * @param requestHeaders Request headers.
- * @return HTTP response.
- */
- virtual ServerResponse GET(const std::string& url, const HeaderList& requestHeaders) const = 0;
- };
-
- /**
- * Shared smart pointer to a `WebRequest` instance.
- */
- typedef std::shared_ptr WebRequestSharedPtr;
-}
-
-#endif
Index: include/AdblockPlus.h
diff --git a/include/AdblockPlus.h b/include/AdblockPlus.h
index 28aa55878fb9606d3e9da355502537bcdc597725..f3de1303f0bba24d406b13909cd1b19bd629ab25 100644
--- a/include/AdblockPlus.h
+++ b/include/AdblockPlus.h
@@ -34,13 +34,11 @@
#include
#include
#include
-#include
#include
#include
#include
#include
#include
-#include
#include "AdblockPlus/Notification.h"
#endif
Index: include/AdblockPlus/JsEngine.h
diff --git a/include/AdblockPlus/JsEngine.h b/include/AdblockPlus/JsEngine.h
index f7470ab84367b00e298c9038d92b21837fb08202..f4a3d3bb1a8c789b70750e7196ae570f38eebd53 100644
--- a/include/AdblockPlus/JsEngine.h
+++ b/include/AdblockPlus/JsEngine.h
@@ -29,7 +29,7 @@
#include
#include
#include
-#include
+#include
#include
namespace v8
@@ -277,14 +277,6 @@ namespace AdblockPlus
void SetFileSystem(const FileSystemSyncPtr& val);
/**
- * Sets the `WebRequest` implementation used for XMLHttpRequests.
- * Setting this is optional, the engine will use a `DefaultWebRequest`
- * instance by default, which might be sufficient.
- * @param The `WebRequest` instance to use.
- */
- void SetWebRequest(const WebRequestSharedPtr& val);
-
- /**
* @see `SetLogSystem()`.
*/
LogSystemPtr GetLogSystem() const;
@@ -338,7 +330,6 @@ namespace AdblockPlus
std::mutex jsWeakValuesListsMutex;
TimerPtr timer;
WebRequestPtr webRequest;
- WebRequestSharedPtr webRequestLegacy;
};
}
Index: libadblockplus.gyp
diff --git a/libadblockplus.gyp b/libadblockplus.gyp
index 91693f3a1b7d6451e78e9b1a5d7c1eee1b8017cf..8aec755aa2069d4814cf657d800e8bf70ecf5c7f 100644
--- a/libadblockplus.gyp
+++ b/libadblockplus.gyp
@@ -26,7 +26,6 @@
'sources': [
'include/AdblockPlus/ITimer.h',
'include/AdblockPlus/IWebRequest.h',
- 'include/AdblockPlus/DefaultWebRequest.h',
'include/AdblockPlus/IFileSystem.h',
'include/AdblockPlus/DefaultFileSystem.h',
'src/AppInfoJsObject.cpp',
@@ -35,6 +34,7 @@
'src/DefaultFileSystem.cpp',
'src/DefaultTimer.cpp',
'src/DefaultTimer.h',
+ 'src/DefaultWebRequest.h',
'src/DefaultWebRequest.cpp',
'src/FileSystemJsObject.cpp',
'src/FilterEngine.cpp',
Index: src/DefaultWebRequest.cpp
diff --git a/src/DefaultWebRequest.cpp b/src/DefaultWebRequest.cpp
index c5cb7320c22f2c80d4061026bab314bffb4e4b0f..50af59ae9dd74c92f0a150b61dab721dd60ac786 100644
--- a/src/DefaultWebRequest.cpp
+++ b/src/DefaultWebRequest.cpp
@@ -15,13 +15,13 @@
* along with Adblock Plus. If not, see .
*/
-#include
+#include "DefaultWebRequest.h"
#include
using namespace AdblockPlus;
-DefaultWebRequest::DefaultWebRequest(const WebRequestSharedPtr& syncImpl)
- : syncImpl(syncImpl)
+DefaultWebRequest::DefaultWebRequest(std::unique_ptr&& syncImpl)
+ : syncImpl(std::move(syncImpl))
{
}
@@ -33,9 +33,8 @@ DefaultWebRequest::~DefaultWebRequest()
void DefaultWebRequest::GET(const std::string& url, const HeaderList& requestHeaders, const GetCallback& getCallback)
{
- auto syncImplCapture = syncImpl;
- std::thread([syncImplCapture, url, requestHeaders, getCallback]
+ std::thread([this, url, requestHeaders, getCallback]
{
- getCallback(syncImplCapture->GET(url, requestHeaders));
+ getCallback(this->syncImpl->GET(url, requestHeaders));
}).detach();
}
\ No newline at end of file
Index: src/DefaultWebRequest.h
diff --git a/include/AdblockPlus/DefaultWebRequest.h b/src/DefaultWebRequest.h
similarity index 86%
rename from include/AdblockPlus/DefaultWebRequest.h
rename to src/DefaultWebRequest.h
index 0c7e8721f04e6f01080a10c220c6011b4c399765..aefa5e6e1fe7ff21b5247242b0d2a9322ed2573e 100644
--- a/include/AdblockPlus/DefaultWebRequest.h
+++ b/src/DefaultWebRequest.h
@@ -18,7 +18,7 @@
#ifndef ADBLOCK_PLUS_DEFAULT_WEB_REQUEST_H
#define ADBLOCK_PLUS_DEFAULT_WEB_REQUEST_H
-#include "WebRequest.h"
+#include
namespace AdblockPlus
{
@@ -27,20 +27,21 @@ namespace AdblockPlus
* on other platforms. A dummy implementation that always reports failure is
* used if libcurl is not available.
*/
- class DefaultWebRequestSync : public WebRequest
+ class DefaultWebRequestSync
{
+ public:
ServerResponse GET(const std::string& url, const HeaderList& requestHeaders) const;
};
class DefaultWebRequest : public IWebRequest
{
public:
- explicit DefaultWebRequest(const WebRequestSharedPtr& syncImpl);
+ explicit DefaultWebRequest(std::unique_ptr&& syncImpl);
~DefaultWebRequest();
void GET(const std::string& url, const HeaderList& requestHeaders, const GetCallback& getCallback) override;
private:
- WebRequestSharedPtr syncImpl;
+ std::unique_ptr syncImpl;
};
}
Index: src/DefaultWebRequestCurl.cpp
diff --git a/src/DefaultWebRequestCurl.cpp b/src/DefaultWebRequestCurl.cpp
index 0b68a837a655455b15464accbaa506e2f2af23be..edd00d0b8779be5e1cabf60f77f88f491ccf800a 100644
--- a/src/DefaultWebRequestCurl.cpp
+++ b/src/DefaultWebRequestCurl.cpp
@@ -19,7 +19,7 @@
#include
#include
#include
-#include
+#include "DefaultWebRequest.h"
namespace
{
Index: src/DefaultWebRequestDummy.cpp
diff --git a/src/DefaultWebRequestDummy.cpp b/src/DefaultWebRequestDummy.cpp
index e772cba0a3b02632ce94fd5b0f01a27a87cb734a..9ee4303b73e13eb3270f3f9f06e477af7cecb24d 100644
--- a/src/DefaultWebRequestDummy.cpp
+++ b/src/DefaultWebRequestDummy.cpp
@@ -15,7 +15,7 @@
* along with Adblock Plus. If not, see .
*/
-#include
+#include "DefaultWebRequest.h"
AdblockPlus::ServerResponse AdblockPlus::DefaultWebRequestSync::GET(
const std::string& url, const HeaderList& requestHeaders) const
Index: src/DefaultWebRequestWinInet.cpp
diff --git a/src/DefaultWebRequestWinInet.cpp b/src/DefaultWebRequestWinInet.cpp
index 010a6d3dd8d7f149211ad1b1a6e041c5aa6bccc2..d9d4d6eed6521c25740b3f18ac70a779da7115ab 100644
--- a/src/DefaultWebRequestWinInet.cpp
+++ b/src/DefaultWebRequestWinInet.cpp
@@ -15,7 +15,7 @@
* along with Adblock Plus. If not, see .
*/
-#include "AdblockPlus/DefaultWebRequest.h"
+#include "DefaultWebRequest.h"
#include
#include
#include
Index: src/JsEngine.cpp
diff --git a/src/JsEngine.cpp b/src/JsEngine.cpp
index cf83ead7a6d0cca73ad49049d153efb2e96d1294..79018c3f8df24a2f73cce82eb88f7e64cb7d8938 100644
--- a/src/JsEngine.cpp
+++ b/src/JsEngine.cpp
@@ -21,6 +21,7 @@
#include "JsError.h"
#include "Utils.h"
#include "DefaultTimer.h"
+#include "DefaultWebRequest.h"
#include
namespace
@@ -85,7 +86,7 @@ FileSystemPtr AdblockPlus::CreateDefaultFileSystem()
WebRequestPtr AdblockPlus::CreateDefaultWebRequest()
{
- return WebRequestPtr(new DefaultWebRequest(std::make_shared()));
+ return WebRequestPtr(new DefaultWebRequest(std::unique_ptr(new DefaultWebRequestSync())));
}
AdblockPlus::ScopedV8Isolate::ScopedV8Isolate()
@@ -332,14 +333,6 @@ void AdblockPlus::JsEngine::SetFileSystem(const AdblockPlus::FileSystemSyncPtr&
fileSystem.reset(new DefaultFileSystem(val));
}
-void AdblockPlus::JsEngine::SetWebRequest(const AdblockPlus::WebRequestSharedPtr& val)
-{
- if (!val)
- throw std::runtime_error("WebRequest cannot be null");
-
- webRequestLegacy = val;
-}
-
AdblockPlus::LogSystemPtr AdblockPlus::JsEngine::GetLogSystem() const
{
return logSystem;
Index: src/WebRequestJsObject.cpp
diff --git a/src/WebRequestJsObject.cpp b/src/WebRequestJsObject.cpp
index d4288a637725aeb012c09d2857bfdb5304faab6c..7aad0ca25dda4b1d7a417e56bcab4d4bd92a5978 100644
--- a/src/WebRequestJsObject.cpp
+++ b/src/WebRequestJsObject.cpp
@@ -80,15 +80,6 @@ void JsEngine::ScheduleWebRequest(const v8::FunctionCallbackInfo& arg
webRequestParams[2].Call(resultObject);
};
- if (jsEngine->webRequestLegacy)
- {
- std::thread([jsEngine, url, headers, getCallback]
- {
- getCallback(jsEngine->webRequestLegacy->GET(url, headers));
- }).detach();
- return;
- }
-
jsEngine->webRequest->GET(url, headers, getCallback);
}
Index: test/Notification.cpp
diff --git a/test/Notification.cpp b/test/Notification.cpp
index 64fa4560fc16c082ecfd67c21241c80a6652161c..376ea08147e5547b6fc52f5182c5a911db2e8e05 100644
--- a/test/Notification.cpp
+++ b/test/Notification.cpp
@@ -63,7 +63,7 @@ namespace
}
};
- class MockWebRequest : public WebRequest
+ class MockWebRequest : public IWebRequest
{
public:
std::string responseText;
@@ -71,18 +71,18 @@ namespace
: responseText(notification)
{
}
- ServerResponse GET(const std::string& url,
- const HeaderList& requestHeaders) const
+ void GET(const std::string& url, const HeaderList& requestHeaders,
+ const GetCallback& getCallback) override
{
if (url.find("/notification.json") == std::string::npos)
{
- return ServerResponse();
+ return;
}
ServerResponse serverResponse;
serverResponse.status = IWebRequest::NS_OK;
serverResponse.responseStatus = 200;
serverResponse.responseText = responseText;
- return serverResponse;
+ getCallback(serverResponse);
}
};
Index: test/WebRequest.cpp
diff --git a/test/WebRequest.cpp b/test/WebRequest.cpp
index d78a92756dd993ffe59940abffb226536e182b9a..2a6267552f5525d19044bab8cc3c785d10621128 100644
--- a/test/WebRequest.cpp
+++ b/test/WebRequest.cpp
@@ -25,42 +25,66 @@ using namespace AdblockPlus;
namespace
{
- class MockWebRequest : public AdblockPlus::WebRequest
+ class DefaultWebRequestTest : public ::testing::Test
{
- public:
- AdblockPlus::ServerResponse GET(const std::string& url, const AdblockPlus::HeaderList& requestHeaders) const
+ protected:
+ void SetUp()
{
- std::set headerNames;
- for (auto header : requestHeaders)
- {
- headerNames.insert(header.first);
- }
- {
- std::lock_guard lock(requestHeaderNamesMutex);
- // we currently ignore the result. We should check it actually gets inserted.
- requestHeaderNames.insert(std::make_pair(url, std::move(headerNames)));
- }
+ JsEngineCreationParameters jsEngineParams;
+ jsEngineParams.timer.reset(new NoopTimer());
+ jsEngineParams.fileSystem.reset(new LazyFileSystem());
+ jsEngineParams.webRequest = CreateWebRequest();
+ jsEngine = CreateJsEngine(std::move(jsEngineParams));
+ }
+
+ virtual WebRequestPtr CreateWebRequest()
+ {
+ return CreateDefaultWebRequest();
+ }
- AdblockPlus::Sleep(50);
+ JsEnginePtr jsEngine;
+ };
- AdblockPlus::ServerResponse result;
- result.status = IWebRequest::NS_OK;
- result.responseStatus = 123;
- result.responseHeaders.push_back(std::pair("Foo", "Bar"));
- result.responseText = url + "\n";
- if (!requestHeaders.empty())
+ class MockWebRequestTest : public DefaultWebRequestTest
+ {
+ virtual WebRequestPtr CreateWebRequest() override
+ {
+ return DelayedWebRequest::New(webRequestTasks);
+ }
+
+ protected:
+ void ProcessPendingWebRequests()
+ {
+ for (auto iiWebTask = webRequestTasks->cbegin(); iiWebTask != webRequestTasks->cend();
+ webRequestTasks->erase(iiWebTask++))
{
- result.responseText += requestHeaders[0].first + "\n" + requestHeaders[0].second;
+ const auto& webRequestTask = *iiWebTask;
+ std::set headerNames;
+ for (const auto& header : webRequestTask.headers)
+ {
+ headerNames.insert(header.first);
+ }
+ // we currently ignore the result. We should check it actually gets inserted.
+ requestHeaderNames.insert(std::make_pair(webRequestTask.url, std::move(headerNames)));
+
+ AdblockPlus::ServerResponse result;
+ result.status = IWebRequest::NS_OK;
+ result.responseStatus = 123;
+ result.responseHeaders.push_back(std::pair("Foo", "Bar"));
+ result.responseText = webRequestTask.url + "\n";
+ if (!webRequestTask.headers.empty())
+ {
+ result.responseText += webRequestTask.headers[0].first + "\n" + webRequestTask.headers[0].second;
+ }
+ webRequestTask.getCallback(result);
}
- return result;
}
// Testing method
- // Get the headers for the request. Return a pair of a bool (found
- // or not) and the actual header names
- std::pair> headersForRequest(const std::string& url)
+ // Get the headers for the request. Return a pair of a bool (found or not)
+ // and the actual header names
+ std::pair> GetHeadersForRequest(const std::string& url)
{
- std::lock_guard lock(requestHeaderNamesMutex);
auto iter = requestHeaderNames.find(url);
if (iter != requestHeaderNames.end())
{
@@ -71,33 +95,10 @@ namespace
return std::make_pair(false, std::set());
}
- // mutable. Very Ugly. But we are testing and need to change this in GET which is const.
- mutable std::mutex requestHeaderNamesMutex;
- mutable std::map> requestHeaderNames;
- };
-
- template
- class WebRequestTest : public ::testing::Test
- {
- protected:
- void SetUp()
- {
- JsEngineCreationParameters jsEngineParams;
- jsEngineParams.timer.reset(new NoopTimer());
- jsEngineParams.fileSystem.reset(new LazyFileSystem());
- jsEngine = CreateJsEngine(std::move(jsEngineParams));
- webRequest = std::make_shared();
- jsEngine->SetWebRequest(webRequest);
- }
-
- std::shared_ptr webRequest;
- JsEnginePtr jsEngine;
+ DelayedWebRequest::SharedTasks webRequestTasks;
+ std::map> requestHeaderNames;
};
- typedef WebRequestTest MockWebRequestTest;
- typedef WebRequestTest DefaultWebRequestTest;
- typedef WebRequestTest XMLHttpRequestTest;
-
// we return the url of the XHR.
std::string ResetTestXHR(const AdblockPlus::JsEnginePtr& jsEngine, const std::string& defaultUrl = "")
{
@@ -144,7 +145,7 @@ TEST_F(MockWebRequestTest, SuccessfulRequest)
{
jsEngine->Evaluate("_webRequest.GET('http://example.com/', {X: 'Y'}, function(result) {foo = result;} )");
ASSERT_TRUE(jsEngine->Evaluate("this.foo").IsUndefined());
- AdblockPlus::Sleep(200);
+ ProcessPendingWebRequests();
ASSERT_EQ(IWebRequest::NS_OK, jsEngine->Evaluate("foo.status").AsInt());
ASSERT_EQ(123, jsEngine->Evaluate("foo.responseStatus").AsInt());
ASSERT_EQ("http://example.com/\nX\nY", jsEngine->Evaluate("foo.responseText").AsString());
@@ -247,7 +248,7 @@ namespace
typedef std::shared_ptr CatchLogSystemPtr;
}
-TEST_F(XMLHttpRequestTest, RequestHeaderValidation)
+TEST_F(MockWebRequestTest, RequestHeaderValidation)
{
auto catchLogSystem = CatchLogSystemPtr(new CatchLogSystem());
jsEngine->SetLogSystem(catchLogSystem);
@@ -267,9 +268,9 @@ TEST_F(XMLHttpRequestTest, RequestHeaderValidation)
request.setRequestHeader('Accept-Encoding', 'gzip');\nrequest.send();");
EXPECT_EQ(AdblockPlus::LogSystem::LOG_LEVEL_WARN, catchLogSystem->lastLogLevel);
EXPECT_EQ(msg + "Accept-Encoding", catchLogSystem->lastMessage);
- WaitForVariable("result", jsEngine);
+ ProcessPendingWebRequests();
{
- auto headersRequest = webRequest->headersForRequest(url);
+ auto headersRequest = GetHeadersForRequest(url);
EXPECT_TRUE(headersRequest.first);
const auto& headers = headersRequest.second;
EXPECT_TRUE(headers.cend() == headers.find("Accept-Encoding"));
@@ -282,9 +283,9 @@ TEST_F(XMLHttpRequestTest, RequestHeaderValidation)
request.setRequestHeader('DNT', '1');\nrequest.send();");
EXPECT_EQ(AdblockPlus::LogSystem::LOG_LEVEL_WARN, catchLogSystem->lastLogLevel);
EXPECT_EQ(msg + "DNT", catchLogSystem->lastMessage);
- WaitForVariable("result", jsEngine);
+ ProcessPendingWebRequests();
{
- auto headersRequest = webRequest->headersForRequest(url);
+ auto headersRequest = GetHeadersForRequest(url);
EXPECT_TRUE(headersRequest.first);
const auto& headers = headersRequest.second;
EXPECT_TRUE(headers.cend() == headers.find("DNT"));
@@ -297,9 +298,9 @@ TEST_F(XMLHttpRequestTest, RequestHeaderValidation)
request.setRequestHeader('X', 'y');\nrequest.send();");
EXPECT_EQ(AdblockPlus::LogSystem::LOG_LEVEL_TRACE, catchLogSystem->lastLogLevel);
EXPECT_EQ("", catchLogSystem->lastMessage);
- WaitForVariable("result", jsEngine);
+ ProcessPendingWebRequests();
{
- auto headersRequest = webRequest->headersForRequest(url);
+ auto headersRequest = GetHeadersForRequest(url);
EXPECT_TRUE(headersRequest.first);
const auto& headers = headersRequest.second;
EXPECT_FALSE(headers.cend() == headers.find("X"));
@@ -312,9 +313,9 @@ TEST_F(XMLHttpRequestTest, RequestHeaderValidation)
request.setRequestHeader('Proxy-foo', 'bar');\nrequest.send();");
EXPECT_EQ(AdblockPlus::LogSystem::LOG_LEVEL_WARN, catchLogSystem->lastLogLevel);
EXPECT_EQ(msg + "Proxy-foo", catchLogSystem->lastMessage);
- WaitForVariable("result", jsEngine);
+ ProcessPendingWebRequests();
{
- auto headersRequest = webRequest->headersForRequest(url);
+ auto headersRequest = GetHeadersForRequest(url);
EXPECT_TRUE(headersRequest.first);
const auto& headers = headersRequest.second;
EXPECT_TRUE(headers.cend() == headers.find("Proxy-foo"));
@@ -327,9 +328,9 @@ TEST_F(XMLHttpRequestTest, RequestHeaderValidation)
request.setRequestHeader('Sec-foo', 'bar');\nrequest.send();");
EXPECT_EQ(AdblockPlus::LogSystem::LOG_LEVEL_WARN, catchLogSystem->lastLogLevel);
EXPECT_EQ(msg + "Sec-foo", catchLogSystem->lastMessage);
- WaitForVariable("result", jsEngine);
+ ProcessPendingWebRequests();
{
- auto headersRequest = webRequest->headersForRequest(url);
+ auto headersRequest = GetHeadersForRequest(url);
EXPECT_TRUE(headersRequest.first);
const auto& headers = headersRequest.second;
EXPECT_TRUE(headers.cend() == headers.find("Sec-foo"));
@@ -342,9 +343,9 @@ TEST_F(XMLHttpRequestTest, RequestHeaderValidation)
request.setRequestHeader('Security', 'theater');\nrequest.send();");
EXPECT_EQ(AdblockPlus::LogSystem::LOG_LEVEL_TRACE, catchLogSystem->lastLogLevel);
EXPECT_EQ("", catchLogSystem->lastMessage);
- WaitForVariable("result", jsEngine);
+ ProcessPendingWebRequests();
{
- auto headersRequest = webRequest->headersForRequest(url);
+ auto headersRequest = GetHeadersForRequest(url);
EXPECT_TRUE(headersRequest.first);
const auto& headers = headersRequest.second;
EXPECT_FALSE(headers.cend() == headers.find("Security"));