mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Merge revision 791 changes:
- Fix crash when pending navigation executes after the browser window has been destroyed (issue #724). git-svn-id: https://chromiumembedded.googlecode.com/svn/branches/1180@792 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
@ -334,6 +334,9 @@ void CefBrowserImpl::SetZoomLevel(double zoomLevel) {
|
||||
|
||||
void CefBrowserImpl::ClearHistory() {
|
||||
if (CefThread::CurrentlyOn(CefThread::UI)) {
|
||||
if (!nav_controller_.get())
|
||||
return;
|
||||
|
||||
bool old_can_go_back = !nav_controller_->IsAtStart();
|
||||
bool old_can_go_forward = !nav_controller_->IsAtEnd();
|
||||
nav_controller_->Reset();
|
||||
@ -849,7 +852,8 @@ void CefBrowserImpl::UIT_LoadURLForRequestRef(CefRefPtr<CefFrame> frame,
|
||||
UIT_LoadURLForRequest(frame, url, method, upload_data, headers);
|
||||
}
|
||||
|
||||
void CefBrowserImpl::UIT_LoadURLForRequest(CefRefPtr<CefFrame> frame,
|
||||
void CefBrowserImpl::UIT_LoadURLForRequest(
|
||||
CefRefPtr<CefFrame> frame,
|
||||
const CefString& url,
|
||||
const CefString& method,
|
||||
const WebKit::WebHTTPBody& upload_data,
|
||||
@ -870,10 +874,12 @@ void CefBrowserImpl::UIT_LoadURLForRequest(CefRefPtr<CefFrame> frame,
|
||||
return;
|
||||
}
|
||||
|
||||
if (nav_controller_.get()) {
|
||||
nav_controller_->LoadEntry(
|
||||
new BrowserNavigationEntry(-1, gurl, CefString(), frame->GetName(),
|
||||
method, upload_data, headers));
|
||||
}
|
||||
}
|
||||
|
||||
void CefBrowserImpl::UIT_LoadHTML(CefRefPtr<CefFrame> frame,
|
||||
const CefString& html,
|
||||
@ -945,11 +951,13 @@ void CefBrowserImpl::UIT_ExecuteJavaScript(CefRefPtr<CefFrame> frame,
|
||||
|
||||
void CefBrowserImpl::UIT_GoBackOrForward(int offset) {
|
||||
REQUIRE_UIT();
|
||||
if (nav_controller_.get())
|
||||
nav_controller_->GoToOffset(offset);
|
||||
}
|
||||
|
||||
void CefBrowserImpl::UIT_Reload(bool ignoreCache) {
|
||||
REQUIRE_UIT();
|
||||
if (nav_controller_.get())
|
||||
nav_controller_->Reload(ignoreCache);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user