]> git.sesse.net Git - nageru/blobdiff - nageru_cef_app.cpp
Release Nageru 1.7.2.
[nageru] / nageru_cef_app.cpp
index bd8b9d6dd49d4a8b434730a6a86b230995df1a56..2e64ceee9aa35b11b1016fa4674b56fdaa1f3859 100644 (file)
@@ -18,13 +18,6 @@ void NageruCefApp::OnBeforeCommandLineProcessing(
        command_line->AppendSwitch("enable-begin-frame-scheduling");
 }
 
-void NageruCefApp::OnBrowserDestroyed(CefRefPtr<CefBrowser> browser)
-{
-       lock_guard<mutex> lock(cef_mutex);
-       pending_browsers.erase(browser.get());
-       browser_closed_cond.notify_all();
-}
-
 void NageruCefApp::initialize_cef()
 {
        unique_lock<mutex> lock(cef_mutex);
@@ -37,11 +30,7 @@ void NageruCefApp::initialize_cef()
 void NageruCefApp::close_browser(CefRefPtr<CefBrowser> browser)
 {
        unique_lock<mutex> lock(cef_mutex);
-       CefBrowser *raw_ptr = browser.get();
-       pending_browsers.insert(raw_ptr);
        browser->GetHost()->CloseBrowser(/*force_close=*/true);
-       browser = nullptr;
-       browser_closed_cond.wait(lock, [this, raw_ptr]{ return pending_browsers.count(raw_ptr) != 0; });
 }
 
 void NageruCefApp::unref_cef()
@@ -49,6 +38,7 @@ void NageruCefApp::unref_cef()
        unique_lock<mutex> lock(cef_mutex);
        if (--cef_thread_refcount == 0) {
                CefPostTask(TID_UI, new CEFTaskAdapter(&CefQuitMessageLoop));
+               lock.unlock();
                cef_thread.join();
        }
 }