- Allow asynchronous continuation of OnBeforeResourceLoad (issue #1593).

- Use CefRequestCallback for most asynchronous CefRequestHandler methods.
This commit is contained in:
Marshall Greenblatt
2015-04-02 17:21:46 +02:00
parent 0b795eed10
commit fe03339870
26 changed files with 574 additions and 416 deletions

View File

@ -100,9 +100,11 @@ class TestSchemeHandler : public TestHandler {
TestHandler::DestroyTest();
}
bool OnBeforeResourceLoad(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefRequest> request) override {
cef_return_value_t OnBeforeResourceLoad(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame,
CefRefPtr<CefRequest> request,
CefRefPtr<CefRequestCallback> callback) override {
std::string newUrl = request->GetURL();
if (!test_results_->exit_url.empty() &&
newUrl.find(test_results_->exit_url) != std::string::npos) {
@ -110,7 +112,7 @@ class TestSchemeHandler : public TestHandler {
if (newUrl.find("SUCCESS") != std::string::npos)
test_results_->got_sub_success.yes();
DestroyTest();
return true;
return RV_CANCEL;
}
if (!test_results_->sub_redirect_url.empty() &&
@ -130,7 +132,7 @@ class TestSchemeHandler : public TestHandler {
test_results_->redirect_url.clear();
}
return false;
return RV_CONTINUE;
}
void OnLoadEnd(CefRefPtr<CefBrowser> browser,