Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / file_select_helper.cc
index b4f78e2..fa0004c 100644 (file)
@@ -8,8 +8,8 @@
 #include <utility>
 
 #include "base/bind.h"
-#include "base/file_util.h"
 #include "base/files/file_enumerator.h"
+#include "base/files/file_util.h"
 #include "base/strings/string_split.h"
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
@@ -18,6 +18,7 @@
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_list.h"
 #include "chrome/browser/ui/chrome_select_file_policy.h"
+#include "chrome/grit/generated_resources.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/notification_details.h"
 #include "content/public/browser/notification_source.h"
@@ -26,7 +27,6 @@
 #include "content/public/browser/render_widget_host_view.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/common/file_chooser_params.h"
-#include "grit/generated_resources.h"
 #include "net/base/mime_util.h"
 #include "ui/base/l10n/l10n_util.h"
 #include "ui/shell_dialogs/selected_file_info.h"
@@ -199,13 +199,11 @@ void FileSelectHelper::OnListFile(
     const net::DirectoryLister::DirectoryListerData& data) {
   ActiveDirectoryEnumeration* entry = directory_enumerations_[id];
 
-  // Directory upload returns directories via a "." file, so that
-  // empty directories are included.  This util call just checks
-  // the flags in the structure; there's no file I/O going on.
+  // Directory upload only cares about files.
   if (data.info.IsDirectory())
-    entry->results_.push_back(data.path.Append(FILE_PATH_LITERAL(".")));
-  else
-    entry->results_.push_back(data.path);
+    return;
+
+  entry->results_.push_back(data.path);
 }
 
 void FileSelectHelper::OnListDone(int id, int error) {
@@ -250,7 +248,7 @@ FileSelectHelper::GetFileTypesFromAcceptType(
   int valid_type_count = 0;
   int description_id = 0;
   for (size_t i = 0; i < accept_types.size(); ++i) {
-    std::string ascii_type = UTF16ToASCII(accept_types[i]);
+    std::string ascii_type = base::UTF16ToASCII(accept_types[i]);
     if (!IsAcceptTypeValid(ascii_type))
       continue;
 
@@ -367,6 +365,8 @@ void FileSelectHelper::RunFileChooserOnUIThread(
 
   select_file_dialog_ = ui::SelectFileDialog::Create(
       this, new ChromeSelectFilePolicy(web_contents_));
+  if (!select_file_dialog_.get())
+    return;
 
   dialog_mode_ = params.mode;
   switch (params.mode) {
@@ -478,8 +478,9 @@ bool FileSelectHelper::IsAcceptTypeValid(const std::string& accept_type) {
   // of an extension or a "/" in the case of a MIME type).
   std::string unused;
   if (accept_type.length() <= 1 ||
-      StringToLowerASCII(accept_type) != accept_type ||
-      TrimWhitespaceASCII(accept_type, TRIM_ALL, &unused) != TRIM_NONE) {
+      base::StringToLowerASCII(accept_type) != accept_type ||
+      base::TrimWhitespaceASCII(accept_type, base::TRIM_ALL, &unused) !=
+          base::TRIM_NONE) {
     return false;
   }
   return true;