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

Side by Side Diff: content/browser/indexed_db/indexed_db_backing_store.h

Issue 2172863002: [IndexedDB]: Passing URLRequestContextGetter. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed a few missed merge conflicts. Created 4 years, 4 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
« no previous file with comments | « no previous file | content/browser/indexed_db/indexed_db_backing_store.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 #ifndef CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_BACKING_STORE_H_ 5 #ifndef CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_BACKING_STORE_H_
6 #define CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_BACKING_STORE_H_ 6 #define CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_BACKING_STORE_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 29 matching lines...) Expand all
40 40
41 namespace base { 41 namespace base {
42 class SequencedTaskRunner; 42 class SequencedTaskRunner;
43 } 43 }
44 44
45 namespace storage { 45 namespace storage {
46 class FileWriterDelegate; 46 class FileWriterDelegate;
47 } 47 }
48 48
49 namespace net { 49 namespace net {
50 class URLRequestContext; 50 class URLRequestContextGetter;
51 } 51 }
52 52
53 namespace content { 53 namespace content {
54 54
55 class IndexedDBFactory; 55 class IndexedDBFactory;
56 class LevelDBComparator; 56 class LevelDBComparator;
57 class LevelDBDatabase; 57 class LevelDBDatabase;
58 class LevelDBFactory; 58 class LevelDBFactory;
59 struct IndexedDBDataLossInfo; 59 struct IndexedDBDataLossInfo;
60 struct IndexedDBValue; 60 struct IndexedDBValue;
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 base::SequencedTaskRunner* task_runner() const { return task_runner_.get(); } 368 base::SequencedTaskRunner* task_runner() const { return task_runner_.get(); }
369 base::OneShotTimer* close_timer() { return &close_timer_; } 369 base::OneShotTimer* close_timer() { return &close_timer_; }
370 IndexedDBActiveBlobRegistry* active_blob_registry() { 370 IndexedDBActiveBlobRegistry* active_blob_registry() {
371 return &active_blob_registry_; 371 return &active_blob_registry_;
372 } 372 }
373 373
374 static scoped_refptr<IndexedDBBackingStore> Open( 374 static scoped_refptr<IndexedDBBackingStore> Open(
375 IndexedDBFactory* indexed_db_factory, 375 IndexedDBFactory* indexed_db_factory,
376 const url::Origin& origin, 376 const url::Origin& origin,
377 const base::FilePath& path_base, 377 const base::FilePath& path_base,
378 net::URLRequestContext* request_context, 378 scoped_refptr<net::URLRequestContextGetter> request_context_getter,
379 IndexedDBDataLossInfo* data_loss_info, 379 IndexedDBDataLossInfo* data_loss_info,
380 bool* disk_full, 380 bool* disk_full,
381 base::SequencedTaskRunner* task_runner, 381 base::SequencedTaskRunner* task_runner,
382 bool clean_journal, 382 bool clean_journal,
383 leveldb::Status* status); 383 leveldb::Status* status);
384 static scoped_refptr<IndexedDBBackingStore> Open( 384 static scoped_refptr<IndexedDBBackingStore> Open(
385 IndexedDBFactory* indexed_db_factory, 385 IndexedDBFactory* indexed_db_factory,
386 const url::Origin& origin, 386 const url::Origin& origin,
387 const base::FilePath& path_base, 387 const base::FilePath& path_base,
388 net::URLRequestContext* request_context, 388 scoped_refptr<net::URLRequestContextGetter> request_context_getter,
389 IndexedDBDataLossInfo* data_loss_info, 389 IndexedDBDataLossInfo* data_loss_info,
390 bool* disk_full, 390 bool* disk_full,
391 LevelDBFactory* leveldb_factory, 391 LevelDBFactory* leveldb_factory,
392 base::SequencedTaskRunner* task_runner, 392 base::SequencedTaskRunner* task_runner,
393 bool clean_journal, 393 bool clean_journal,
394 leveldb::Status* status); 394 leveldb::Status* status);
395 static scoped_refptr<IndexedDBBackingStore> OpenInMemory( 395 static scoped_refptr<IndexedDBBackingStore> OpenInMemory(
396 const url::Origin& origin, 396 const url::Origin& origin,
397 base::SequencedTaskRunner* task_runner, 397 base::SequencedTaskRunner* task_runner,
398 leveldb::Status* status); 398 leveldb::Status* status);
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 int64_t database_id, 558 int64_t database_id,
559 int64_t object_store_id, 559 int64_t object_store_id,
560 int64_t index_id, 560 int64_t index_id,
561 const IndexedDBKeyRange& key_range, 561 const IndexedDBKeyRange& key_range,
562 blink::WebIDBCursorDirection, 562 blink::WebIDBCursorDirection,
563 leveldb::Status*); 563 leveldb::Status*);
564 564
565 protected: 565 protected:
566 friend class base::RefCounted<IndexedDBBackingStore>; 566 friend class base::RefCounted<IndexedDBBackingStore>;
567 567
568 IndexedDBBackingStore(IndexedDBFactory* indexed_db_factory, 568 IndexedDBBackingStore(
569 const url::Origin& origin, 569 IndexedDBFactory* indexed_db_factory,
570 const base::FilePath& blob_path, 570 const url::Origin& origin,
571 net::URLRequestContext* request_context, 571 const base::FilePath& blob_path,
572 std::unique_ptr<LevelDBDatabase> db, 572 scoped_refptr<net::URLRequestContextGetter> request_context_getter,
573 std::unique_ptr<LevelDBComparator> comparator, 573 std::unique_ptr<LevelDBDatabase> db,
574 base::SequencedTaskRunner* task_runner); 574 std::unique_ptr<LevelDBComparator> comparator,
575 base::SequencedTaskRunner* task_runner);
575 virtual ~IndexedDBBackingStore(); 576 virtual ~IndexedDBBackingStore();
576 577
577 bool is_incognito() const { return !indexed_db_factory_; } 578 bool is_incognito() const { return !indexed_db_factory_; }
578 579
579 leveldb::Status SetUpMetadata(); 580 leveldb::Status SetUpMetadata();
580 581
581 virtual bool WriteBlobFile( 582 virtual bool WriteBlobFile(
582 int64_t database_id, 583 int64_t database_id,
583 const Transaction::WriteDescriptor& descriptor, 584 const Transaction::WriteDescriptor& descriptor,
584 Transaction::ChainedBlobWriter* chained_blob_writer); 585 Transaction::ChainedBlobWriter* chained_blob_writer);
(...skipping 10 matching lines...) Expand all
595 // any referenced files and delete the journal entry. If any 596 // any referenced files and delete the journal entry. If any
596 // transaction is currently committing this will be deferred 597 // transaction is currently committing this will be deferred
597 // via StartJournalCleaningTimer(). 598 // via StartJournalCleaningTimer().
598 void CleanPrimaryJournalIgnoreReturn(); 599 void CleanPrimaryJournalIgnoreReturn();
599 600
600 private: 601 private:
601 static scoped_refptr<IndexedDBBackingStore> Create( 602 static scoped_refptr<IndexedDBBackingStore> Create(
602 IndexedDBFactory* indexed_db_factory, 603 IndexedDBFactory* indexed_db_factory,
603 const url::Origin& origin, 604 const url::Origin& origin,
604 const base::FilePath& blob_path, 605 const base::FilePath& blob_path,
605 net::URLRequestContext* request_context, 606 scoped_refptr<net::URLRequestContextGetter> request_context_getter,
606 std::unique_ptr<LevelDBDatabase> db, 607 std::unique_ptr<LevelDBDatabase> db,
607 std::unique_ptr<LevelDBComparator> comparator, 608 std::unique_ptr<LevelDBComparator> comparator,
608 base::SequencedTaskRunner* task_runner, 609 base::SequencedTaskRunner* task_runner,
609 leveldb::Status* status); 610 leveldb::Status* status);
610 611
611 static bool ReadCorruptionInfo(const base::FilePath& path_base, 612 static bool ReadCorruptionInfo(const base::FilePath& path_base,
612 const url::Origin& origin, 613 const url::Origin& origin,
613 std::string* message); 614 std::string* message);
614 615
615 leveldb::Status FindKeyInIndex( 616 leveldb::Status FindKeyInIndex(
(...skipping 29 matching lines...) Expand all
645 base::FilePath blob_path_; 646 base::FilePath blob_path_;
646 647
647 // The origin identifier is a key prefix unique to the origin used in the 648 // The origin identifier is a key prefix unique to the origin used in the
648 // leveldb backing store to partition data by origin. It is a normalized 649 // leveldb backing store to partition data by origin. It is a normalized
649 // version of the origin URL with a versioning suffix appended, e.g. 650 // version of the origin URL with a versioning suffix appended, e.g.
650 // "http_localhost_81@1" Since only one origin is stored per backing store 651 // "http_localhost_81@1" Since only one origin is stored per backing store
651 // this is redundant but necessary for backwards compatibility; the suffix 652 // this is redundant but necessary for backwards compatibility; the suffix
652 // provides for future flexibility. 653 // provides for future flexibility.
653 const std::string origin_identifier_; 654 const std::string origin_identifier_;
654 655
655 net::URLRequestContext* request_context_; 656 scoped_refptr<net::URLRequestContextGetter> request_context_getter_;
656 scoped_refptr<base::SequencedTaskRunner> task_runner_; 657 scoped_refptr<base::SequencedTaskRunner> task_runner_;
657 std::set<int> child_process_ids_granted_; 658 std::set<int> child_process_ids_granted_;
658 std::map<std::string, std::unique_ptr<BlobChangeRecord>> incognito_blob_map_; 659 std::map<std::string, std::unique_ptr<BlobChangeRecord>> incognito_blob_map_;
659 base::OneShotTimer journal_cleaning_timer_; 660 base::OneShotTimer journal_cleaning_timer_;
660 661
661 std::unique_ptr<LevelDBDatabase> db_; 662 std::unique_ptr<LevelDBDatabase> db_;
662 std::unique_ptr<LevelDBComparator> comparator_; 663 std::unique_ptr<LevelDBComparator> comparator_;
663 // Whenever blobs are registered in active_blob_registry_, indexed_db_factory_ 664 // Whenever blobs are registered in active_blob_registry_, indexed_db_factory_
664 // will hold a reference to this backing store. 665 // will hold a reference to this backing store.
665 IndexedDBActiveBlobRegistry active_blob_registry_; 666 IndexedDBActiveBlobRegistry active_blob_registry_;
666 base::OneShotTimer close_timer_; 667 base::OneShotTimer close_timer_;
667 668
668 // Incremented whenever a transaction starts committing, decremented when 669 // Incremented whenever a transaction starts committing, decremented when
669 // complete. While > 0, temporary journal entries may exist so out-of-band 670 // complete. While > 0, temporary journal entries may exist so out-of-band
670 // journal cleaning must be deferred. 671 // journal cleaning must be deferred.
671 size_t committing_transaction_count_; 672 size_t committing_transaction_count_;
672 673
673 DISALLOW_COPY_AND_ASSIGN(IndexedDBBackingStore); 674 DISALLOW_COPY_AND_ASSIGN(IndexedDBBackingStore);
674 }; 675 };
675 676
676 } // namespace content 677 } // namespace content
677 678
678 #endif // CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_BACKING_STORE_H_ 679 #endif // CONTENT_BROWSER_INDEXED_DB_INDEXED_DB_BACKING_STORE_H_
OLDNEW
« no previous file with comments | « no previous file | content/browser/indexed_db/indexed_db_backing_store.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698