Merge revision 561 changes:
- Fix problem with CefBrowser::GetMainFrame() clearing the frame URL value (issue #556). git-svn-id: https://chromiumembedded.googlecode.com/svn/branches/1025@562 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
parent
0d33fc8cd2
commit
7ab2a3b36a
|
@ -649,6 +649,7 @@ CefRefPtr<CefFrameImpl> CefBrowserImpl::GetMainCefFrame(int64 id,
|
||||||
if (id != 0)
|
if (id != 0)
|
||||||
main_frame_->set_id(id);
|
main_frame_->set_id(id);
|
||||||
|
|
||||||
|
if (!url.is_empty())
|
||||||
main_frame_->set_url(url.spec());
|
main_frame_->set_url(url.spec());
|
||||||
|
|
||||||
return main_frame_;
|
return main_frame_;
|
||||||
|
|
|
@ -127,6 +127,21 @@ class HistoryNavTestHandler : public TestHandler {
|
||||||
got_correct_can_go_forward_[nav_].yes();
|
got_correct_can_go_forward_[nav_].yes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void OnLoadStart(CefRefPtr<CefBrowser> browser,
|
||||||
|
CefRefPtr<CefFrame> frame) OVERRIDE {
|
||||||
|
if(browser->IsPopup() || !frame->IsMain())
|
||||||
|
return;
|
||||||
|
|
||||||
|
const NavListItem& item = kNavList[nav_];
|
||||||
|
|
||||||
|
got_load_start_[nav_].yes();
|
||||||
|
|
||||||
|
std::string url1 = browser->GetMainFrame()->GetURL();
|
||||||
|
std::string url2 = frame->GetURL();
|
||||||
|
if (url1 == item.target && url2 == item.target)
|
||||||
|
got_correct_load_start_url_[nav_].yes();
|
||||||
|
}
|
||||||
|
|
||||||
virtual void OnLoadEnd(CefRefPtr<CefBrowser> browser,
|
virtual void OnLoadEnd(CefRefPtr<CefBrowser> browser,
|
||||||
CefRefPtr<CefFrame> frame,
|
CefRefPtr<CefFrame> frame,
|
||||||
int httpStatusCode) OVERRIDE {
|
int httpStatusCode) OVERRIDE {
|
||||||
|
@ -137,6 +152,11 @@ class HistoryNavTestHandler : public TestHandler {
|
||||||
|
|
||||||
got_load_end_[nav_].yes();
|
got_load_end_[nav_].yes();
|
||||||
|
|
||||||
|
std::string url1 = browser->GetMainFrame()->GetURL();
|
||||||
|
std::string url2 = frame->GetURL();
|
||||||
|
if (url1 == item.target && url2 == item.target)
|
||||||
|
got_correct_load_end_url_[nav_].yes();
|
||||||
|
|
||||||
if (item.can_go_back == browser->CanGoBack())
|
if (item.can_go_back == browser->CanGoBack())
|
||||||
got_correct_can_go_back2_[nav_].yes();
|
got_correct_can_go_back2_[nav_].yes();
|
||||||
if (item.can_go_forward == browser->CanGoForward())
|
if (item.can_go_forward == browser->CanGoForward())
|
||||||
|
@ -154,7 +174,10 @@ class HistoryNavTestHandler : public TestHandler {
|
||||||
TrackCallback got_nav_state_change_[NAV_LIST_SIZE()];
|
TrackCallback got_nav_state_change_[NAV_LIST_SIZE()];
|
||||||
TrackCallback got_correct_can_go_back_[NAV_LIST_SIZE()];
|
TrackCallback got_correct_can_go_back_[NAV_LIST_SIZE()];
|
||||||
TrackCallback got_correct_can_go_forward_[NAV_LIST_SIZE()];
|
TrackCallback got_correct_can_go_forward_[NAV_LIST_SIZE()];
|
||||||
|
TrackCallback got_load_start_[NAV_LIST_SIZE()];
|
||||||
|
TrackCallback got_correct_load_start_url_[NAV_LIST_SIZE()];
|
||||||
TrackCallback got_load_end_[NAV_LIST_SIZE()];
|
TrackCallback got_load_end_[NAV_LIST_SIZE()];
|
||||||
|
TrackCallback got_correct_load_end_url_[NAV_LIST_SIZE()];
|
||||||
TrackCallback got_correct_can_go_back2_[NAV_LIST_SIZE()];
|
TrackCallback got_correct_can_go_back2_[NAV_LIST_SIZE()];
|
||||||
TrackCallback got_correct_can_go_forward2_[NAV_LIST_SIZE()];
|
TrackCallback got_correct_can_go_forward2_[NAV_LIST_SIZE()];
|
||||||
};
|
};
|
||||||
|
@ -172,6 +195,8 @@ TEST(NavigationTest, History) {
|
||||||
ASSERT_TRUE(handler->got_before_browse_[i]) << "i = " << i;
|
ASSERT_TRUE(handler->got_before_browse_[i]) << "i = " << i;
|
||||||
ASSERT_TRUE(handler->got_correct_target_[i]) << "i = " << i;
|
ASSERT_TRUE(handler->got_correct_target_[i]) << "i = " << i;
|
||||||
ASSERT_TRUE(handler->got_correct_nav_type_[i]) << "i = " << i;
|
ASSERT_TRUE(handler->got_correct_nav_type_[i]) << "i = " << i;
|
||||||
|
ASSERT_TRUE(handler->got_load_start_[i]) << "i = " << i;
|
||||||
|
ASSERT_TRUE(handler->got_correct_load_start_url_[i]) << "i = " << i;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i == 0 || kNavList[i].can_go_back != kNavList[i-1].can_go_back ||
|
if (i == 0 || kNavList[i].can_go_back != kNavList[i-1].can_go_back ||
|
||||||
|
@ -188,6 +213,7 @@ TEST(NavigationTest, History) {
|
||||||
|
|
||||||
if (kNavList[i].action != NA_CLEAR) {
|
if (kNavList[i].action != NA_CLEAR) {
|
||||||
ASSERT_TRUE(handler->got_load_end_[i]) << "i = " << i;
|
ASSERT_TRUE(handler->got_load_end_[i]) << "i = " << i;
|
||||||
|
ASSERT_TRUE(handler->got_correct_load_end_url_[i]) << "i = " << i;
|
||||||
ASSERT_TRUE(handler->got_correct_can_go_back2_[i]) << "i = " << i;
|
ASSERT_TRUE(handler->got_correct_can_go_back2_[i]) << "i = " << i;
|
||||||
ASSERT_TRUE(handler->got_correct_can_go_forward2_[i]) << "i = " << i;
|
ASSERT_TRUE(handler->got_correct_can_go_forward2_[i]) << "i = " << i;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue