Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(666)

Side by Side Diff: base/file_util_win.cc

Issue 6043: Added dangerous download prompting. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/file_util.h" 5 #include "base/file_util.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <shellapi.h> 8 #include <shellapi.h>
9 #include <shlobj.h> 9 #include <shlobj.h>
10 #include <time.h> 10 #include <time.h>
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 wchar_t temp_path[MAX_PATH + 1]; 369 wchar_t temp_path[MAX_PATH + 1];
370 DWORD path_len = ::GetTempPath(MAX_PATH, temp_path); 370 DWORD path_len = ::GetTempPath(MAX_PATH, temp_path);
371 if (path_len >= MAX_PATH || path_len <= 0) 371 if (path_len >= MAX_PATH || path_len <= 0)
372 return false; 372 return false;
373 path->assign(temp_path); 373 path->assign(temp_path);
374 TrimTrailingSeparator(path); 374 TrimTrailingSeparator(path);
375 return true; 375 return true;
376 } 376 }
377 377
378 bool CreateTemporaryFileName(std::wstring* temp_file) { 378 bool CreateTemporaryFileName(std::wstring* temp_file) {
379 wchar_t temp_name[MAX_PATH + 1];
380 std::wstring temp_path; 379 std::wstring temp_path;
381 380
382 if (!GetTempDir(&temp_path)) 381 if (!GetTempDir(&temp_path))
383 return false; 382 return false;
384 383
385 if (!GetTempFileName(temp_path.c_str(), L"", 0, temp_name)) 384 return CreateTemporaryFileNameInDir(temp_path, temp_file);
385 }
386
387 bool CreateTemporaryFileNameInDir(const std::wstring& dir,
388 std::wstring* temp_file) {
389 wchar_t temp_name[MAX_PATH + 1];
390
391 if (!GetTempFileName(dir.c_str(), L"", 0, temp_name))
386 return false; // fail! 392 return false; // fail!
387 393
388 DWORD path_len = GetLongPathName(temp_name, temp_name, MAX_PATH); 394 DWORD path_len = GetLongPathName(temp_name, temp_name, MAX_PATH);
389 if (path_len > MAX_PATH + 1 || path_len == 0) 395 if (path_len > MAX_PATH + 1 || path_len == 0)
390 return false; // fail! 396 return false; // fail!
391 397
392 temp_file->assign(temp_name, path_len); 398 temp_file->assign(temp_name, path_len);
393 return true; 399 return true;
394 } 400 }
395 401
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 return (file_type_ & FileEnumerator::DIRECTORIES) ? cur_file : Next(); 662 return (file_type_ & FileEnumerator::DIRECTORIES) ? cur_file : Next();
657 } 663 }
658 664
659 if ((file_type_ & FileEnumerator::DIRECTORIES) == 0) 665 if ((file_type_ & FileEnumerator::DIRECTORIES) == 0)
660 return Next(); 666 return Next();
661 } 667 }
662 return (file_type_ & FileEnumerator::FILES) ? cur_file : Next(); 668 return (file_type_ & FileEnumerator::FILES) ? cur_file : Next();
663 } 669 }
664 670
665 } // namespace file_util 671 } // namespace file_util
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698