Commit Graph

37 Commits

Author SHA1 Message Date
Jan Varga
9f906cd7c4 Bug 1563023 - Part 1: Implement per client usage tracking; r=asuth
This patch adds a fixed-size array of client usages to OriginInfo and modifies
quota tracking APIs to require the client type to be passed in.
A new method ResetUsageForClient is implemented. The method is used during
client-specific origin clearing. ResetUsageForClient is much faster than calling
GetUsageForOrigin and calling DecreaseUsageForOrigin after that.
LockedUsage now has an assertion that verifies that the total sum of client
usages matches total origin usage. This method should be called instead of
touching mUsage directly.
A new assertion is added to GetQuotaObject which verifies that passed file
belongs to the given persistence type, origin, and client.

Differential Revision: https://phabricator.services.mozilla.com/D38028

--HG--
extra : moz-landing-system : lando
2019-08-22 13:06:48 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Valentin Gosu
ec9082b60a Bug 1433958 - Change code that sets nsIURI.query to use nsIURIMutator r=mayhemer
MozReview-Commit-ID: JKW8IsaFY10

--HG--
extra : rebase_source : 45ffa07c34739adf4de681fec1370645b0f74985
2018-02-26 20:43:46 +01:00
Tom Tung
44aaef6986 Bug 1290481 - P13: Get padding from DB when there is no directroy padding file. r=bkelly
MozReview-Commit-ID: KlVsaGhpABk

--HG--
extra : rebase_source : 55aa5434b14c891e04ff03d7657c6b3ff40cd6f7
2017-07-18 19:08:41 +08:00
Tom Tung
d064e1463f Bug 1290481 - P10: Update padding size to the direcotry padding file. r=bkelly
MozReview-Commit-ID: KlVsaGhpABk

--HG--
extra : rebase_source : 250d8cf6dd6804e8e944982d400a8de79539f7ac
2017-07-18 19:00:09 +08:00
Tom Tung
8206d1d428 Bug 1367309 - Part 1: Update usage to QuotaManager when a file is deleted in DOM Cache. r=bkelly, r=janv
This patch mainly to update DOM Cahce's usage to the QuotaManager when a file
is deleted. This patch implement two helper function to delete the nsIFile
recursively or directly and update usage to QuotaManager.

MozReview-Commit-ID: 7pZZ02pS48d

--HG--
extra : rebase_source : c33e4afdbc1512f117d5f47814e149736c7ca257
2017-05-23 18:33:47 +08:00
Ben Kelly
180d53d0e9 Bug 1328686 Add diagnostic assertions to dom/cache. r=asuth 2017-01-06 12:41:15 -08:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Ben Kelly
6e79a82e9f Bug 1184607 P7.3 Rename Cache "max wipe version" constant to "first shipped version". r=ehsan 2015-08-31 14:26:30 -07:00
Dragana Damjanovic
7987d2203e Bug 905127 - Part 2 - remove unnecessary nsNetUtil.h includes r=jduell 2015-07-06 07:55:00 +02:00
Emanuel Hoogeveen
7d1e52f2ff Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00
Ben Kelly
6ea4923572 Bug 1168152 P2 Use a wrapper mozIStorageConnection for shared Cache connections. r=ehsan 2015-05-28 07:46:47 -07:00
Ben Kelly
e65a98018d Bug 1162342 Enable sqlite WAL transactions in Cache API. r=ehsan 2015-05-13 17:55:48 -07:00
Ben Kelly
b053f626b5 Bug 1164100 P1 Cache API should use correct base dir even when reusing sqlite connection. r=ehsan 2015-05-13 13:35:34 -07:00
Ben Kelly
8db77b2780 Bug 1134671 Keep sqlite connection open between Cache API operations. r=ehsan 2015-05-07 05:16:51 -07:00
Ben Kelly
568cbb8cb1 Bug 1162211 Use sqlite private cache mode in Cache API. r=ehsan 2015-05-07 05:16:51 -07:00
Ehsan Akhgari
29dbd10a4f Bug 1156033 - Add some missing error handling to the DOM Cache code; r=bkelly 2015-04-20 13:10:33 -04:00
Ben Kelly
0c43991ad9 Bug 1110485 P6 Remove useless cache::FileUtils type. r=ehsan 2015-04-16 12:00:16 -07:00
Ben Kelly
8b9f92e9b8 Bug 1110485 P5 Replace useless DBSchema class type with namespace. r=ehsan 2015-04-16 12:00:16 -07:00
Ben Kelly
2dae6bf172 Bug 1110485 P1 Refactor Cache IPC requests to use a separate actor. r=baku 2015-04-16 12:00:15 -07:00
Carsten "Tomcat" Book
fe0f813b3f Backed out changeset 19f871364039 (bug 1110485) for causing bc1 winxp memory leaks on a CLOSED TREE 2015-04-15 09:55:53 +02:00
Carsten "Tomcat" Book
c726b582d2 Backed out changeset de417ee861be (bug 1110485) 2015-04-15 09:54:36 +02:00
Carsten "Tomcat" Book
7f9511a7e1 Backed out changeset fdca92fa4d55 (bug 1110485) 2015-04-15 09:54:34 +02:00
Ben Kelly
a9c2903eaf Bug 1110485 P6 Remove useless cache::FileUtils type. r=ehsan 2015-04-14 17:11:19 -07:00
Ben Kelly
b2299b8e39 Bug 1110485 P5 Replace useless DBSchema class type with namespace. r=ehsan 2015-04-14 17:11:19 -07:00
Ben Kelly
feca794ce2 Bug 1110485 P1 Refactor Cache IPC requests to use a separate actor. r=baku 2015-04-14 17:11:19 -07:00
Wes Kocher
22b792b4e2 Backed out changeset 40f48cd100a2 (bug 1110485) for frequent mochitest-1 failures CLOSED TREE
--HG--
extra : amend_source : 3c3a58e53f42afd4a0612b73115e74cc96228066
2015-04-14 15:27:48 -07:00
Wes Kocher
0e2cc1e14f Backed out changeset 55723c780549 (bug 1110485) 2015-04-14 15:27:40 -07:00
Wes Kocher
12f5d82830 Backed out changeset 974c5c109a49 (bug 1110485) 2015-04-14 15:27:39 -07:00
Ben Kelly
97225cf18a Bug 1110485 P6 Remove useless cache::FileUtils type. r=ehsan 2015-04-14 12:21:14 -07:00
Ben Kelly
b7100288ec Bug 1110485 P5 Replace useless DBSchema class type with namespace. r=ehsan 2015-04-14 12:21:14 -07:00
Ben Kelly
7a6abc9a9e Bug 1110485 P1 Refactor Cache IPC requests to use a separate actor. r=baku 2015-04-14 12:21:14 -07:00
Wes Kocher
164426c724 Backed out 3 changesets (bug 1110485) for wpt-3 bustage
Backed out changeset e8bd3bf404ff (bug 1110485)
Backed out changeset fa29dbb49a66 (bug 1110485)
Backed out changeset 12deb121d126 (bug 1110485)

--HG--
rename : dom/cache/CacheTypes.ipdlh => dom/cache/PCacheTypes.ipdlh
2015-04-13 15:18:19 -07:00
Ben Kelly
c3a286e766 Bug 1110485 P1 Refactor Cache IPC requests to use a separate actor. r=baku 2015-04-13 14:05:57 -07:00
Ehsan Akhgari
eaf970dc6a Bug 1143959 - Set the journal mode and foreign key pragmas for all DBActions; r=bkelly
Before this patch, we would only set these pragmas as part of CreateSchema
which runs in SetupAction.  This meant that the connection used to perform
other DBActions would not have had these pragmas applied.  As a result,
sqlite would not honor foreign keys on such connections, so the cascade
delete rules responsible for deleting rows from request_headers and
response_headers would not get executed when DBSchema::CachePut deleted the
old entry before adding a new one.

The test in the patch demonstrates how this could result in an observable
breakage.  Before this patch, the response headers stored in the cache for
the overwritten entry would reflect both `Mirrored: `foo' and `Mirrored: bar'
headers, which means that attempting to get this header on the cached
response would return the first entry, `foo'.
2015-03-17 08:18:28 -04:00
Ehsan Akhgari
d5840b488d Bug 1133763 - Part 3: Wipe out the cache directory when detecting a change in the DB schema; r=bkelly 2015-03-13 14:37:18 -04:00
Ben Kelly
f9064fc636 Bug 940273 - Part 4 - Initial implementation of Service Worker Cache. r=ehsan,baku,janv 2015-03-02 14:20:00 +01:00