New issue
Advanced search Search tips

Issue 884075 link

Starred by 3 users

Issue metadata

Status: Duplicate
Merged: issue 73098
Owner:
Closed: Nov 20
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Feature

Blocking:
issue 690166



Sign in to add a comment

FIle dialogs should be moved to a utility process

Project Member Reported by chrisha@chromium.org, Sep 14

Issue description

Third party blocking prevents shell extensions from being injected, and can reduce functionality of file save / file open dialogs by preventing context menu operations from functioning as the user expects.

To allow these extensions to continue working, but to keep the injection out of the browser process, these dialogs should be pushed out to a utility process that allows injection.
 
Blocking: 690166
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 9

Project Member

Comment 3 by bugdroid1@chromium.org, Oct 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eec38b99c2c1164b035eede7babdb7017139c0e4

commit eec38b99c2c1164b035eede7babdb7017139c0e4
Author: Patrick Monette <pmonette@chromium.org>
Date: Fri Oct 12 17:18:20 2018

Adding tests for SelectFileDialog on Windows

Bug:  884075 
Change-Id: I85829ee1e898296013c4ead98d4b9b39121a49d6
Reviewed-on: https://chromium-review.googlesource.com/c/1265121
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Robert Liao <robliao@chromium.org>
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599264}
[modify] https://crrev.com/eec38b99c2c1164b035eede7babdb7017139c0e4/ui/shell_dialogs/BUILD.gn
[modify] https://crrev.com/eec38b99c2c1164b035eede7babdb7017139c0e4/ui/shell_dialogs/run_all_unittests.cc
[modify] https://crrev.com/eec38b99c2c1164b035eede7babdb7017139c0e4/ui/shell_dialogs/select_file_dialog_win_unittest.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Oct 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e5752ae048ec71bd95bdee2ab6d17b4373d871f7

commit e5752ae048ec71bd95bdee2ab6d17b4373d871f7
Author: Patrick Monette <pmonette@chromium.org>
Date: Tue Oct 16 03:06:32 2018

Refactor the SelectFileDialog implementation on Windows

This is meant to make the code easier to read by making ownership more
obvious and standardize a little bit the different functions that
implement the various dialog types.

Also will facilitate a possible transition to the IFileDialog interface

This CL should not change the behavior of the dialogs.

Bug: 73098, 884075 
Change-Id: I0d2f5cc02e1d08ab3f54385fb166bc34ae1f5b53
Reviewed-on: https://chromium-review.googlesource.com/c/1249911
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Robert Liao <robliao@chromium.org>
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599827}
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/chrome/browser/net/net_error_diagnostics_dialog_win.cc
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/chrome/browser/ui/views/certificate_viewer_win.cc
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/chrome/browser/ui/views/color_chooser_dialog.cc
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/chrome/browser/ui/views/color_chooser_dialog.h
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/chrome/browser/ui/webui/print_preview/pdf_printer_handler_win_unittest.cc
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/chrome/browser/ui/webui/settings_utils_win.cc
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/chrome/browser/win/chrome_select_file_dialog_factory.cc
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/chrome/browser/win/chrome_select_file_dialog_factory.h
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/ui/shell_dialogs/BUILD.gn
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/ui/shell_dialogs/base_shell_dialog_win.cc
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/ui/shell_dialogs/base_shell_dialog_win.h
[add] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/ui/shell_dialogs/execute_select_file_win.cc
[add] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/ui/shell_dialogs/execute_select_file_win.h
[add] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/ui/shell_dialogs/execute_select_file_win_unittest.cc
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/ui/shell_dialogs/select_file_dialog_win.cc
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/ui/shell_dialogs/select_file_dialog_win.h
[modify] https://crrev.com/e5752ae048ec71bd95bdee2ab6d17b4373d871f7/ui/shell_dialogs/select_file_dialog_win_unittest.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/24a053badf908d50c49935b34908fdac68bcfda1

commit 24a053badf908d50c49935b34908fdac68bcfda1
Author: Patrick Monette <pmonette@chromium.org>
Date: Thu Oct 18 22:49:03 2018

Use the IFileDialog to implement SelectFileDialog on Windows

The current implementation uses a combination of SHBrowseForFolder,
GetOpenFileName and GetSaveFileName, which are deprecated.

The IFileDialog, on the other hand, is the currently supported API
to display a file dialog on Windows.

Bug: 73098, 884075 
Change-Id: Ifbab2dae5046bf9e38b866d9ae99dbccc1fa9bbe
Reviewed-on: https://chromium-review.googlesource.com/c/1252914
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Robert Liao <robliao@chromium.org>
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600953}
[modify] https://crrev.com/24a053badf908d50c49935b34908fdac68bcfda1/chrome/browser/ui/webui/print_preview/pdf_printer_handler_win_unittest.cc
[modify] https://crrev.com/24a053badf908d50c49935b34908fdac68bcfda1/chrome/services/util_win/shell_util_win_impl.cc
[modify] https://crrev.com/24a053badf908d50c49935b34908fdac68bcfda1/ui/base/BUILD.gn
[delete] https://crrev.com/0e7f6c81074b0a720ec0e1e1aed6a198f60414df/ui/base/win/open_file_name_win.cc
[delete] https://crrev.com/0e7f6c81074b0a720ec0e1e1aed6a198f60414df/ui/base/win/open_file_name_win.h
[delete] https://crrev.com/0e7f6c81074b0a720ec0e1e1aed6a198f60414df/ui/base/win/open_file_name_win_unittest.cc
[modify] https://crrev.com/24a053badf908d50c49935b34908fdac68bcfda1/ui/shell_dialogs/BUILD.gn
[modify] https://crrev.com/24a053badf908d50c49935b34908fdac68bcfda1/ui/shell_dialogs/execute_select_file_win.cc
[modify] https://crrev.com/24a053badf908d50c49935b34908fdac68bcfda1/ui/shell_dialogs/execute_select_file_win.h
[modify] https://crrev.com/24a053badf908d50c49935b34908fdac68bcfda1/ui/shell_dialogs/run_all_unittests.cc
[modify] https://crrev.com/24a053badf908d50c49935b34908fdac68bcfda1/ui/shell_dialogs/select_file_dialog_win.cc
[modify] https://crrev.com/24a053badf908d50c49935b34908fdac68bcfda1/ui/shell_dialogs/select_file_dialog_win.h
[modify] https://crrev.com/24a053badf908d50c49935b34908fdac68bcfda1/ui/shell_dialogs/select_file_dialog_win_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4b9ad302651bf1104c5582048002e04fb8792694

commit 4b9ad302651bf1104c5582048002e04fb8792694
Author: Patrick Monette <pmonette@chromium.org>
Date: Mon Oct 29 17:50:28 2018

Revive out-of-process file dialogs on Windows.

Create a new function in shell_util_win.mojom to replace the old
CallGetOpenFileName and CallGetSaveFileName functions that are no
longer implemented.

Make use of that function in chrome_select_file_dialog_factory

Bug: 73098, 884075 
Change-Id: Ia3176fe3aefe26ea08f518332454e5637796b410
Reviewed-on: https://chromium-review.googlesource.com/c/1241563
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Robert Kaplow (OOO until Nov6) <rkaplow@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603550}
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/chrome/browser/ui/webui/print_preview/pdf_printer_handler_win_unittest.cc
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/chrome/browser/win/chrome_select_file_dialog_factory.cc
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/chrome/services/util_win/public/mojom/OWNERS
[add] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/chrome/services/util_win/public/mojom/shell_util_mojom_traits.cc
[add] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/chrome/services/util_win/public/mojom/shell_util_mojom_traits.h
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/chrome/services/util_win/public/mojom/shell_util_win.mojom
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/chrome/services/util_win/public/mojom/shell_util_win.typemap
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/chrome/services/util_win/shell_util_win_impl.cc
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/chrome/services/util_win/shell_util_win_impl.h
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/mojo/public/cpp/bindings/sync_call_restrictions.h
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/ui/shell_dialogs/execute_select_file_win.cc
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/ui/shell_dialogs/execute_select_file_win.h
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/ui/shell_dialogs/select_file_dialog_win.cc
[modify] https://crrev.com/4b9ad302651bf1104c5582048002e04fb8792694/ui/shell_dialogs/select_file_dialog_win.h

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9515f64df36c09a5c79bcf20b49135426f6cf7b0

commit 9515f64df36c09a5c79bcf20b49135426f6cf7b0
Author: Patrick Monette <pmonette@chromium.org>
Date: Mon Oct 29 20:57:33 2018

Make the WinOOPSelectFileDialog feature disabled by default

The feature was incorrectly committed as enabled by default in this CL:
https://chromium-review.googlesource.com/c/chromium/src/+/1241563

Bug:  884075 
Tbr: sky@chromium.org
Change-Id: I8d7df2adcd4d774684d1e24ce3b109ea43e7e7cb
Reviewed-on: https://chromium-review.googlesource.com/c/1305879
Reviewed-by: Patrick Monette <pmonette@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603612}
[modify] https://crrev.com/9515f64df36c09a5c79bcf20b49135426f6cf7b0/chrome/browser/win/chrome_select_file_dialog_factory.cc

Cc: emilyschechter@chromium.org phanindra.mandapaka@chromium.org pmonette@chromium.org
 Issue 894309  has been merged into this issue.
Project Member

Comment 10 by bugdroid1@chromium.org, Nov 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3132050593c774411985038928b12dea4054aab3

commit 3132050593c774411985038928b12dea4054aab3
Author: Patrick Monette <pmonette@chromium.org>
Date: Thu Nov 01 22:08:45 2018

Add a fieldtrial testing config for WinOOPSelectFileDialog

Bug:  884075 
Change-Id: I08094816c99b1ba0c0b8519318a57c957c7648e2
Reviewed-on: https://chromium-review.googlesource.com/c/1308669
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604718}
[modify] https://crrev.com/3132050593c774411985038928b12dea4054aab3/testing/variations/fieldtrial_testing_config.json

Cc: chengx@chromium.org
 Issue 884802  has been merged into this issue.
Mergedinto: 73098
Status: Duplicate (was: Assigned)
I'll merge this bug into the original bug from 2011

Sign in to add a comment