mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-03 12:37:36 +01:00
chrome: Fix NavigationTest and ResourceRequestHandlerTest failures (see issue #2969)
This commit is contained in:
parent
25701cfa6f
commit
09c6586480
@ -105,6 +105,7 @@ void CefBrowserContentsDelegate::LoadingStateChanged(
|
|||||||
|
|
||||||
if (auto c = client()) {
|
if (auto c = client()) {
|
||||||
if (auto handler = c->GetLoadHandler()) {
|
if (auto handler = c->GetLoadHandler()) {
|
||||||
|
auto navigation_lock = browser_info_->CreateNavigationLock();
|
||||||
handler->OnLoadingStateChange(browser(), is_loading, can_go_back,
|
handler->OnLoadingStateChange(browser(), is_loading, can_go_back,
|
||||||
can_go_forward);
|
can_go_forward);
|
||||||
}
|
}
|
||||||
@ -507,6 +508,7 @@ void CefBrowserContentsDelegate::OnLoadEnd(CefRefPtr<CefFrame> frame,
|
|||||||
int http_status_code) {
|
int http_status_code) {
|
||||||
if (auto c = client()) {
|
if (auto c = client()) {
|
||||||
if (auto handler = c->GetLoadHandler()) {
|
if (auto handler = c->GetLoadHandler()) {
|
||||||
|
auto navigation_lock = browser_info_->CreateNavigationLock();
|
||||||
handler->OnLoadEnd(browser(), frame, http_status_code);
|
handler->OnLoadEnd(browser(), frame, http_status_code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -565,6 +567,7 @@ void CefBrowserContentsDelegate::OnLoadStart(
|
|||||||
ui::PageTransition transition_type) {
|
ui::PageTransition transition_type) {
|
||||||
if (auto c = client()) {
|
if (auto c = client()) {
|
||||||
if (auto handler = c->GetLoadHandler()) {
|
if (auto handler = c->GetLoadHandler()) {
|
||||||
|
auto navigation_lock = browser_info_->CreateNavigationLock();
|
||||||
// On the handler that loading has started.
|
// On the handler that loading has started.
|
||||||
handler->OnLoadStart(browser(), frame,
|
handler->OnLoadStart(browser(), frame,
|
||||||
static_cast<cef_transition_type_t>(transition_type));
|
static_cast<cef_transition_type_t>(transition_type));
|
||||||
|
@ -1824,11 +1824,17 @@ class LoadNavTestHandler : public TestHandler {
|
|||||||
EXPECT_EQ(RT_MAIN_FRAME, request->GetResourceType());
|
EXPECT_EQ(RT_MAIN_FRAME, request->GetResourceType());
|
||||||
if (mode_ == LOAD || request->GetURL() == kLoadNav1) {
|
if (mode_ == LOAD || request->GetURL() == kLoadNav1) {
|
||||||
EXPECT_EQ(kTransitionExplicitLoad, request->GetTransitionType());
|
EXPECT_EQ(kTransitionExplicitLoad, request->GetTransitionType());
|
||||||
EXPECT_FALSE(user_gesture);
|
if (IsChromeRuntimeEnabled()) {
|
||||||
|
// With the Chrome runtime this is true on initial navigation via
|
||||||
|
// chrome::AddTabAt() and also true for clicked links.
|
||||||
|
EXPECT_TRUE(user_gesture);
|
||||||
|
} else {
|
||||||
|
EXPECT_FALSE(user_gesture);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
EXPECT_EQ(ExpectedOpenURLTransitionType(), request->GetTransitionType());
|
EXPECT_EQ(ExpectedOpenURLTransitionType(), request->GetTransitionType());
|
||||||
|
|
||||||
if (mode_ == LEFT_CLICK) {
|
if (mode_ == LEFT_CLICK || IsChromeRuntimeEnabled()) {
|
||||||
EXPECT_TRUE(user_gesture);
|
EXPECT_TRUE(user_gesture);
|
||||||
} else {
|
} else {
|
||||||
EXPECT_FALSE(user_gesture);
|
EXPECT_FALSE(user_gesture);
|
||||||
|
@ -528,7 +528,13 @@ class BasicResponseTest : public TestHandler {
|
|||||||
}
|
}
|
||||||
EXPECT_TRUE(frame->IsMain());
|
EXPECT_TRUE(frame->IsMain());
|
||||||
|
|
||||||
EXPECT_FALSE(user_gesture);
|
if (IsChromeRuntimeEnabled()) {
|
||||||
|
// With the Chrome runtime this is true on initial navigation via
|
||||||
|
// chrome::AddTabAt() and also true for clicked links.
|
||||||
|
EXPECT_TRUE(user_gesture);
|
||||||
|
} else {
|
||||||
|
EXPECT_FALSE(user_gesture);
|
||||||
|
}
|
||||||
if (on_before_browse_ct_ == 0 || mode_ == RESTART_RESOURCE_RESPONSE) {
|
if (on_before_browse_ct_ == 0 || mode_ == RESTART_RESOURCE_RESPONSE) {
|
||||||
EXPECT_FALSE(is_redirect) << on_before_browse_ct_;
|
EXPECT_FALSE(is_redirect) << on_before_browse_ct_;
|
||||||
} else {
|
} else {
|
||||||
@ -957,7 +963,13 @@ class BasicResponseTest : public TestHandler {
|
|||||||
EXPECT_EQ(resource_handler_created_ct_, resource_handler_destroyed_ct_);
|
EXPECT_EQ(resource_handler_created_ct_, resource_handler_destroyed_ct_);
|
||||||
|
|
||||||
if (IsAborted()) {
|
if (IsAborted()) {
|
||||||
EXPECT_EQ(0, on_resource_load_complete_ct_);
|
if (IsChromeRuntimeEnabled()) {
|
||||||
|
// Using the Chrome runtime OnResourceLoadComplete may be called with
|
||||||
|
// UR_FAILED.
|
||||||
|
EXPECT_NEAR(0, on_resource_load_complete_ct_, 1);
|
||||||
|
} else {
|
||||||
|
EXPECT_EQ(0, on_resource_load_complete_ct_);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
EXPECT_EQ(1, on_resource_load_complete_ct_);
|
EXPECT_EQ(1, on_resource_load_complete_ct_);
|
||||||
}
|
}
|
||||||
@ -1520,16 +1532,24 @@ class SubresourceResponseTest : public RoutingTestHandler {
|
|||||||
EXPECT_EQ(browser_id_, browser->GetIdentifier());
|
EXPECT_EQ(browser_id_, browser->GetIdentifier());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsMainURL(request->GetURL())) {
|
const std::string& url = request->GetURL();
|
||||||
|
if (IsMainURL(url)) {
|
||||||
EXPECT_TRUE(frame->IsMain());
|
EXPECT_TRUE(frame->IsMain());
|
||||||
} else if (IsSubURL(request->GetURL())) {
|
} else if (IsSubURL(url)) {
|
||||||
EXPECT_FALSE(frame->IsMain());
|
EXPECT_FALSE(frame->IsMain());
|
||||||
EXPECT_TRUE(subframe_);
|
EXPECT_TRUE(subframe_);
|
||||||
} else {
|
} else {
|
||||||
EXPECT_FALSE(true); // Not reached.
|
EXPECT_FALSE(true); // Not reached.
|
||||||
}
|
}
|
||||||
|
|
||||||
EXPECT_FALSE(user_gesture);
|
if (IsChromeRuntimeEnabled() && IsMainURL(url)) {
|
||||||
|
// With the Chrome runtime this is true on initial navigation via
|
||||||
|
// chrome::AddTabAt() and also true for clicked links.
|
||||||
|
EXPECT_TRUE(user_gesture);
|
||||||
|
} else {
|
||||||
|
EXPECT_FALSE(user_gesture);
|
||||||
|
}
|
||||||
|
|
||||||
EXPECT_FALSE(is_redirect);
|
EXPECT_FALSE(is_redirect);
|
||||||
|
|
||||||
on_before_browse_ct_++;
|
on_before_browse_ct_++;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user