| OLD | NEW |
| 1 // Copyright (c) 2006-2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2010 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 // For loading files, we make use of overlapped i/o to ensure that reading from | 5 // For loading files, we make use of overlapped i/o to ensure that reading from |
| 6 // the filesystem (e.g., a network filesystem) does not block the calling | 6 // the filesystem (e.g., a network filesystem) does not block the calling |
| 7 // thread. An alternative approach would be to use a background thread or pool | 7 // thread. An alternative approach would be to use a background thread or pool |
| 8 // of threads, but it seems better to leverage the operating system's ability | 8 // of threads, but it seems better to leverage the operating system's ability |
| 9 // to do background file reads for us. | 9 // to do background file reads for us. |
| 10 // | 10 // |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 *http_status_code = 301; | 356 *http_status_code = 301; |
| 357 return true; | 357 return true; |
| 358 #else | 358 #else |
| 359 return false; | 359 return false; |
| 360 #endif | 360 #endif |
| 361 } | 361 } |
| 362 | 362 |
| 363 #if defined(OS_CHROMEOS) | 363 #if defined(OS_CHROMEOS) |
| 364 static const char* const kLocalAccessWhiteList[] = { | 364 static const char* const kLocalAccessWhiteList[] = { |
| 365 "/home/chronos/user/Downloads", | 365 "/home/chronos/user/Downloads", |
| 366 "/media", |
| 366 "/mnt/partner_partition", | 367 "/mnt/partner_partition", |
| 367 "/usr/share/chromeos-assets", | 368 "/usr/share/chromeos-assets", |
| 368 "/tmp", | 369 "/tmp", |
| 369 "/var/log", | 370 "/var/log", |
| 370 }; | 371 }; |
| 371 | 372 |
| 372 // static | 373 // static |
| 373 bool URLRequestFileJob::AccessDisabled(const FilePath& file_path) { | 374 bool URLRequestFileJob::AccessDisabled(const FilePath& file_path) { |
| 374 if (net::URLRequest::IsFileAccessAllowed()) { // for tests. | 375 if (net::URLRequest::IsFileAccessAllowed()) { // for tests. |
| 375 return false; | 376 return false; |
| 376 } | 377 } |
| 377 | 378 |
| 378 for (size_t i = 0; i < arraysize(kLocalAccessWhiteList); ++i) { | 379 for (size_t i = 0; i < arraysize(kLocalAccessWhiteList); ++i) { |
| 379 const FilePath white_listed_path(kLocalAccessWhiteList[i]); | 380 const FilePath white_listed_path(kLocalAccessWhiteList[i]); |
| 380 // FilePath::operator== should probably handle trailing seperators. | 381 // FilePath::operator== should probably handle trailing seperators. |
| 381 if (white_listed_path == file_path.StripTrailingSeparators() || | 382 if (white_listed_path == file_path.StripTrailingSeparators() || |
| 382 white_listed_path.IsParent(file_path)) { | 383 white_listed_path.IsParent(file_path)) { |
| 383 return false; | 384 return false; |
| 384 } | 385 } |
| 385 } | 386 } |
| 386 return true; | 387 return true; |
| 387 } | 388 } |
| 388 #endif | 389 #endif |
| OLD | NEW |