Commit Graph

1206 Commits

Author SHA1 Message Date
DimiL
0a4d250e6c Bug 1335943 - Use the right origin attribute in Safe Browsing completions. r=francois
MozReview-Commit-ID: 8HQHzuwE5Cf
2017-06-21 17:27:22 +08:00
Florian Quèze
c0468168f5 Bug 1368456 - remove Promise.jsm imports in tests, r=mconley. 2017-06-23 11:25:52 +02:00
Nicholas Nethercote
a58025002f Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.
2017-06-22 17:08:53 +10:00
Nicholas Nethercote
4ce1e9c11f Bug 1374580 (part 3) - Remove ns{,C}Substring typedefs. r=froydnj.
All the instances are converted as follows.

- nsSubstring  --> nsAString
- nsCSubstring --> nsACString
2017-06-20 19:19:52 +10:00
Felipe Gomes
c17f36437c Bug 1374731 - Don't use hardcoded test entries for the Flash classification tables. r=bytesized
MozReview-Commit-ID: 1pG11W7PX4R
2017-06-20 18:15:44 -03:00
Carsten "Tomcat" Book
5cd02f7ef8 Merge mozilla-central to mozilla-inbound 2017-06-20 11:31:34 +02:00
Henry Chang
169b4c1965 Bug 1370585 - Periodically check the flag (at most 30 seconds) rather than checking only once. r=francois
MozReview-Commit-ID: BjGN7nOCmTS
2017-06-19 18:25:12 +08:00
Carsten "Tomcat" Book
bbe9441993 Backed out changeset 9846de3bd954 (bug 1372405) 2017-06-20 08:27:02 +02:00
Bill McCloskey
f69608368b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Bevis Tseng
e6dc9e02bc Bug 1372453 - Part 2: Name the caller of ProxyReleaseEvent. r=billm
MozReview-Commit-ID: LYhSWnZkq0i
2017-06-14 09:27:17 +08:00
DimiL
20ed1b5b65 Bug 1366920 - SafeBrowinsg V4 only in 56. r=francois
MozReview-Commit-ID: KWhPC7YWzAh
2017-06-14 09:56:27 +08:00
DimiL
879fb34acf Bug 1373121 - about:url-classifier: Support get back-off time. r=francois
MozReview-Commit-ID: 6Q83TOo7jHK
2017-06-15 11:41:13 +08:00
DimiL
788a08295b Bug 1312888 - Fix incorrect debug output for V2 lists. r=hchang
MozReview-Commit-ID: A6tb38RnUN3
2017-06-14 15:32:53 +08:00
DimiL
5bfeea65b2 Bug 1329366 - Avoid the reuse of the same chunk numbers in classifierHelper.js. r=francois
This patch includes following fix in classifierHelper.js:
1. Avoid the reuse of same chunk numbers
2. Remove unused removeUrlFromDB function

MozReview-Commit-ID: XK1oHBa8gf
2017-06-12 17:04:59 +08:00
DimiL
611d1430b5 Bug 1366965 - Remove telemetry that compare SafeBrowsing V2 & V4. r=francois
MozReview-Commit-ID: 7vudFBK3rdp
2017-06-12 11:27:19 +08:00
Wes Kocher
66c4fd99c8 Merge m-c to inbound, a=merge
MozReview-Commit-ID: E2oiCGaL6uX
2017-06-08 18:42:21 -07:00
Kirk Steuber
cac12b21cd Bug 1369160 - Add a Shavar list to be used to suppress the infobar, r=francois
The Flash infobar is showing up a bit too often. There are a few changes planned to address this. One of them is a list that will contain sites that should never display infobars. This patch allows the list to be downloaded from Shavar and updated via the URL classifier.

MozReview-Commit-ID: BgAaysyRzIE
2017-05-31 15:13:12 -07:00
Henry Chang
33354e4470 Bug 1362182 - Early return if mUpdateObserver has been nulled out by CancelUpdate(). r=francois
MozReview-Commit-ID: 2fQCtjMJkx
2017-06-06 17:51:51 +08:00
DimiL
02e313d384 Bug 1359299 - V4 caches in LookupCache need to be copied around in copy constructor. r=hchang
MozReview-Commit-ID: AjzUUmQKiPW
2017-06-06 14:16:57 +08:00
Thomas Nguyen
d158ca7769 Bug 1361699 - Add buffer when writing hashstore to file r=gcp,mcmanus
We write a lot of 4-bytes prefixes to file which call many system calls.
We should use a buffer and only write to file if the buffer is full or
finish writing. nsIBufferedOutputStream is a good candidate to do that

MozReview-Commit-ID: CzGOd7iXVTv
2017-05-19 13:17:07 +08:00
DimiL
2cba357e54 Bug 1366996 - Fix uninitialized members in nsUrlClassifierInfo. r=francois
This was found by Coverity Scan (CID 1409773, 1409774).

MozReview-Commit-ID: LA7oPMobbie
2017-05-31 08:52:34 +08:00
Andrew McCreight
02c72333dc Bug 1368170 - Remove unused Function.prototype.inherits methods. r=francois
These methods do not appear to be used.

When JSM global sharing is enabled, these methods contaminate the
global Function.prototype, which breaks Marionette object
serialization.

MozReview-Commit-ID: CAfJ2FCkhlK
2017-05-26 13:46:10 -07:00
Andrew McCreight
600ec52527 Bug 1367521 - Fix misspellings of "delegate". r=dholbert
MozReview-Commit-ID: KqOnp8rpCZD
2017-05-24 10:43:11 -07:00
Ryan VanderMeulen
c121499332 Backed out changeset c0b940487708 (bug 1359299) for causing intermittent Windows safebrowsing crashes. 2017-05-24 09:11:04 -04:00
DimiL
ecf67ffc51 Bug 1359299 - Copy fullhash cache when update. r=hchang
After adopting the new thread model for safebrowsing, we will create a new
lookup cache for update so we can still check lookup cache at the same time.

Prefix set, completions will be generated when we open the new lookup cache
but it won't include cache, so we will loss cache after that.

This patch will copy cache data from old lookup cache to new lookup
cache while update.

MozReview-Commit-ID: L0WpiHOGIGm
2017-05-23 09:19:06 +08:00
Wes Kocher
007098e921 Merge inbound to central, a=merge
MozReview-Commit-ID: 7NiWtCjPk84
2017-05-22 16:26:12 -07:00
Kershaw Chang
4f65916b2b Bug 1312515 - Part 3: Test case. r=baku
This test aims to test the priority of the http channels created from XHR and Fetch inside a tracking script is lowest.
2017-05-22 03:40:00 -04:00
DimiL
c8f160ac4e Bug 1360480 - about:url-classifier: Cache information. r=francois
MozReview-Commit-ID: 4YXtb2KPgwL
2017-05-17 10:32:33 +08:00
Francois Marier
e4dd8ef38f Bug 1366394 - Bump the Safe Browsing update timeout to 15s. r=hchang
Based on the telemetry that landed as part of bug 1336904, Safe Browsing
updates are failing too often: https://mzl.la/2qGkOPS

This should enable browsers on slower networks to reach the update
servers while still putting a reasonable bound on how long the update
thread can be blocked.

MozReview-Commit-ID: 6puVtpMT87K
2017-05-19 14:25:11 -07:00
DimiL
da8ff508ef Bug 1365877 - resetDatabase in SafeBrowsing test case should also reset cache. r=francois
resetDatabase() is used to clear out the Safe Browsing database and cache in tests.
Since bug 1333328 however we can no longer rely on updates clearing the cache.

There are two solutions to address this issue:
1. resetDatabase() calls another test-only function: reloadDatabase(). Since the cache
   is in memory, reloading the URL classifier will automatically clear the cache.
2. During an update, remove cache entries which are not in the database.

I prefer taking the first one because if we implement the second
approach, an update will take longer since we need to check if each prefix
in the cache can also be found in the database. I think this is not necessary
because prefixes not in the database will eventually be removed when they
are expired.

MozReview-Commit-ID: BjsDKDMr205
2017-05-18 17:21:00 +08:00
Sebastian Hengst
09a5305d26 Backed out changeset 44635c073692 (bug 1345058) on suspicion of causing intermittent xpcshell failures in toolkit/components/url-classifier/tests/unit/test_bug1274685_unowned_list.js on OS X. r=backout 2017-05-19 13:13:18 +02:00
Thomas Nguyen
379b129513 Bug 1363879 - Sort gethash prefixes to hide noise entries r=francois
In V2 we shuffled the hash entries before sending the request to obscure the real
entry from noises. We should also hide the real entry in V4. Using sort() is
enough for both V2 and V4 because the array contains exactly 5 entries in almost
all cases.

MozReview-Commit-ID: 4uOXIF83KQL
2017-05-17 16:11:36 +08:00
Henry Chang
53df2ddfd9 Bug 1345058 - Asynchronously decide if a flash document should be blocked. r=baku,bytesized
Technically speaking, we use the new async API 'nsIURIClassifier.asyncClassifyLocalWithTables'
to replace the old sync API. However, since we cannot guarantee the async call will be done when
we neet its result, we need a sync call as a fallback in this case. This is a sub-optimal
solution and we will be investigating if there's a better solution if the sync call
is used too frequently.

MozReview-Commit-ID: L1uQ2eaYr1e
2017-05-10 15:32:34 +08:00
Carsten "Tomcat" Book
1e4626e120 merge mozilla-inbound to mozilla-central a=merge 2017-05-18 14:19:18 +02:00
Thomas Nguyen
f0e7c590a6 Bug 1365466 - Remove enablePrivilege calls in SafeBrowsing test case. r=hchang
MozReview-Commit-ID: CedxaTfXFx0
2017-05-16 19:20:00 -04:00
DimiL
87adc6c3b3 Bug 1364607 - Add a test for empty Safe Browsing updates. r=francois
This patch includes two test cases:
1. Apply an empty update through Classifier interface, which is the normal use case.
2. Apply an empty update through LookupCacheV4::ApplyUpdate, this ensure update algorithm is
   correct when applying an empty update. This scenario actually shouldn't happen in
   normal use case because it will be skipped by Classifier::CheckValidUpdate.

MozReview-Commit-ID: 9khsuVatX0u
2017-05-17 16:04:23 +08:00
Felipe Gomes
d42fc1500d Bug 1317856 - Ensure that flashblock tests are not affected by nosrc fallback rule. r=bytesized
With the activation of Ask-to-Activate mode by default, we'll also activate the fallback rule that favors fallback content when the object has not provided a src, so we need to prepare this test for that

MozReview-Commit-ID: JmmxJEiziHW
2017-05-16 22:56:23 -03:00
Chung-Sheng Fu
c1c4081a34 Bug 1342900 - Remove usage of nsTArray<nsAutoPtr<>> in Classifier. r=dimi
MozReview-Commit-ID: 2SGPEuEg0lz
2017-05-05 14:33:18 +08:00
Nathan Froyd
3b526b2200 Bug 1359490 - add an event loop spinning abstraction function; r=gerald
This function is arguably nicer than calling NS_ProcessNextEvent
manually, is slightly more efficient, and will enable better auditing
for NS_ProcessNextEvent when we do Quantum DOM scheduling changes.
2017-05-15 09:34:19 -04:00
DimiL
769f299a32 Bug 1333328 - Remove mTableFreshness and gFreshnessGuarantee. r=francois
Functions and Preference related to mTableFreshness and gFreshnessGuarantee
could be removed since we will no longer require them.

MozReview-Commit-ID: IAa0UHLSQ56
2017-05-04 11:13:21 +08:00
DimiL
a0b8501692 Bug 1333328 - Refactor cache miss handling mechanism for V2. r=francois
In this patch, we will make Safebrowsing V2 caching use the same algorithm as V4.
So we remove "mMissCache" for negative caching and TableFresness check for
positive caching.

But Safebrowsing V2 doesn't contain negative/positive cache duration information in
gethash response. So we hard-code a fixed value, 15 minutes, as cache duration.
In this way, we can sync the mechanism we handle caching for V2 and V4.

An extra effort for V2 here is that we need to manually record prefixes misses
because we won't get any response for those prefixes(implemented in
nsUrlClassifierLookupCallback::CacheMisses).
2017-05-04 09:38:14 +08:00
Thomas Nguyen
1cf911e408 Bug 1322523 - Add telemetry to capture the length of long Safe Browsing V4 prefixes r=francois
MozReview-Commit-ID: HhWhyJvyG85
2017-05-14 14:09:10 +08:00
Florian Quèze
15feaa278a Bug 1362882 - script-generated patch to switch from Promise.defer() to new Promise() where it's straightforward, rs=Mossop. 2017-05-12 14:55:27 +02:00
Florian Quèze
ff53eb9a63 Bug 1353542 - massive script-generated patch converting Task.async and Task.spawn calls, and generators clearly identifiable as tasks, rs=Mossop. 2017-05-12 14:42:39 +02:00
Henry Chang
53feae184d Bug 1363266 - Post an event to main thread to set |done| to true. r=froydnj
This is in preparation for being able to be replaced with SpinEventLoopUntil(),
which is going to be shipped in bug 1359490.

MozReview-Commit-ID: AChVqh4kfVb
2017-05-09 11:42:52 +08:00
Francois Marier
566f4c2a55 Bug 1362501 - Use LINUX_PLATFORM for Safe Browsing on non-Windows and non-OSX platforms. r=gcp
MozReview-Commit-ID: 58059M8IhL
2017-05-05 11:38:38 -07:00
dimi
f2f94674a1 Bug 1362112 - Add missing string in aboutUrlClassifier.properties. r=francois
MozReview-Commit-ID: HXptt8ElxSX
2017-05-05 12:42:31 +08:00
Thomas Nguyen
9ca7549a71 Bug 1351472 - Skip AddNoise if the table is unknown or disallowed to getHash r=francois
MozReview-Commit-ID: GMWs2UpiyiP
2017-04-28 15:26:54 +08:00
Jeff Walden
dbb2e63c8c Give a local anonymous struct a name, in order to work around a toolchain compiler deficiency of the browser rooting-hazard-analysis setup. No bug, r=sfink over IRC 2017-05-01 19:40:16 -07:00
Thomas Nguyen
1f65cb8c7a Bug 1336904 - Add timeouts for Safe Browsing updates r=francois
These timeouts will ensure that we don't block the Safe Browsing update thread
for too long when we encounter slow or bad network conditions.

MozReview-Commit-ID: AJfR193cTf8
2017-04-24 17:51:06 +08:00