Commit graph

174 commits

Author SHA1 Message Date
Marco Bonardo
5af6b5b2cc Bug 1353783 - updatePlaces doesn't correctly notify and count embed visits. r=Gijs
Additionally, move some history tests to the history folder, split insertMany tests into their own test file.
Also, remove some no more needed android annotations, Firefox for Android doesn't use nor build Places anymore.

MozReview-Commit-ID: 6p4mazeUjsw

--HG--
rename : toolkit/components/places/tests/unit/test_async_history_api.js => toolkit/components/places/tests/history/test_async_history_api.js
rename : toolkit/components/places/tests/history/test_updatePlaces_sameUri_titleChanged.js => toolkit/components/places/tests/history/test_sameUri_titleChanged.js
extra : rebase_source : 1061f3ceb6dc20b9a94a39a7d400670ac45657d0
2017-04-06 14:24:25 +02:00
Gijs Kruitbosch
d41b3a31fc Bug 1341097 - part 4: misc. small optimizations, r=mak
The MigrationUtils change is because 99% of the time we will only have
1 visit per URI, and so we spend silly amounts of time doing nothing.
Time spent in composing our undo structure went from ~800ms to ~550ms
with this change.

The other change just seemed obvious - when visits aren't recent,
we shouldn't add them to 'recently visited' lists, which seem to use
'time this function was called' as the time associated with an entry,
which is incorrect.

MozReview-Commit-ID: 2I0D5ApOCI7

--HG--
extra : rebase_source : 8032e6644337c6758bf5653ef0a149d4f39b0085
2017-02-20 16:06:27 +00:00
Gijs Kruitbosch
b0f2da2a20 Bug 1341097 - part 3: don't dispatch oodles of titlechanged notifications for new history entries, r=mak
MozReview-Commit-ID: 7jHOcCQ5ZBb

--HG--
extra : rebase_source : 6dff335e78857e7c860ebe7ec6ea415fe0f9e3f6
2017-02-27 18:26:21 +00:00
Gijs Kruitbosch
288e9a57a7 Bug 1341097 - part 2: allow turning off notifications for individual inserted results when calling updatePlaces, r=mak
This sets a property on the callback object rather than passing an argument
to handleCompletion, to avoid accidentally breaking consumers who don't
expect arguments. The downside is that this required more changes to C++
consumers, but we control all of those so that seemed an acceptable
trade-off.

We should probably actually report errors for all the migrators, but I didn't
want to add risk (what if in some edge-case there are lots?) so I didn't. I'll
file a followup to update them to Cu.reportError() any errors.

MozReview-Commit-ID: Hue9Ci3hyVz

--HG--
extra : rebase_source : e853911e2ec8fe2e1273baa1f31fd557935ef896
2017-02-21 14:20:21 +00:00
Gijs Kruitbosch
baf3266cde Bug 1341097 - part 1: group frecency notifications from history notifications, r=mak
When updating a large number of places, sending runnables to the main thread
for every single one of them whose frecency we update is not conducive to a
responsive UI. This only gets worse once more observers care about these
notifications (e.g. when the library is open).

To avoid this on startup when importing from other browsers, this patch adds
and uses an option to group the frecency notifications. Later patches will
also use the option to avoid other notifications where possible.

MozReview-Commit-ID: D5KqPDu86bo

--HG--
extra : rebase_source : ad5bbce40eaa802a6a88bc0c9a9c7026fd056598
2017-02-21 20:00:24 +00:00
Mark Banner
ef6375ca0d Bug 737836 - Don't rely on past visits for frecency calcuations for redirects. r=mak
MozReview-Commit-ID: GfgZSInN9Lv

--HG--
extra : rebase_source : a052eebb1e5ffd2825b556c8a5702ec57f2570de
2017-01-18 14:09:09 +00:00
Nicholas Nethercote
b71747b2ac Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.

--HG--
extra : rebase_source : 886e57a9e433e0cb6ed635cc075b34b7ebf81853
2016-09-01 15:01:16 +10:00
Nicholas Nethercote
c2306345d5 Bug 1297658 - Avoid unnecessary checking in memory reporters. r=erahm.
This patch removes checking of all the callback calls in memory reporter
CollectReport() functions, because it's not useful.

The patch also does some associated clean-up.

- Replaces some uses of nsIMemoryReporterCallback with the preferred
  nsIHandleReportCallback typedef.

- Replaces aCallback/aCb/aClosure with aHandleRepor/aData for CollectReports()
  parameter names, for consistency.

- Adds MOZ_MUST_USE/[must_use] in a few places in nsIMemoryReporter.idl.

- Uses the MOZ_COLLECT_REPORT macro in all suitable places.

Overall the patch reduces code size by ~300 lines and reduces the size of
libxul by about 37 KiB on my Linux64 builds.

--HG--
extra : rebase_source : e94323614bd10463a0c5134a7276238a7ca1cf23
2016-08-24 15:23:45 +10:00
Kan-Ru Chen
b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Nicholas Nethercote
e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Marco Bonardo
3837320431 Bug 889561 - Reduce the size of places.sqlite by removing the url unique index from moz_places. r=adw
MozReview-Commit-ID: 2kxaXnUYIwT

--HG--
extra : rebase_source : bbcaf85a0346b5347fc94053b4f193e4b89f2995
2016-06-29 14:47:36 +02:00
Carsten "Tomcat" Book
a982df321d Backed out changeset ceff61c9fc5a (bug 889561) for frequent testfailures on pgo in /bookmarks/test_
--HG--
extra : rebase_source : 84d364e67739738da807b9d83c3338ebd8a086a6
2016-06-29 13:54:51 +02:00
Marco Bonardo
67c3ad7930 Bug 889561 - Reduce the size of places.sqlite by removing the url unique index from moz_places. r=adw
MozReview-Commit-ID: 2kxaXnUYIwT

--HG--
extra : rebase_source : e03928033aa795c9a1cdb34d4f4618b0eb1d6890
2016-06-20 13:22:10 +02:00
Marco Bonardo
a6cebf30a9 Bug 1209027 - add missing explicit. r=bustage
MozReview-Commit-ID: 7rAmfjSDSvZ
2016-06-08 15:17:16 +02:00
Marco Bonardo
41b74693db Bug 1277235 - add typed and visitCount to onVisit. r=adw
MozReview-Commit-ID: 3XfBCiOgyAu

--HG--
extra : rebase_source : 9f98a7a838e4ac56ae82bd13c330f181268228e5
2016-06-01 16:42:15 +02:00
Marco Bonardo
22a82c8e00 Bug 1209027 - Reduce queries load on visits addition. r=adw
MozReview-Commit-ID: AvW7WB2LXZE

--HG--
extra : rebase_source : bb5ab637dfe69f2b4587932bd1c506e18b81bca2
2016-05-31 15:19:16 +02:00
Marco Bonardo
392c65b534 Bug 1261386 - Avoid history flooding from repeated reloads. r=adw
MozReview-Commit-ID: FhU8nOoNUHb

--HG--
extra : rebase_source : ff75adb252b13f4042da49d4572fb807c3d0d823
2016-05-26 17:49:40 +02:00
Kyle Huey
941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Carsten "Tomcat" Book
ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Kyle Huey
48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07:00
Kyle Huey
c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Valentin Gosu
ac02cc4197 Bug 548685 - Avoid null pointer deref in nsURIHashKey r=mcmanus
MozReview-Commit-ID: 5wCZ0DTHEUS
2016-04-19 15:46:34 +02:00
Kyle Huey
d9265a3eaf Bug 1259294: Part 2 - Use MOZ_ALWAYS_SUCCEEDS. r=froydnj 2016-03-28 10:28:15 -07:00
Marco Bonardo
a942905031 Bug 1250363 - Speed up history removals through a simulated per-statement trigger. r=yoric
This aims at speeding up DELETE FROM moz_places like queries.
The primary reason of slowness is the FOR EACH ROW trigger that takes care of updating the moz_hosts table when places are removed.
Unfortunately Sqlite doesn't support FOR EACH STATEMENT triggers, that means the trigger will hit multiple times for pages in the same host.
The patch introduces an additional temp table to accumulate hosts during a delete, then a trigger takes care of updating moz_hosts only once per touched host, rather than once per removed place.

MozReview-Commit-ID: BlJRLQZoC07

--HG--
extra : rebase_source : 5715efe580348b3810000d67a0a692dece36d306
2016-02-23 02:21:03 +01:00
Marco Bonardo
43b99cedf6 Bug 1240013 - Crash in nsNavBookmarks::OnVisit by setting long location.hash. r=Yoric
--HG--
extra : commitid : 22HsGbBqJ8f
extra : rebase_source : 9b7794cc6d81f8de6c43b303779835f06eca7271
2016-01-26 18:43:53 +01:00
Birunthan Mohanathas
9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02: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
Nicholas Nethercote
5fe56b4623 Bug 1209351 (part 6) - Optimize nsTHashTable::RemoveEntry() usage in toolkit/. r=froydnj.
--HG--
extra : rebase_source : 242da824dab1ff2d263429a522f62e082a9230d6
2015-09-24 21:38:04 -07:00
Jeff Walden
4046fe1490 Bug 1179003 - Convert the infallible objectClassIs proxy hook into a fallible getBuiltinClass hook that indicates class type via outparam. r=efaust, r=bz on DOM bits, r=billm on IPC bits
--HG--
extra : rebase_source : 6ddc3727c411fdfced6338e5e383a10572575f0f
2015-08-28 21:55:40 -07:00
Andrew McCreight
5446225d17 Bug 1201271 - Warn about unused results for more methods of nsTArray. r=froydnj
This leaves alone the AppendElement methods.
2015-09-15 15:30:44 -07:00
Nicholas Nethercote
ae053c4fb9 Bug 1182960 (part 2) - Use nsTHashtable::Iterator in toolkit/components/places/. r=mak. 2015-07-14 07:06:29 -07:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07: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
Juan Gomez
258ad59e3f Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Ryan VanderMeulen
5f5c327690 Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage. 2015-06-25 19:48:42 -04:00
Juan Gomez
702a59d135 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj
--HG--
extra : rebase_source : 2ecbe6c1dd8a7ad8dc529b53349ad431cf1116c9
2015-06-24 14:11:00 -04:00
Andrea Marchesini
e6f385fb3d Bug 1148527 - Indentation fix after bug 1145631, r=ehsan 2015-03-27 18:52:19 +00:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Nicholas Nethercote
242708cf72 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 488e401ff87e31a2074c4108c4df0572d9536667
2015-02-09 14:34:50 -08:00
Andrew McCreight
d3826daa16 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
d34f0301b8 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 99182e70335d2b5ff95f8c528ae992d37294be3a
2015-02-04 20:05:36 -08:00
Marco Bonardo
1e26430ba7 Bug 1117072 - updatePlaces can mistakenly overwrite typed and hidden attributes of a page. r=ttaubert 2015-01-27 18:36:40 +01:00
Ehsan Akhgari
126a9df841 Bug 1118413 - Mark virtual overridden functions as MOZ_OVERRIDE in places; r=mak 2015-01-24 14:51:35 -05:00
David Rajchenbach-Teller
96ea2fb1a3 Bug 1064768 - Use nsMainThreadPtrHandle in History.cpp. r=mak 2014-09-16 14:17:31 +02:00
Arnaud Sourioux
a1345c954c Bug 1049812 - Part3: Rename PlaceHashKey private members with a 'm' prefix. r=mak 2014-09-05 00:21:00 +02:00
Arnaud Sourioux
603822542c Bug 1049812 - Part2: fix indentaion in toolkit/components/places/History.cpp for class PlaceHashKey. r=mak 2014-09-05 00:20:00 +02:00
Arnaud Sourioux
0688b6e626 Bug 1049812 - Part 1 : Removes static_cast introduced by bug 922727 and set a bool property in DEBUG to ensure PlaceHashKey properties are set. r=mak 2014-09-05 00:19:00 +02:00
Ehsan Akhgari
d0800c4d23 Bug 1060974 - Fix more bad implicit constructors in places; r=mak
--HG--
extra : rebase_source : c8d465b4de55d000d1475994827766e33396ff12
2014-09-03 18:25:36 -04:00
Marco Bonardo
a678c978f4 Bug 887865 - Use a mozIStorageAsyncConnection in for GetIsVisitedStatement. r=mano 2014-08-12 10:59:11 +02:00
Daniel Holbert
dac634b593 Bug 1049747: Ensure the history service is up before proceeding, in InsertVisitedURIs::Start() and History::GetPlacesInfo(). r=mak 2014-08-10 14:26:52 -07:00