|
8 | 8 | #include <string.h>
|
9 | 9 |
|
10 | 10 | #include <algorithm>
|
| 11 | +#include <string_view> |
11 | 12 |
|
12 | 13 | #include "base/containers/fixed_flat_set.h"
|
13 | 14 | #include "base/files/file_path.h"
|
14 | 15 | #include "base/logging.h"
|
15 | 16 | #include "base/notreached.h"
|
16 |
| -#include "base/strings/string_piece.h" |
17 | 17 | #include "base/strings/string_util.h"
|
18 | 18 | #include "base/strings/utf_string_conversions.h"
|
19 | 19 |
|
@@ -398,64 +398,64 @@ Compression GetCompressionMethod(const base::FilePath& path) {
|
398 | 398 | if (ext.empty())
|
399 | 399 | return kDeflated;
|
400 | 400 |
|
401 |
| - using StringPiece = base::FilePath::StringPieceType; |
402 | 401 |
|
403 | 402 | // Skip the leading dot.
|
404 |
| - StringPiece ext_without_dot = ext; |
| 403 | + base::FilePath::StringPieceType ext_without_dot = ext; |
405 | 404 | DCHECK_EQ(ext_without_dot.front(), FILE_PATH_LITERAL('.'));
|
406 | 405 | ext_without_dot.remove_prefix(1);
|
407 | 406 |
|
408 | 407 | // Well known filename extensions of files that a likely to be already
|
409 | 408 | // compressed. The extensions are in lower case without the leading dot.
|
410 |
| - static constexpr auto kExts = base::MakeFixedFlatSet<StringPiece>({ |
411 |
| - FILE_PATH_LITERAL("3g2"), // |
412 |
| - FILE_PATH_LITERAL("3gp"), // |
413 |
| - FILE_PATH_LITERAL("7z"), // |
414 |
| - FILE_PATH_LITERAL("7zip"), // |
415 |
| - FILE_PATH_LITERAL("aac"), // |
416 |
| - FILE_PATH_LITERAL("avi"), // |
417 |
| - FILE_PATH_LITERAL("bz"), // |
418 |
| - FILE_PATH_LITERAL("bz2"), // |
419 |
| - FILE_PATH_LITERAL("crx"), // |
420 |
| - FILE_PATH_LITERAL("gif"), // |
421 |
| - FILE_PATH_LITERAL("gz"), // |
422 |
| - FILE_PATH_LITERAL("jar"), // |
423 |
| - FILE_PATH_LITERAL("jpeg"), // |
424 |
| - FILE_PATH_LITERAL("jpg"), // |
425 |
| - FILE_PATH_LITERAL("lz"), // |
426 |
| - FILE_PATH_LITERAL("m2v"), // |
427 |
| - FILE_PATH_LITERAL("m4p"), // |
428 |
| - FILE_PATH_LITERAL("m4v"), // |
429 |
| - FILE_PATH_LITERAL("mng"), // |
430 |
| - FILE_PATH_LITERAL("mov"), // |
431 |
| - FILE_PATH_LITERAL("mp2"), // |
432 |
| - FILE_PATH_LITERAL("mp3"), // |
433 |
| - FILE_PATH_LITERAL("mp4"), // |
434 |
| - FILE_PATH_LITERAL("mpe"), // |
435 |
| - FILE_PATH_LITERAL("mpeg"), // |
436 |
| - FILE_PATH_LITERAL("mpg"), // |
437 |
| - FILE_PATH_LITERAL("mpv"), // |
438 |
| - FILE_PATH_LITERAL("ogg"), // |
439 |
| - FILE_PATH_LITERAL("ogv"), // |
440 |
| - FILE_PATH_LITERAL("png"), // |
441 |
| - FILE_PATH_LITERAL("qt"), // |
442 |
| - FILE_PATH_LITERAL("rar"), // |
443 |
| - FILE_PATH_LITERAL("taz"), // |
444 |
| - FILE_PATH_LITERAL("tb2"), // |
445 |
| - FILE_PATH_LITERAL("tbz"), // |
446 |
| - FILE_PATH_LITERAL("tbz2"), // |
447 |
| - FILE_PATH_LITERAL("tgz"), // |
448 |
| - FILE_PATH_LITERAL("tlz"), // |
449 |
| - FILE_PATH_LITERAL("tz"), // |
450 |
| - FILE_PATH_LITERAL("tz2"), // |
451 |
| - FILE_PATH_LITERAL("vob"), // |
452 |
| - FILE_PATH_LITERAL("webm"), // |
453 |
| - FILE_PATH_LITERAL("wma"), // |
454 |
| - FILE_PATH_LITERAL("wmv"), // |
455 |
| - FILE_PATH_LITERAL("xz"), // |
456 |
| - FILE_PATH_LITERAL("z"), // |
457 |
| - FILE_PATH_LITERAL("zip"), // |
458 |
| - }); |
| 409 | + static constexpr auto kExts = |
| 410 | + base::MakeFixedFlatSet<base::FilePath::StringPieceType>({ |
| 411 | + FILE_PATH_LITERAL("3g2"), // |
| 412 | + FILE_PATH_LITERAL("3gp"), // |
| 413 | + FILE_PATH_LITERAL("7z"), // |
| 414 | + FILE_PATH_LITERAL("7zip"), // |
| 415 | + FILE_PATH_LITERAL("aac"), // |
| 416 | + FILE_PATH_LITERAL("avi"), // |
| 417 | + FILE_PATH_LITERAL("bz"), // |
| 418 | + FILE_PATH_LITERAL("bz2"), // |
| 419 | + FILE_PATH_LITERAL("crx"), // |
| 420 | + FILE_PATH_LITERAL("gif"), // |
| 421 | + FILE_PATH_LITERAL("gz"), // |
| 422 | + FILE_PATH_LITERAL("jar"), // |
| 423 | + FILE_PATH_LITERAL("jpeg"), // |
| 424 | + FILE_PATH_LITERAL("jpg"), // |
| 425 | + FILE_PATH_LITERAL("lz"), // |
| 426 | + FILE_PATH_LITERAL("m2v"), // |
| 427 | + FILE_PATH_LITERAL("m4p"), // |
| 428 | + FILE_PATH_LITERAL("m4v"), // |
| 429 | + FILE_PATH_LITERAL("mng"), // |
| 430 | + FILE_PATH_LITERAL("mov"), // |
| 431 | + FILE_PATH_LITERAL("mp2"), // |
| 432 | + FILE_PATH_LITERAL("mp3"), // |
| 433 | + FILE_PATH_LITERAL("mp4"), // |
| 434 | + FILE_PATH_LITERAL("mpe"), // |
| 435 | + FILE_PATH_LITERAL("mpeg"), // |
| 436 | + FILE_PATH_LITERAL("mpg"), // |
| 437 | + FILE_PATH_LITERAL("mpv"), // |
| 438 | + FILE_PATH_LITERAL("ogg"), // |
| 439 | + FILE_PATH_LITERAL("ogv"), // |
| 440 | + FILE_PATH_LITERAL("png"), // |
| 441 | + FILE_PATH_LITERAL("qt"), // |
| 442 | + FILE_PATH_LITERAL("rar"), // |
| 443 | + FILE_PATH_LITERAL("taz"), // |
| 444 | + FILE_PATH_LITERAL("tb2"), // |
| 445 | + FILE_PATH_LITERAL("tbz"), // |
| 446 | + FILE_PATH_LITERAL("tbz2"), // |
| 447 | + FILE_PATH_LITERAL("tgz"), // |
| 448 | + FILE_PATH_LITERAL("tlz"), // |
| 449 | + FILE_PATH_LITERAL("tz"), // |
| 450 | + FILE_PATH_LITERAL("tz2"), // |
| 451 | + FILE_PATH_LITERAL("vob"), // |
| 452 | + FILE_PATH_LITERAL("webm"), // |
| 453 | + FILE_PATH_LITERAL("wma"), // |
| 454 | + FILE_PATH_LITERAL("wmv"), // |
| 455 | + FILE_PATH_LITERAL("xz"), // |
| 456 | + FILE_PATH_LITERAL("z"), // |
| 457 | + FILE_PATH_LITERAL("zip"), // |
| 458 | + }); |
459 | 459 |
|
460 | 460 | if (kExts.count(ext_without_dot)) {
|
461 | 461 | return kStored;
|
|
0 commit comments