New issue
Advanced search Search tips

Issue 869257 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 7
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task

Blocking:
issue 124187



Sign in to add a comment

Mojoify FileChooser IPC messages

Project Member Reported by tkent@chromium.org, Jul 31

Issue description

Chrome Version: ToT as of 2018-07-31
OS: All but iOS

What steps will reproduce the problem?
(1) Open //content/common/frame_messages.h

What is the expected result?
There should be no FileChooser-related stuff.

What happens instead?
There are several FileChooser-related stuff


Please use labels and text to provide additional information.

Because we have a pending request queue in RenderFrameImpl, and PPAPI also uses it, Blink might be unable to use Mojo operations directly.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 1

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

commit 79516b3d6af83ec5988ebdce20f37d5679c8340e
Author: Kent Tamura <tkent@chromium.org>
Date: Wed Aug 01 07:42:59 2018

Cleanup of blink::WebFileChooserParams

- Remove unnecessary #include
- Remove unused |capture| member
- Update comments

Bug:  869257 
Change-Id: Ia16c39bd31be1a0d38f67efe6823cb62229fe0c8
Reviewed-on: https://chromium-review.googlesource.com/1157947
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579720}
[modify] https://crrev.com/79516b3d6af83ec5988ebdce20f37d5679c8340e/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/79516b3d6af83ec5988ebdce20f37d5679c8340e/content/renderer/render_view_impl.cc
[modify] https://crrev.com/79516b3d6af83ec5988ebdce20f37d5679c8340e/content/shell/test_runner/web_frame_test_client.cc
[modify] https://crrev.com/79516b3d6af83ec5988ebdce20f37d5679c8340e/third_party/blink/public/web/web_file_chooser_params.h

Project Member

Comment 2 by bugdroid1@chromium.org, Aug 1

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

commit 647f1a50d0f78138dd0f3125036b930668203b13
Author: Kent Tamura <tkent@chromium.org>
Date: Wed Aug 01 10:24:08 2018

FileChooser: Move pending file chooser queue from content::RenderFrameImpl to blink::ChromeClientImpl

* Motivation

This is a preparation to switch FileChooser from legacy IPC to
Mojo. Blink and Pepper want to communicate with the browser process
directly, and the logic in RenderFrameImpl should be moved.

* Implementation

Pepper: The pending queue has never been used. PepperFileChooserHost
blocks file chooser requests while a file chooser is already shown. So
we can just bypass the pending queue.

Blink: Implement the pending queue in blink::ChromeClientImpl.
- Add ChromeClientImpl data member to WebFileChooserCompletionImpl to
 call it back.
- Add FrameOrNull() to WebFileChooserCompletionImpl, FileChooser, and
  FileChooserClient in order to obtain WebLocalFrameClient from
  WebFileChooserCompletionImpl.

Bug:  869257 
Change-Id: Ib00d949b4f638c2a660119a86c9115a03f300920
Reviewed-on: https://chromium-review.googlesource.com/1157742
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Raymes Khoury <raymes@chromium.org>
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579748}
[modify] https://crrev.com/647f1a50d0f78138dd0f3125036b930668203b13/content/renderer/pepper/pepper_file_chooser_host.cc
[modify] https://crrev.com/647f1a50d0f78138dd0f3125036b930668203b13/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/647f1a50d0f78138dd0f3125036b930668203b13/content/renderer/render_frame_impl.h
[modify] https://crrev.com/647f1a50d0f78138dd0f3125036b930668203b13/third_party/blink/renderer/core/exported/web_file_chooser_completion_impl.cc
[modify] https://crrev.com/647f1a50d0f78138dd0f3125036b930668203b13/third_party/blink/renderer/core/exported/web_file_chooser_completion_impl.h
[modify] https://crrev.com/647f1a50d0f78138dd0f3125036b930668203b13/third_party/blink/renderer/core/html/forms/file_chooser.h
[modify] https://crrev.com/647f1a50d0f78138dd0f3125036b930668203b13/third_party/blink/renderer/core/html/forms/file_input_type.cc
[modify] https://crrev.com/647f1a50d0f78138dd0f3125036b930668203b13/third_party/blink/renderer/core/html/forms/file_input_type.h
[modify] https://crrev.com/647f1a50d0f78138dd0f3125036b930668203b13/third_party/blink/renderer/core/page/chrome_client_impl.cc
[modify] https://crrev.com/647f1a50d0f78138dd0f3125036b930668203b13/third_party/blink/renderer/core/page/chrome_client_impl.h

Summary: Mojoify FileChooser IPC messages (was: Mojofy FileChooser IPC messages)
Owner: tkent@chromium.org
Status: Started (was: Available)
WIP CL: https://chromium-review.googlesource.com/c/chromium/src/+/1170454

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 16

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

commit 938e3b652ae00d28826d5a5e4f73c8832c81d111
Author: Kent Tamura <tkent@chromium.org>
Date: Thu Aug 16 23:05:03 2018

FileSelectHelper: Simplify directory-enumeration code.

A FileSelectHelper instance handles at most one directory enumeration
during its lifetime.
- FileSelectHelper doesn't need to have |std::map<int,
  ActiveDirectoryEnumeration*>|. One |std::unique_ptr<
  ActiveDirectoryEnumeration>| and one |int request_id_| are enough.
- We don't need DirectoryListerDispatchDelegate. FileSelectHelper
  implements net::DirectoryLister::DirectoryListerDelegate.

This CL has no behavior changes.
This CL is a preparation to mojoify FileChooser IPC.

Bug:  869257 
Change-Id: I19ecfbb49b54c2430f7f0358ca787e831c493e29
Reviewed-on: https://chromium-review.googlesource.com/1177082
Commit-Queue: Kent Tamura <tkent@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583870}
[modify] https://crrev.com/938e3b652ae00d28826d5a5e4f73c8832c81d111/chrome/browser/file_select_helper.cc
[modify] https://crrev.com/938e3b652ae00d28826d5a5e4f73c8832c81d111/chrome/browser/file_select_helper.h

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 14

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

commit bc06b14c66626e23bfd0dd7ab0bd3b35097ea771
Author: Kent Tamura <tkent@chromium.org>
Date: Fri Sep 14 03:38:47 2018

Forms: Define an alias type of WTF::Vector<blink::FileChooserFileInfo>.

We'll switch it to WTF::Vector<blink::mojom::blink::FileChooserFileInfoPtr>
in a later CL. This CL will make it easier.

This CL has no behavior changes.

Bug:  869257 
Change-Id: I4c2b75d72cd80795b84f3ce3f5e2086f0e2059dc
Reviewed-on: https://chromium-review.googlesource.com/1226533
Reviewed-by: Yoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591282}
[modify] https://crrev.com/bc06b14c66626e23bfd0dd7ab0bd3b35097ea771/third_party/blink/renderer/core/html/forms/file_chooser.cc
[modify] https://crrev.com/bc06b14c66626e23bfd0dd7ab0bd3b35097ea771/third_party/blink/renderer/core/html/forms/file_chooser.h
[modify] https://crrev.com/bc06b14c66626e23bfd0dd7ab0bd3b35097ea771/third_party/blink/renderer/core/html/forms/file_input_type.cc
[modify] https://crrev.com/bc06b14c66626e23bfd0dd7ab0bd3b35097ea771/third_party/blink/renderer/core/html/forms/file_input_type.h
[modify] https://crrev.com/bc06b14c66626e23bfd0dd7ab0bd3b35097ea771/third_party/blink/renderer/core/html/forms/file_input_type_test.cc
[modify] https://crrev.com/bc06b14c66626e23bfd0dd7ab0bd3b35097ea771/third_party/blink/renderer/core/html/forms/form_controller.cc
[modify] https://crrev.com/bc06b14c66626e23bfd0dd7ab0bd3b35097ea771/third_party/blink/renderer/core/html/forms/html_input_element.cc
[modify] https://crrev.com/bc06b14c66626e23bfd0dd7ab0bd3b35097ea771/third_party/blink/renderer/core/html/forms/html_input_element.h
[modify] https://crrev.com/bc06b14c66626e23bfd0dd7ab0bd3b35097ea771/third_party/blink/renderer/core/html/forms/html_input_element_test.cc
[modify] https://crrev.com/bc06b14c66626e23bfd0dd7ab0bd3b35097ea771/third_party/blink/renderer/core/page/chrome_client_impl_test.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 14

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

commit c260c9a88bad63450919aa5f953dcbe8f0b874d4
Author: Kent Tamura <tkent@chromium.org>
Date: Fri Sep 14 09:10:56 2018

FileChooser: Mojoify FileChooser IPC, part 1

This CL introduces mojo struct FileChooserParams, and replaces
content::FileChooserParams with it.

- We transfer the mojo struct over a legacy IPC message temporarily.
  Following CLs will remove the legacy IPC message.

- Update blink::WebFileChooserParams so that it matches to the mojo
  struct.

FYI: All-in-one CL: https://chromium-review.googlesource.com/1170454

Bug:  869257 
Change-Id: If9ebd72bb1d69cb1a6d2b282d82ec940ae103748
Reviewed-on: https://chromium-review.googlesource.com/1195242
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591310}
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/android_webview/browser/aw_web_contents_delegate.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/android_webview/browser/aw_web_contents_delegate.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/android/tab_web_contents_delegate_android.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/android/tab_web_contents_delegate_android.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/devtools/devtools_window.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/devtools/devtools_window.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/extensions/extension_view_host.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/extensions/extension_view_host.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/file_select_helper.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/file_select_helper.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/file_select_helper_unittest.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/ssl/security_state_tab_helper_browsertest.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/ui/apps/chrome_app_delegate.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/ui/apps/chrome_app_delegate.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/ui/browser.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/chrome/browser/ui/browser.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/components/guest_view/browser/guest_view_base.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/components/guest_view/browser/guest_view_base.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/browser/renderer_host/render_view_host_impl.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/browser/security_exploit_browsertest.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/browser/web_contents/web_contents_impl_browsertest.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/common/frame_messages.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/public/browser/render_frame_host.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/public/browser/web_contents_delegate.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/public/common/BUILD.gn
[delete] https://crrev.com/df36306dcbed91e2477ee5020ca8ae8024d58911/content/public/common/file_chooser_params.cc
[delete] https://crrev.com/df36306dcbed91e2477ee5020ca8ae8024d58911/content/public/common/file_chooser_params.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/renderer/pepper/pepper_file_chooser_host.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/renderer/pepper/pepper_file_chooser_host_unittest.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/renderer/render_frame_impl.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/renderer/render_view_impl.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/shell/test_runner/web_frame_test_client.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/test/content_browser_test_utils_internal.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/content/test/content_browser_test_utils_internal.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/extensions/browser/app_window/app_delegate.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/extensions/browser/app_window/app_window.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/extensions/browser/app_window/app_window.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/extensions/shell/browser/shell_app_delegate.cc
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/extensions/shell/browser/shell_app_delegate.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/third_party/blink/public/mojom/BUILD.gn
[add] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/third_party/blink/public/mojom/choosers/OWNERS
[add] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/third_party/blink/public/mojom/choosers/file_chooser.mojom
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/third_party/blink/public/web/web_file_chooser_params.h
[modify] https://crrev.com/c260c9a88bad63450919aa5f953dcbe8f0b874d4/third_party/blink/renderer/core/html/forms/file_input_type.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 20

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

commit 2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f
Author: Kent Tamura <tkent@chromium.org>
Date: Thu Sep 20 07:56:27 2018

FileChooser: Mojoify FileChooser IPC, part 2

Introduce FileChooserFileInfo mojo struct, and replace
blink::FileChooserFileInfo usage with it.

FileChooserFileInfo mojo struct is not sent via mojo IPC yet. We
still have conversion like content::FileChooserFileInfo ->
blink::WebFileChooserCompletion::SelectedFileInfo ->
blink::mojom::blink::FileChooserFileInfo.

* File path is represented as WTF::String in blink::FileChooserFileInfo,
and now as base::FilePath.  This CL changes |WebFileChooserCompletion::
SelectedFileInfo::path| from WebString to base::FilePath in order to
avoid unnecessary FilePath-string conversions.

* File timestamp is represented as double in blink::FileChooserFileInfo,
and now as base::Time.  This CL changes |WebFileChooserCompletion::
SelectedFileInfo::modification_time| from double to base::Time in order
to avoid unnecessary conversions.

* PepperFileChooserHost::ChooserFileInfo::path is changed from UTF-8
std::string to base::FilePath in order to avoid unnecessary
FilePath-string conversions.

* Add helper functions:
  - CreateFileChooserFileInfoNative()
  - CreateFileChooserFileInfoFileSystem()
  - WebStringToFilePath()
  - FilePathToString()

* blink::DirectoryName() is removed. Now we use FilePath::DirName().


FYI: All-in-one CL: https://chromium-review.googlesource.com/1170454

Bug:  869257 
Change-Id: I8bd578085519953d3470e0e6e07dffc5fd154958
Reviewed-on: https://chromium-review.googlesource.com/1226537
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592718}
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/content/renderer/pepper/pepper_file_chooser_host.cc
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/content/renderer/pepper/pepper_file_chooser_host.h
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/public/mojom/choosers/file_chooser.mojom
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/public/platform/file_path_conversion.h
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/public/web/DEPS
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/public/web/web_file_chooser_completion.h
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/renderer/core/html/forms/file_chooser.cc
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/renderer/core/html/forms/file_chooser.h
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/renderer/core/html/forms/file_input_type.cc
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/renderer/core/html/forms/file_input_type_test.cc
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/renderer/core/html/forms/form_controller.cc
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/renderer/core/html/forms/html_input_element_test.cc
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/renderer/platform/exported/file_path_conversion.cc
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/renderer/platform/file_metadata.cc
[modify] https://crrev.com/2f2ef4532a96cfc58e1c3f3218ff5cbaf08c457f/third_party/blink/renderer/platform/file_metadata.h

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 21

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

commit 49de68e4998ac67b875a78c7ca7b043062d41b6a
Author: Kent Tamura <tkent@chromium.org>
Date: Fri Sep 21 08:14:53 2018

Make |file_path| and |file_system_url| of content::FileChooserFileInfo exclusive.

Currently FileChooserFileInfo::file_path has a valid path even for non-native
files. However no one needs |file_path| for non-native files. We stop to set a
valid path to it for non-native files, and make it easy to convert
content::FileChooserFileInfo to blink::mojom::FileChooserFileInfo.

* fileapi_util.cc and fileapi_util_unittest.cc:
  Stop to set |file_path| for non-native files.

* render_frame_host_impl.cc:
  Do not grant read access for |file_path| for non-native files.
  It's unnecessary because Blink accesses such files via file system URLs.

* file_chooser_file_info.h:
  Add a comment, move |file_path| to the 'For native files' section, and move
  |is_directory| to the 'For non-native files' section.

* render_frame_impl.cc:
  Do not check |file_path| for non-native files. This check is unnecessary for
  non-native files because Blink doesn't use |file_path| for non-native files
  at all.

This CL should have no behavior changes.

Bug:  869257 
Change-Id: Ic324300e9e7358a1eeb592f65f3046b95edda292
Reviewed-on: https://chromium-review.googlesource.com/1235780
Reviewed-by: Daichi Hirono <hirono@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Naoki Fukino <fukino@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593114}
[modify] https://crrev.com/49de68e4998ac67b875a78c7ca7b043062d41b6a/chrome/browser/chromeos/file_manager/fileapi_util.cc
[modify] https://crrev.com/49de68e4998ac67b875a78c7ca7b043062d41b6a/chrome/browser/chromeos/file_manager/fileapi_util_unittest.cc
[modify] https://crrev.com/49de68e4998ac67b875a78c7ca7b043062d41b6a/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/49de68e4998ac67b875a78c7ca7b043062d41b6a/content/public/common/file_chooser_file_info.h
[modify] https://crrev.com/49de68e4998ac67b875a78c7ca7b043062d41b6a/content/renderer/render_frame_impl.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 27

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

commit 48c549d04e884e1aa226340c35191e228ca24ffd
Author: Kent Tamura <tkent@chromium.org>
Date: Thu Sep 27 17:19:54 2018

FileChooser: Mojoify FileChooser IPC, part 3

Replace content::FileChooserFileInfo usage with
blink::mojom::FileChooserFileInfo.

* Replace std::vector<content::FileChooserFileInfo> with
  std::vector<blink::mojom::FileChooserFileInfo*Ptr*> because it's the
  representation of array<fileChooserFileInfo> in mojom.

* Because FileChooserFileInfoPtr is not copyable, we use std::move() to
  pass it over functions.

* We temporarily transfer std::vector<blink::mojom::FileChooserFileInfoPtr>
  over legacy IPC. Add ParamTraits<blink::mojom::FileChooserFileInfoPtr>
  because FileChooserFileInfoPtr is not a simple struct for which we can
  use IPC_STRUCT_TRAITS_* macros.


FYI: All-in-one CL: https://chromium-review.googlesource.com/1170454

Bug:  869257 
Change-Id: I73d54b70d3e24c917a783d3eafa1f29c292dc2bc
Reviewed-on: https://chromium-review.googlesource.com/1237798
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594763}
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/android_webview/browser/aw_web_contents_delegate.cc
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/chrome/browser/chromeos/file_manager/fileapi_util.cc
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/chrome/browser/chromeos/file_manager/fileapi_util.h
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/chrome/browser/chromeos/file_manager/fileapi_util_unittest.cc
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/chrome/browser/file_select_helper.cc
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/chrome/browser/file_select_helper.h
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/chrome/browser/ssl/security_state_tab_helper_browsertest.cc
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/content/browser/renderer_host/render_view_host_impl.cc
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/content/common/content_param_traits.cc
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/content/common/content_param_traits.h
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/content/common/frame_messages.h
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/content/public/browser/render_frame_host.h
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/content/public/common/BUILD.gn
[delete] https://crrev.com/c696feb73f73be9cc174fb617762f6a5c54af849/content/public/common/file_chooser_file_info.cc
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/content/renderer/pepper/pepper_file_chooser_host_unittest.cc
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/content/renderer/render_frame_impl.h
[modify] https://crrev.com/48c549d04e884e1aa226340c35191e228ca24ffd/content/test/content_browser_test_utils_internal.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 4

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

commit 512a27e206291de8f7bdf452de12b186805e3607
Author: Kent Tamura <tkent@chromium.org>
Date: Thu Oct 04 00:49:32 2018

FileChooser: Mojoify FileChooser IPC, part 4

Introduce content::FileSelectListener, which receives the result of FileSelectHelper.
An implementation class of FileSelectListener will implement blink.mojom.FileChooser
mojo interface in a following CL.

a) Add content::FileSelectListener
 - content/public/browser/BUILD.gn
 - content/public/browser/file_select_listener.h

b) Receive FileSelectHelper arguments, and call its methods to notify results
  instead of RFH::FilesSelectedInChooser() and RVH::
  DirectoryEnumerationFinished().
 - chrome/browser/file_select_helper.cc
 - chrome/browser/file_select_helper.h

c) Add FileChooserImpl class implementing content::FileSelectListener. A
  FileChooserImpl instance is passed to RenderFrameHostDelgate::
  RunFileChooser().  RFH::FilesSelectedInChooser() is removed because
  FileChooserImpl receives a file list, and it sends the list via IPC.
 - content/public/browser/render_frame_host.h
 - content/browser/frame_host/render_frame_host_impl.cc
 - content/browser/frame_host/render_frame_host_impl.h

d) Add ViewFileChooser class implementing content::FileSelectListener. A
  ViewFileChooser instance is passed to WebContentsDelegate::
  EnumerateDirectory(). RVH::DirectoryEnumerationFinished() is called by
  ViewFileChooser instead of FileSelectHelper.
 - content/browser/web_contents/web_contents_impl.cc
 - content/browser/web_contents/web_contents_impl.h

e) Add FileSelectListener argument, and call FileSelectListener::FileSelected()
  instead of RFH::FilesSelectedInChooser().  Maintain a FileSelectListener instance
  in AwWebContentsDelegate class.
 - android_webview/browser/aw_web_contents_delegate.cc
 - android_webview/browser/aw_web_contents_delegate.h


f) Add FileSelectListener argument, and forward it to another function or call
  FileSelectListener::FileSelectionCanceled()
 - chrome/browser/android/tab_web_contents_delegate_android.cc
 - chrome/browser/android/tab_web_contents_delegate_android.h
 - chrome/browser/devtools/devtools_window.cc
 - chrome/browser/devtools/devtools_window.h
 - chrome/browser/extensions/extension_view_host.cc
 - chrome/browser/extensions/extension_view_host.h
 - chrome/browser/ui/apps/chrome_app_delegate.cc
 - chrome/browser/ui/apps/chrome_app_delegate.h
 - chrome/browser/ui/browser.cc
 - chrome/browser/ui/browser.h
 - components/guest_view/browser/guest_view_base.cc
 - components/guest_view/browser/guest_view_base.h
 - content/browser/frame_host/render_frame_host_delegate.cc
 - content/browser/frame_host/render_frame_host_delegate.h
 - content/public/browser/web_contents_delegate.cc
 - content/public/browser/web_contents_delegate.h
 - extensions/browser/app_window/app_delegate.h
 - extensions/browser/app_window/app_window.cc
 - extensions/browser/app_window/app_window.h
 - extensions/shell/browser/shell_app_delegate.cc
 - extensions/shell/browser/shell_app_delegate.h

g) Add FileSelectListener argument, and call FileSelectListener::FileSelected()
  instead of RFH::FilesSelectedInChooser()
 - chrome/browser/ssl/security_state_tab_helper_browsertest.cc
 - content/test/content_browser_test_utils_internal.cc
 - content/test/content_browser_test_utils_internal.h

h) Add MockFileLister and pass it to RunFileChooser() to avoid null dereference.
 - content/browser/web_contents/web_contents_impl_browsertest.cc


FYI: All-in-one CL: https://chromium-review.googlesource.com/1170454

Bug:  869257 
Change-Id: I190159bd5819d228c703028584b9929aa2ad80c2
Reviewed-on: https://chromium-review.googlesource.com/c/1251182
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Reviewed-by: Richard Coles <torne@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596451}
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/android_webview/browser/aw_web_contents_delegate.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/android_webview/browser/aw_web_contents_delegate.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/android/tab_web_contents_delegate_android.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/android/tab_web_contents_delegate_android.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/devtools/devtools_window.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/devtools/devtools_window.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/extensions/extension_view_host.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/extensions/extension_view_host.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/file_select_helper.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/file_select_helper.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/ssl/security_state_tab_helper_browsertest.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/ui/apps/chrome_app_delegate.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/ui/apps/chrome_app_delegate.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/ui/browser.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/chrome/browser/ui/browser.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/components/guest_view/browser/guest_view_base.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/components/guest_view/browser/guest_view_base.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/browser/frame_host/render_frame_host_delegate.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/browser/web_contents/web_contents_impl_browsertest.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/public/browser/BUILD.gn
[add] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/public/browser/file_select_listener.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/public/browser/render_frame_host.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/public/browser/web_contents_delegate.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/public/browser/web_contents_delegate.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/test/content_browser_test_utils_internal.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/content/test/content_browser_test_utils_internal.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/extensions/browser/app_window/app_delegate.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/extensions/browser/app_window/app_window.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/extensions/browser/app_window/app_window.h
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/extensions/shell/browser/shell_app_delegate.cc
[modify] https://crrev.com/512a27e206291de8f7bdf452de12b186805e3607/extensions/shell/browser/shell_app_delegate.h

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 6

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

commit 8c9e056bdfca6e05f01cb7e109e2129a590e1802
Author: Kent Tamura <tkent@chromium.org>
Date: Tue Nov 06 07:02:19 2018

FileChooser: Mojoify FileChooser IPC, part 5

* Overview:
Introduce blink.mojom.FileChooser, and switch to it from legacy
IPC messages.

content::FileChooserImpl implements blink.mojom.FileChooser.

blink::FileChooser and content::PepperFileChooserHost::CompletionHandler
initiate requests to blink.mojom.FileChooser, and receive their responses.


* Details:

** third_party/blink/public/mojom/choosers/file_chooser.mojom
  Introduce FileChooser.

** content/browser/frame_host/render_frame_host_impl.cc
** content/browser/frame_host/render_frame_host_impl.h
  FileChooserImpl implements blink.mojom.FileChooser.
  Introduce FileChooserImpl::ListenerProxy for lifetime difference between
  FileSelectListener and FileChooserImpl.

** content/public/app/mojo/content_browser_manifest.json
  Expose blink.mojom.FileChooser mojo interface.

** third_party/blink/renderer/core/html/forms/file_chooser.cc
** third_party/blink/renderer/core/html/forms/file_chooser.h
  blink:FileChooser sends requests to blink.mojom.FileChooser, and
  receives their responses.

** content/renderer/pepper/pepper_file_chooser_host.cc.
** content/renderer/pepper/pepper_file_chooser_host_unittest.cc.
  content::PepperFileChooserHost::CompletionHandler sends requests to
  blink.mojom.FileChooser, and receives their responses.

** content/browser/frame_host/render_frame_host_delegate.cc
** content/browser/frame_host/render_frame_host_delegate.h
  Add RenderFrameHostDelegate::EnumerateDirectory.
  Now directory enumeration requests are received by FileChooserImpl
  implementing blink.mojom.FileChooser. RenderFrameHostDelegate is
  responsible for passing the requests to actual directory enumeration code.

** content/browser/web_contents/web_contents_impl.cc
** content/browser/web_contents/web_contents_impl.h
  Override RenderFrameHostDelegate::EnumerateDirectory, and remove legacy IPC
  code for EnumerateDirectory.
  Merge ViewFileSelectListener into FileChooserImpl.

** chrome/browser/ssl/security_state_tab_helper_browsertest.cc
** content/browser/cross_site_transfer_browsertest.cc
** content/browser/fileapi/fileapi_browsertest.cc
** content/browser/frame_host/render_frame_host_manager_browsertest.cc
** content/browser/navigation_browsertest.cc
** content/browser/site_per_process_browsertest.cc
** content/test/content_browser_test_utils_internal.cc
** content/test/content_browser_test_utils_internal.h
  Add callback arguments to mocks for FileChooser.
  The browser process doesn't receive a FileChooser request immediately after
click() on a file control since this CL. This behavior difference breaks
some tests. This CL adds a callback argument to mock FileChoosers, and it
notifies the caller that a request is reached to the FileChooser.

** content/browser/security_exploit_browsertest.cc
  Introduce MojoBadMessageObserver to test mojo::ReportBadMessage().
  Switch to mojo from legacy IPC.

** third_party/blink/renderer/core/BUILD.gn
** third_party/blink/renderer/core/html/forms/mock_file_chooser.h
  A mock FileChooser. This intercepts FileChooserRequest, and is helpful to
  test FileChooser clients.

** third_party/blink/renderer/core/page/chrome_client_impl_test.cc
** third_party/blink/renderer/core/html/forms/file_input_type_test.cc
  Use mock_file_chooser.h.

** third_party/blink/renderer/core/html/forms/file_input_type.cc
** third_party/blink/renderer/core/html/forms/file_input_type.h
  - Switch from blink::WebFileChooserParams to blink::mojom::blink::
    FileChooserParams.
  - Change the return type of CollectAcceptTypes for FileChooserParams::
    accept_types.
  - Change the argument of FilesChosen() mutable because we drop FilePaths
    which can't be converted by FilePathToString().

** third_party/blink/renderer/core/fileapi/file_list.cc
** third_party/blink/renderer/core/fileapi/file_list.h
** third_party/blink/renderer/core/fileapi/file_list_test.cc
  Change the return type of PathsForUseVisibleFiles() from Vector<String>
  to Vector<base::FilePath> because the vector is set to FileChooserParams::
  selected_files, which is Vector<base::FilePath>.

** third_party/WebKit/LayoutTests/accessibility/
** third_party/WebKit/LayoutTests/fast/events/
** third_party/WebKit/LayoutTests/fast/forms/file/
** third_party/WebKit/LayoutTests/fast/forms/resources/mock-file-chooser.js
  Introduce mock-file-chooser.js which intercepts Mojo calls from renderer
  processes, and some layout tests adopt it.  FileChooser stuff in
  content/shell/test_runner/ is now unnecessary.

** content/browser/bad_message.h
** tools/metrics/histograms/enums.xml
  Mark BadMessageReason::FH_FILE_CHOOSER_PATH obsolete.
  Now we use mojo::ReportBadMessage().

** content/browser/renderer_host/render_view_host_impl.cc
** content/browser/renderer_host/render_view_host_impl.h
** content/common/content_param_traits.cc
** content/common/content_param_traits.h
** content/common/frame_messages.h
** content/common/view_messages.h
** content/public/browser/render_view_host.h
** content/renderer/render_frame_impl.cc
** content/renderer/render_frame_impl.h
** content/renderer/render_view_impl.cc
** content/renderer/render_view_impl.h
** content/shell/test_runner/test_runner.cc
** content/shell/test_runner/test_runner.h
** content/shell/test_runner/web_frame_test_client.cc
** content/shell/test_runner/web_frame_test_client.h
** content/shell/test_runner/web_frame_test_proxy.cc
** content/shell/test_runner/web_frame_test_proxy.h
** third_party/blink/public/BUILD.gn
** third_party/blink/public/web/web_file_chooser_completion.h
** third_party/blink/public/web/web_file_chooser_params.h
** third_party/blink/public/web/web_local_frame_client.h
** third_party/blink/public/web/web_view_client.h
** third_party/blink/renderer/core/loader/empty_clients.h
** third_party/blink/renderer/core/page/chrome_client.h
** third_party/blink/renderer/core/page/chrome_client_impl.cc
** third_party/blink/renderer/core/page/chrome_client_impl.h
  Just remove unnecessary code


Bug:  869257 

Change-Id: I573bf8c20162c3131e630ea5e4f2e0cb431a4da0
Reviewed-on: https://chromium-review.googlesource.com/c/1170454
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605619}
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/chrome/browser/ssl/security_state_tab_helper_browsertest.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/bad_message.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/cross_site_transfer_browsertest.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/fileapi/fileapi_browsertest.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/frame_host/render_frame_host_delegate.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/frame_host/render_frame_host_manager_browsertest.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/navigation_browsertest.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/renderer_host/render_view_host_impl.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/renderer_host/render_view_host_impl.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/security_exploit_browsertest.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/common/content_param_traits.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/common/content_param_traits.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/common/frame_messages.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/common/view_messages.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/public/browser/render_view_host.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/renderer/pepper/pepper_file_chooser_host.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/renderer/pepper/pepper_file_chooser_host_unittest.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/renderer/render_frame_impl.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/renderer/render_view_impl.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/renderer/render_view_impl.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/shell/test_runner/test_runner.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/shell/test_runner/test_runner.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/shell/test_runner/web_frame_test_client.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/shell/test_runner/web_frame_test_client.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/shell/test_runner/web_frame_test_proxy.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/shell/test_runner/web_frame_test_proxy.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/test/content_browser_test_utils_internal.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/content/test/content_browser_test_utils_internal.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/accessibility/file-upload-button-with-axpress-expected.txt
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/accessibility/file-upload-button-with-axpress.html
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/events/domactivate-sets-underlying-click-event-as-handled-expected.txt
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-click-expected.txt
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-click.html
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-key-enter-expected.txt
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-key-enter.html
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-key-other.html
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-key-space-expected.txt
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-key-space.html
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-webkitdirectory-click-expected.txt
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-webkitdirectory-click.html
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-webkitdirectory-key-enter-expected.txt
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-webkitdirectory-key-enter-prevent-keypress-expected.txt
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-webkitdirectory-key-enter-prevent-keypress.html
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-webkitdirectory-key-enter-prevent-keyup.html
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-webkitdirectory-key-enter.html
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-webkitdirectory-key-other.html
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-webkitdirectory-key-space-expected.txt
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/file/file-input-webkitdirectory-key-space.html
[add] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/WebKit/LayoutTests/fast/forms/resources/mock-file-chooser.js
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/public/BUILD.gn
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/public/mojom/choosers/file_chooser.mojom
[delete] https://crrev.com/e952239e48d16ca23339d9a98af07a7f08cf0af2/third_party/blink/public/web/web_file_chooser_completion.h
[delete] https://crrev.com/e952239e48d16ca23339d9a98af07a7f08cf0af2/third_party/blink/public/web/web_file_chooser_params.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/public/web/web_view_client.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/BUILD.gn
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/fileapi/file_list.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/fileapi/file_list.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/fileapi/file_list_test.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/html/forms/file_chooser.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/html/forms/file_chooser.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/html/forms/file_input_type.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/html/forms/file_input_type.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/html/forms/file_input_type_test.cc
[add] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/html/forms/mock_file_chooser.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/loader/empty_clients.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/page/chrome_client.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/page/chrome_client_impl.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/page/chrome_client_impl.h
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/third_party/blink/renderer/core/page/chrome_client_impl_test.cc
[modify] https://crrev.com/8c9e056bdfca6e05f01cb7e109e2129a590e1802/tools/metrics/histograms/enums.xml

Status: Fixed (was: Started)

Sign in to add a comment