diff --git a/include/cef_jsdialog_handler.h b/include/cef_jsdialog_handler.h index b34261241..d3067f3c0 100644 --- a/include/cef_jsdialog_handler.h +++ b/include/cef_jsdialog_handler.h @@ -53,7 +53,7 @@ class CefJSDialogHandler : public virtual CefBase { // Called to run a JavaScript alert message. Return false to display the // default alert or true if you displayed a custom alert. /// - /*--cef()--*/ + /*--cef(optional_param=message)--*/ virtual bool OnJSAlert(CefRefPtr browser, CefRefPtr frame, const CefString& message) { return false; } @@ -63,7 +63,7 @@ class CefJSDialogHandler : public virtual CefBase { // default alert or true if you displayed a custom alert. If you handled the // alert set |retval| to true if the user accepted the confirmation. /// - /*--cef()--*/ + /*--cef(optional_param=message)--*/ virtual bool OnJSConfirm(CefRefPtr browser, CefRefPtr frame, const CefString& message, @@ -75,7 +75,7 @@ class CefJSDialogHandler : public virtual CefBase { // the prompt set |retval| to true if the user accepted the prompt and request // and |result| to the resulting value. /// - /*--cef()--*/ + /*--cef(optional_param=message,optional_param=defaultValue)--*/ virtual bool OnJSPrompt(CefRefPtr browser, CefRefPtr frame, const CefString& message, diff --git a/libcef/browser_request_context.cc b/libcef/browser_request_context.cc index 12cab888f..23aeafc43 100644 --- a/libcef/browser_request_context.cc +++ b/libcef/browser_request_context.cc @@ -147,15 +147,6 @@ void BrowserRequestContext::Init( const FilePath& cache_path, net::HttpCache::Mode cache_mode, bool no_proxy) { - // Create the |cache_path| directory if necessary. - bool cache_path_valid = false; - if (!cache_path.empty()) { - if (file_util::CreateDirectory(cache_path)) - cache_path_valid = true; - else - NOTREACHED() << "The cache_path directory could not be created"; - } - SetCookieStoragePath(cache_path); storage_.set_origin_bound_cert_service(new net::OriginBoundCertService( @@ -238,7 +229,7 @@ void BrowserRequestContext::Init( storage_.set_http_server_properties(new net::HttpServerPropertiesImpl); net::HttpCache::DefaultBackend* backend = new net::HttpCache::DefaultBackend( - cache_path_valid ? net::DISK_CACHE : net::MEMORY_CACHE, + cache_path.empty() ? net::MEMORY_CACHE : net::DISK_CACHE, cache_path, 0, BrowserResourceLoaderBridge::GetCacheThread()); net::HttpCache* cache = @@ -307,13 +298,17 @@ void BrowserRequestContext::SetCookieStoragePath(const FilePath& path) { return; } + FilePath new_path = path; + scoped_refptr persistent_store; - if (!path.empty()) { - if (file_util::CreateDirectory(path)) { - const FilePath& cookie_path = path.AppendASCII("Cookies"); - persistent_store = new BrowserPersistentCookieStore(cookie_path, false); + if (!new_path.empty()) { + if (!file_util::PathExists(new_path) && + !file_util::CreateDirectory(new_path)) { + NOTREACHED() << "Failed to create cookie storage directory"; + new_path.clear(); } else { - NOTREACHED() << "The cookie storage directory could not be created"; + FilePath cookie_path = new_path.Append(FILE_PATH_LITERAL("Cookies")); + persistent_store = new BrowserPersistentCookieStore(cookie_path, false); } } @@ -322,7 +317,7 @@ void BrowserRequestContext::SetCookieStoragePath(const FilePath& path) { // longer referenced. storage_.set_cookie_store( new net::CookieMonster(persistent_store.get(), NULL)); - cookie_store_path_ = path; + cookie_store_path_ = new_path; } const std::string& BrowserRequestContext::GetUserAgent( diff --git a/libcef/browser_webkit_init.cc b/libcef/browser_webkit_init.cc index dc6db44e1..02cb980b0 100644 --- a/libcef/browser_webkit_init.cc +++ b/libcef/browser_webkit_init.cc @@ -53,16 +53,17 @@ BrowserWebKitInit::BrowserWebKitInit() PathService::Get(base::DIR_MODULE, &module_path) && media::InitializeMediaLibrary(module_path)); - // Construct and initialize an appcache system for this scope. - // A new empty temp directory is created to house any cached - // content during the run. Upon exit that directory is deleted. - // If we can't create a tempdir, we'll use in-memory storage. - if (!appcache_dir_.CreateUniqueTempDir()) { - LOG(WARNING) << "Failed to create a temp dir for the appcache, " - "using in-memory storage."; - DCHECK(appcache_dir_.path().empty()); + FilePath appcache_path; + FilePath cache_path = _Context->cache_path(); + if (!cache_path.empty()) { + appcache_path = cache_path.Append(FILE_PATH_LITERAL("AppCache")); + if (!file_util::PathExists(appcache_path) && + !file_util::CreateDirectory(appcache_path)) { + LOG(WARNING) << "Failed to create appcache storage directory"; + appcache_path.clear(); + } } - BrowserAppCacheSystem::InitializeOnUIThread(appcache_dir_.path()); + BrowserAppCacheSystem::InitializeOnUIThread(appcache_path); WebKit::WebDatabase::setObserver(&database_system_); diff --git a/libcef/browser_webkit_init.h b/libcef/browser_webkit_init.h index 65882abdf..e24ca0d0c 100644 --- a/libcef/browser_webkit_init.h +++ b/libcef/browser_webkit_init.h @@ -106,7 +106,6 @@ class BrowserWebKitInit : public webkit_glue::WebKitPlatformSupportImpl { webkit_glue::WebClipboardImpl clipboard_; SimpleClipboardClient clipboard_client_; webkit_glue::WebFileUtilitiesImpl file_utilities_; - ScopedTempDir appcache_dir_; BrowserAppCacheSystem appcache_system_; BrowserDatabaseSystem database_system_; BrowserWebCookieJarImpl cookie_jar_; diff --git a/libcef/cef_context.cc b/libcef/cef_context.cc index 872c12d00..459b897d2 100644 --- a/libcef/cef_context.cc +++ b/libcef/cef_context.cc @@ -172,6 +172,12 @@ bool CefContext::Initialize(const CefSettings& settings, application_ = application; cache_path_ = FilePath(CefString(&settings.cache_path)); + if (!cache_path_.empty() && + !file_util::PathExists(cache_path_) && + !file_util::CreateDirectory(cache_path_)) { + NOTREACHED() << "Failed to create cache_path directory"; + cache_path_.clear(); + } #if defined(OS_MACOSX) || defined(OS_WIN) // We want to be sure to init NSPR on the main thread. diff --git a/libcef/cookie_manager_impl.cc b/libcef/cookie_manager_impl.cc index f6004d665..f73299cbd 100644 --- a/libcef/cookie_manager_impl.cc +++ b/libcef/cookie_manager_impl.cc @@ -227,12 +227,13 @@ bool CefCookieManagerImpl::SetStoragePath(const CefString& path) { scoped_refptr persistent_store; if (!new_path.empty()) { - if (file_util::CreateDirectory(new_path)) { - const FilePath& cookie_path = new_path.AppendASCII("Cookies"); - persistent_store = new BrowserPersistentCookieStore(cookie_path, false); + if (!file_util::PathExists(new_path) && + !file_util::CreateDirectory(new_path)) { + NOTREACHED() << "Failed to create cookie storage directory"; + new_path.clear(); } else { - NOTREACHED() << "The cookie storage directory could not be created"; - storage_path_.clear(); + FilePath cookie_path = new_path.Append(FILE_PATH_LITERAL("Cookies")); + persistent_store = new BrowserPersistentCookieStore(cookie_path, false); } } diff --git a/libcef_dll/cpptoc/jsdialog_handler_cpptoc.cc b/libcef_dll/cpptoc/jsdialog_handler_cpptoc.cc index d87d94d7e..0de68df23 100644 --- a/libcef_dll/cpptoc/jsdialog_handler_cpptoc.cc +++ b/libcef_dll/cpptoc/jsdialog_handler_cpptoc.cc @@ -33,10 +33,7 @@ int CEF_CALLBACK jsdialog_handler_on_jsalert( DCHECK(frame); if (!frame) return 0; - // Verify param: message; type: string_byref_const - DCHECK(message); - if (!message) - return 0; + // Unverified params: message // Execute bool _retval = CefJSDialogHandlerCppToC::Get(self)->OnJSAlert( @@ -64,14 +61,11 @@ int CEF_CALLBACK jsdialog_handler_on_jsconfirm( DCHECK(frame); if (!frame) return 0; - // Verify param: message; type: string_byref_const - DCHECK(message); - if (!message) - return 0; // Verify param: retval; type: bool_byref DCHECK(retval); if (!retval) return 0; + // Unverified params: message // Translate param: retval; type: bool_byref bool retvalBool = (retval && *retval)?true:false; @@ -108,14 +102,6 @@ int CEF_CALLBACK jsdialog_handler_on_jsprompt( DCHECK(frame); if (!frame) return 0; - // Verify param: message; type: string_byref_const - DCHECK(message); - if (!message) - return 0; - // Verify param: defaultValue; type: string_byref_const - DCHECK(defaultValue); - if (!defaultValue) - return 0; // Verify param: retval; type: bool_byref DCHECK(retval); if (!retval) @@ -124,6 +110,7 @@ int CEF_CALLBACK jsdialog_handler_on_jsprompt( DCHECK(result); if (!result) return 0; + // Unverified params: message, defaultValue // Translate param: retval; type: bool_byref bool retvalBool = (retval && *retval)?true:false; diff --git a/libcef_dll/ctocpp/jsdialog_handler_ctocpp.cc b/libcef_dll/ctocpp/jsdialog_handler_ctocpp.cc index 41f45f0ba..f752a6996 100644 --- a/libcef_dll/ctocpp/jsdialog_handler_ctocpp.cc +++ b/libcef_dll/ctocpp/jsdialog_handler_ctocpp.cc @@ -32,10 +32,7 @@ bool CefJSDialogHandlerCToCpp::OnJSAlert(CefRefPtr browser, DCHECK(frame.get()); if (!frame.get()) return false; - // Verify param: message; type: string_byref_const - DCHECK(!message.empty()); - if (message.empty()) - return false; + // Unverified params: message // Execute int _retval = struct_->on_jsalert(struct_, @@ -62,10 +59,7 @@ bool CefJSDialogHandlerCToCpp::OnJSConfirm(CefRefPtr browser, DCHECK(frame.get()); if (!frame.get()) return false; - // Verify param: message; type: string_byref_const - DCHECK(!message.empty()); - if (message.empty()) - return false; + // Unverified params: message // Translate param: retval; type: bool_byref int retvalInt = retval; @@ -100,14 +94,7 @@ bool CefJSDialogHandlerCToCpp::OnJSPrompt(CefRefPtr browser, DCHECK(frame.get()); if (!frame.get()) return false; - // Verify param: message; type: string_byref_const - DCHECK(!message.empty()); - if (message.empty()) - return false; - // Verify param: defaultValue; type: string_byref_const - DCHECK(!defaultValue.empty()); - if (defaultValue.empty()) - return false; + // Unverified params: message, defaultValue // Translate param: retval; type: bool_byref int retvalInt = retval;