 + public:
 +  FilePickerMessageHandler(
 +      const ui::FilePickerWebDialog* dialog);
-+   virtual ~FilePickerMessageHandler();
-+   void RegisterMessages() override;
++  ~FilePickerMessageHandler();
++  void RegisterMessages() override;
 +
 + private:
 +  // content::WebUIMessageHandler implementation.

 .../ui/webui/chrome_web_ui_controller_factory.cc   |    3 +
 .../browser/ui/webui/file_picker/file_picker_ui.cc |   46 ++++++
 .../browser/ui/webui/file_picker/file_picker_ui.h  |   24 +++
 .../ui/webui/file_picker/file_picker_web_dialog.cc |  165 ++++++++++++++++++++
 chrome/chrome_browser_ui.gypi                      |    4 +
 chrome/common/url_constants.cc                     |    3 +
 chrome/common/url_constants.h                      |    2 +
 tools/gritsettings/resource_ids                    |    2 +-
 14 files changed, 429 insertions(+), 3 deletions(-)
 create mode 100644 chrome/browser/resources/file_picker/file_picker.css
 create mode 100644 chrome/browser/resources/file_picker/file_picker.html
 create mode 100644 chrome/browser/resources/file_picker/file_picker.js

+}
+
+void FilePickerWebDialog::OnDialogClosed(const std::string& json_retval) {
+  delete this;
+}
+
