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,7 +649,8 @@ CefRefPtr<CefFrameImpl> CefBrowserImpl::GetMainCefFrame(int64 id,
|
|||
if (id != 0)
|
||||
main_frame_->set_id(id);
|
||||
|
||||
main_frame_->set_url(url.spec());
|
||||
if (!url.is_empty())
|
||||
main_frame_->set_url(url.spec());
|
||||
|
||||
return main_frame_;
|
||||
}
|
||||
|
|
|
@ -127,6 +127,21 @@ class HistoryNavTestHandler : public TestHandler {
|
|||
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,
|
||||
CefRefPtr<CefFrame> frame,
|
||||
int httpStatusCode) OVERRIDE {
|
||||
|
@ -137,6 +152,11 @@ class HistoryNavTestHandler : public TestHandler {
|
|||
|
||||
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())
|
||||
got_correct_can_go_back2_[nav_].yes();
|
||||
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_correct_can_go_back_[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_correct_load_end_url_[NAV_LIST_SIZE()];
|
||||
TrackCallback got_correct_can_go_back2_[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_correct_target_[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 ||
|
||||
|
@ -188,6 +213,7 @@ TEST(NavigationTest, History) {
|
|||
|
||||
if (kNavList[i].action != NA_CLEAR) {
|
||||
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_forward2_[i]) << "i = " << i;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue