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

Side by Side Diff: components/filesystem/public/cpp/prefs/filesystem_json_pref_store.cc

Issue 1962503002: Add mojom module suffix in .mojom files for components/filesystem. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "components/filesystem/public/cpp/prefs/filesystem_json_pref_store.h" 5 #include "components/filesystem/public/cpp/prefs/filesystem_json_pref_store.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <utility> 10 #include <utility>
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 PersistentPrefStore::PrefReadError HandleReadErrors(const base::Value* value) { 50 PersistentPrefStore::PrefReadError HandleReadErrors(const base::Value* value) {
51 if (!value->IsType(base::Value::TYPE_DICTIONARY)) 51 if (!value->IsType(base::Value::TYPE_DICTIONARY))
52 return PersistentPrefStore::PREF_READ_ERROR_JSON_TYPE; 52 return PersistentPrefStore::PREF_READ_ERROR_JSON_TYPE;
53 return PersistentPrefStore::PREF_READ_ERROR_NONE; 53 return PersistentPrefStore::PREF_READ_ERROR_NONE;
54 } 54 }
55 55
56 } // namespace 56 } // namespace
57 57
58 FilesystemJsonPrefStore::FilesystemJsonPrefStore( 58 FilesystemJsonPrefStore::FilesystemJsonPrefStore(
59 const std::string& pref_filename, 59 const std::string& pref_filename,
60 filesystem::FileSystemPtr filesystem, 60 filesystem::mojom::FileSystemPtr filesystem,
61 std::unique_ptr<PrefFilter> pref_filter) 61 std::unique_ptr<PrefFilter> pref_filter)
62 : path_(pref_filename), 62 : path_(pref_filename),
63 binding_(this), 63 binding_(this),
64 filesystem_(std::move(filesystem)), 64 filesystem_(std::move(filesystem)),
65 prefs_(new base::DictionaryValue()), 65 prefs_(new base::DictionaryValue()),
66 read_only_(false), 66 read_only_(false),
67 pref_filter_(std::move(pref_filter)), 67 pref_filter_(std::move(pref_filter)),
68 initialized_(false), 68 initialized_(false),
69 filtering_in_progress_(false), 69 filtering_in_progress_(false),
70 pending_lossy_write_(false), 70 pending_lossy_write_(false),
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 void FilesystemJsonPrefStore::PerformWrite() { 327 void FilesystemJsonPrefStore::PerformWrite() {
328 if (!directory_) { 328 if (!directory_) {
329 OpenFilesystem( 329 OpenFilesystem(
330 Bind(&FilesystemJsonPrefStore::OnTempFileWriteStart, AsWeakPtr())); 330 Bind(&FilesystemJsonPrefStore::OnTempFileWriteStart, AsWeakPtr()));
331 } else { 331 } else {
332 OnTempFileWriteStart(); 332 OnTempFileWriteStart();
333 } 333 }
334 } 334 }
335 335
336 void FilesystemJsonPrefStore::OpenFilesystem(base::Closure callback) { 336 void FilesystemJsonPrefStore::OpenFilesystem(base::Closure callback) {
337 filesystem::FileSystemClientPtr client; 337 filesystem::mojom::FileSystemClientPtr client;
338 binding_.Bind(GetProxy(&client)); 338 binding_.Bind(GetProxy(&client));
339 339
340 filesystem_->OpenFileSystem( 340 filesystem_->OpenFileSystem(
341 "origin", GetProxy(&directory_), std::move(client), 341 "origin", GetProxy(&directory_), std::move(client),
342 base::Bind(&FilesystemJsonPrefStore::OnOpenFilesystem, AsWeakPtr(), 342 base::Bind(&FilesystemJsonPrefStore::OnOpenFilesystem, AsWeakPtr(),
343 callback)); 343 callback));
344 } 344 }
345 345
346 void FilesystemJsonPrefStore::OnOpenFilesystem(base::Closure callback, 346 void FilesystemJsonPrefStore::OnOpenFilesystem(base::Closure callback,
347 FileError err) { 347 mojom::FileError err) {
348 if (err != FileError::OK) { 348 if (err != mojom::FileError::OK) {
349 // Do real error checking. 349 // Do real error checking.
350 NOTIMPLEMENTED(); 350 NOTIMPLEMENTED();
351 return; 351 return;
352 } 352 }
353 353
354 callback.Run(); 354 callback.Run();
355 } 355 }
356 356
357 void FilesystemJsonPrefStore::OnTempFileWriteStart() { 357 void FilesystemJsonPrefStore::OnTempFileWriteStart() {
358 // Calculate what we want to write, and then write to the temporary file. 358 // Calculate what we want to write, and then write to the temporary file.
359 pending_lossy_write_ = false; 359 pending_lossy_write_ = false;
360 360
361 if (pref_filter_) 361 if (pref_filter_)
362 pref_filter_->FilterSerializeData(prefs_.get()); 362 pref_filter_->FilterSerializeData(prefs_.get());
363 363
364 std::string output; 364 std::string output;
365 JSONStringValueSerializer serializer(&output); 365 JSONStringValueSerializer serializer(&output);
366 serializer.set_pretty_print(false); 366 serializer.set_pretty_print(false);
367 serializer.Serialize(*prefs_); 367 serializer.Serialize(*prefs_);
368 368
369 directory_->WriteFile( 369 directory_->WriteFile(
370 "tmp", 370 "tmp",
371 mojo::Array<uint8_t>::From(output), 371 mojo::Array<uint8_t>::From(output),
372 Bind(&FilesystemJsonPrefStore::OnTempFileWrite, AsWeakPtr())); 372 Bind(&FilesystemJsonPrefStore::OnTempFileWrite, AsWeakPtr()));
373 } 373 }
374 374
375 void FilesystemJsonPrefStore::OnTempFileWrite(FileError err) { 375 void FilesystemJsonPrefStore::OnTempFileWrite(mojom::FileError err) {
376 // TODO(erg): Error handling. The JsonPrefStore code assumes that writing the 376 // TODO(erg): Error handling. The JsonPrefStore code assumes that writing the
377 // file can never fail. 377 // file can never fail.
378 CHECK_EQ(FileError::OK, err); 378 CHECK_EQ(mojom::FileError::OK, err);
379 379
380 directory_->Rename( 380 directory_->Rename(
381 "tmp", path_, 381 "tmp", path_,
382 Bind(&FilesystemJsonPrefStore::OnTempFileRenamed, AsWeakPtr())); 382 Bind(&FilesystemJsonPrefStore::OnTempFileRenamed, AsWeakPtr()));
383 } 383 }
384 384
385 void FilesystemJsonPrefStore::OnTempFileRenamed(FileError err) { 385 void FilesystemJsonPrefStore::OnTempFileRenamed(mojom::FileError err) {}
386 }
387 386
388 void FilesystemJsonPrefStore::OnPreferencesReadStart() { 387 void FilesystemJsonPrefStore::OnPreferencesReadStart() {
389 directory_->ReadEntireFile( 388 directory_->ReadEntireFile(
390 path_, 389 path_,
391 Bind(&FilesystemJsonPrefStore::OnPreferencesFileRead, AsWeakPtr())); 390 Bind(&FilesystemJsonPrefStore::OnPreferencesFileRead, AsWeakPtr()));
392 } 391 }
393 392
394 void FilesystemJsonPrefStore::OnPreferencesFileRead( 393 void FilesystemJsonPrefStore::OnPreferencesFileRead(
395 FileError err, 394 mojom::FileError err,
396 mojo::Array<uint8_t> contents) { 395 mojo::Array<uint8_t> contents) {
397 std::unique_ptr<FilesystemJsonPrefStore::ReadResult> read_result( 396 std::unique_ptr<FilesystemJsonPrefStore::ReadResult> read_result(
398 new FilesystemJsonPrefStore::ReadResult); 397 new FilesystemJsonPrefStore::ReadResult);
399 // TODO(erg): Needs even better error handling. 398 // TODO(erg): Needs even better error handling.
400 switch (err) { 399 switch (err) {
401 case FileError::IN_USE: 400 case mojom::FileError::IN_USE:
402 case FileError::ACCESS_DENIED: 401 case mojom::FileError::ACCESS_DENIED:
403 case FileError::NOT_A_FILE: { 402 case mojom::FileError::NOT_A_FILE: {
404 read_only_ = true; 403 read_only_ = true;
405 break; 404 break;
406 } 405 }
407 case FileError::FAILED: 406 case mojom::FileError::FAILED:
408 case FileError::NOT_FOUND: { 407 case mojom::FileError::NOT_FOUND: {
409 // If the file just doesn't exist, maybe this is the first run. Just 408 // If the file just doesn't exist, maybe this is the first run. Just
410 // don't pass a value. 409 // don't pass a value.
411 read_result->error = PREF_READ_ERROR_NO_FILE; 410 read_result->error = PREF_READ_ERROR_NO_FILE;
412 break; 411 break;
413 } 412 }
414 default: { 413 default: {
415 int error_code; 414 int error_code;
416 std::string error_msg; 415 std::string error_msg;
417 JSONStringValueDeserializer deserializer(base::StringPiece( 416 JSONStringValueDeserializer deserializer(base::StringPiece(
418 reinterpret_cast<char*>(&contents.front()), contents.size())); 417 reinterpret_cast<char*>(&contents.front()), contents.size()));
419 read_result->value = deserializer.Deserialize(&error_code, &error_msg); 418 read_result->value = deserializer.Deserialize(&error_code, &error_msg);
420 read_result->error = HandleReadErrors(read_result->value.get()); 419 read_result->error = HandleReadErrors(read_result->value.get());
421 } 420 }
422 } 421 }
423 422
424 OnFileRead(std::move(read_result)); 423 OnFileRead(std::move(read_result));
425 } 424 }
426 425
427 } // namespace filesystem 426 } // namespace filesystem
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698