mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
- Factor platform-specific code out of CefBrowserHostImpl (issue #1749).
- Introduce native/ and osr/ folders for native (non-platform-agnostic) and osr (windowless) code respectively. - Introduce CefBrowserPlatformDelegate for abstracting platform-specific implementations of browser host functionality. - Move dialog and menu code to separate manager and platform-specific runner implementations exposed via CefBrowserPlatformDelegate. - Standardize focus-handling behavior between windowed and windowless implementations. CefFocusHandler::OnSetFocus() will now also be called for osr focus changes. - Support multiple simultaneous popups (issue #1289).
This commit is contained in:
@@ -220,18 +220,16 @@ bool ClientDialogHandlerGtk::OnFileDialog(
|
||||
gtk_file_chooser_set_show_hidden(GTK_FILE_CHOOSER(dialog),
|
||||
!(mode & FILE_DIALOG_HIDEREADONLY_FLAG));
|
||||
|
||||
if (!default_file_path.empty()) {
|
||||
if (!default_file_path.empty() && mode_type == FILE_DIALOG_SAVE) {
|
||||
const std::string& file_path = default_file_path;
|
||||
bool exists = false;
|
||||
|
||||
if (mode_type == FILE_DIALOG_SAVE) {
|
||||
struct stat sb;
|
||||
if (stat(file_path.c_str(), &sb) == 0 && S_ISREG(sb.st_mode)) {
|
||||
// Use the directory and name of the existing file.
|
||||
gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog),
|
||||
file_path.data());
|
||||
exists = true;
|
||||
}
|
||||
struct stat sb;
|
||||
if (stat(file_path.c_str(), &sb) == 0 && S_ISREG(sb.st_mode)) {
|
||||
// Use the directory and name of the existing file.
|
||||
gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog),
|
||||
file_path.data());
|
||||
exists = true;
|
||||
}
|
||||
|
||||
if (!exists) {
|
||||
|
Reference in New Issue
Block a user