Browse Source

Add WebDialogHelper

Cheng Zhao 10 years ago
parent
commit
b710cc3063
3 changed files with 75 additions and 0 deletions
  1. 2 0
      atom.gyp
  2. 29 0
      atom/browser/web_dialog_helper.cc
  3. 44 0
      atom/browser/web_dialog_helper.h

+ 2 - 0
atom.gyp

@@ -184,6 +184,8 @@
       'atom/browser/web_view/web_view_manager.h',
       'atom/browser/web_view/web_view_renderer_state.cc',
       'atom/browser/web_view/web_view_renderer_state.h',
+      'atom/browser/web_dialog_helper.cc',
+      'atom/browser/web_dialog_helper.h',
       'atom/browser/window_list.cc',
       'atom/browser/window_list.h',
       'atom/browser/window_list_observer.h',

+ 29 - 0
atom/browser/web_dialog_helper.cc

@@ -0,0 +1,29 @@
+// Copyright (c) 2014 GitHub, Inc. All rights reserved.
+// Use of this source code is governed by the MIT license that can be
+// found in the LICENSE file.
+
+#include "atom/browser/web_dialog_helper.h"
+
+#include "atom/browser/ui/file_dialog.h"
+#include "base/bind.h"
+
+namespace atom {
+
+WebDialogHelper::WebDialogHelper(content::WebContents* web_contents,
+                                 NativeWindow* window)
+    : web_contents_(web_contents),
+      window_(window),
+      weak_factory_(this) {
+}
+
+WebDialogHelper::~WebDialogHelper() {
+}
+
+void WebDialogHelper::RunFileChooser(const content::FileChooserParams& params) {
+}
+
+void WebDialogHelper::EnumerateDirectory(int request_id,
+                                         const base::FilePath& path) {
+}
+
+}  // namespace atom

+ 44 - 0
atom/browser/web_dialog_helper.h

@@ -0,0 +1,44 @@
+// Copyright (c) 2014 GitHub, Inc. All rights reserved.
+// Use of this source code is governed by the MIT license that can be
+// found in the LICENSE file.
+
+#ifndef ATOM_BROWSER_WEB_DIALOG_HELPER_H_
+#define ATOM_BROWSER_WEB_DIALOG_HELPER_H_
+
+#include <vector>
+
+#include "base/memory/weak_ptr.h"
+
+namespace base {
+class FilePath;
+}
+
+namespace content {
+class WebContents;
+class FileChooserParams;
+}
+
+namespace atom {
+
+class NativeWindow;
+
+class WebDialogHelper {
+ public:
+  WebDialogHelper(content::WebContents* web_contents, NativeWindow* window);
+  ~WebDialogHelper();
+
+  void RunFileChooser(const content::FileChooserParams& params);
+  void EnumerateDirectory(int request_id, const base::FilePath& path);
+
+ private:
+  content::WebContents* web_contents_;
+  NativeWindow* window_;
+
+  base::WeakPtrFactory<WebDialogHelper> weak_factory_;
+
+  DISALLOW_COPY_AND_ASSIGN(WebDialogHelper);
+};
+
+}  // namespace atom
+
+#endif  // ATOM_BROWSER_WEB_DIALOG_HELPER_H_