Commit Graph

836 Commits

Author SHA1 Message Date
Iris Hsiao
228fa73db4 Merge mozilla-central to autoland 2017-05-08 11:19:04 +08:00
btian
fdad9d5dc2 Bug 1338059 - Part 2: Implement PromiseRejectionEvent, r=bz
MozReview-Commit-ID: 6BZBL9BjO03
2017-05-05 11:30:19 +08:00
Wes Kocher
6818397cb4 Merge m-c to inbound, a=merge
MozReview-Commit-ID: 3HXDLRcpc9c
2017-05-05 14:20:47 -07:00
Michael Layzell
e61c3d3240 Bug 1353440 - Annotate background hang reports which occur while the user is interacting with the browser, r=ehsan
MozReview-Commit-ID: CSO0K5wiK5H
2017-05-05 15:21:48 -04:00
Tim Huang
4a7222a909 Bug 1330890 - Part 1: Spoofing the time zone as UTC when fingerprinting resistance is enabled (adopt from Tor #16622). r=arthuredelstein,Ehsan
This patch adds a new service for fingerprinting resistance, which is called
nsRFPService. This service will be put in /toolkit/components/resistfingerprinting.
This service is responsible for observing the change of pref 'privacy.resistfingerprinting'
and doing underlying jobs. And it also in charge of caching pref setting of
'privacy.resistfingerprinting' and changing environment value 'TZ'.

This service will be initialized within nsContentUtils::Init(). During initialization,
it will store the original TZ value and set the value according to 'privacy.resistfingerprinting'.
It also changes environment value 'TZ' and calls nsJSUtils::ResetTimeZone() in
response to the change of the pref.

This service is only a nsIObserver for now. In the future, however, it will be
responsible for more fingerprinting resistance jobs, like changing prefs after
'privacy.resistfingerprinting' is changed.

The environment variable 'TZ' will be set to 'UTC' when 'privacy.resistFingerprinting'
is true. By doing so, Firefox will use UTC as its local time zone instead of the
default local time zone. This prevents a browser be fingerprinted through the local time zone.
After the 'privacy.resistFingerprinting' is turned off, the service will restore
'TZ' back to the original TZ setting, the user's setting or the default system timezone.

MozReview-Commit-ID: 8V47ZATgrKE
2017-05-02 15:21:04 +08:00
Wes Kocher
900a24bea8 Backed out 4 changesets (bug 1358297) for hazard build failures a=backout
Backed out changeset 95211a496191 (bug 1358297)
Backed out changeset 3c1b426a5cce (bug 1358297)
Backed out changeset 9201d345a1d5 (bug 1358297)
Backed out changeset c926817dea60 (bug 1358297)

MozReview-Commit-ID: 874DF43K7Dp
2017-05-05 12:45:46 -07:00
Emilio Cobos Álvarez
0e29f38811 Bug 1361301: Add nsContentUtils::GetCommonFlattenedTreeAncestor. r=smaug
MozReview-Commit-ID: EVyjTrjpid2
2017-05-03 12:58:34 +02:00
Emilio Cobos Álvarez
da497c56de Bug 1361301: Extract the core algorithm from nsContentUtils::GetCommonAncestor. r=smaug
MozReview-Commit-ID: 7u6YaYN3dhb
2017-05-03 12:57:53 +02:00
Milan Sreckovic
09ead5e859 Bug 1358297: Part 3. Create special case for stripping CR and LF on TSubstring, and use it in all the places that it is called. Use ASCIIMask to make it fast. r=froydnj
MozReview-Commit-ID: 3p97cCGfy6i
2017-05-05 13:37:13 -04:00
Kris Maglione
602d505b96 Bug 1353060: Use the correct layer manager for frameloaders in <popup>s. r=kats,mattwoodrow
Currently, we only correctly support remote layer trees for frameloaders that
use the same layer manager as their document. Since we need to be able to host
remote <browser> content in popup widgets for remote WebExtensions, we need to
tie the frameloaders to the layer manager of their host element, rather than
the root layer manager for the document.

MozReview-Commit-ID: 4RCsamFBiQw
2017-04-17 21:41:18 -07:00
Ehsan Akhgari
82a9b65b78 Bug 1360799 - Expose the requestIdleCallback API to chrome code unconditionally; r=bzbarsky
We need to use this API in the front-end code, and in the off-chance
that we end up turning it off for the Web for whatever reason, or if
someone has turned off the pref, we should make sure our UI code does
not break.
2017-05-02 19:01:27 -04:00
Boris Zbarsky
a25d09a1da Bug 1357206 part 4. Don't move the cursor even if eSetValue_MoveCursorToEndIfValueChanged is set, if the value did not change. r=ehsan 2017-05-01 13:28:54 -04:00
Aryeh Gregor
38e8ea1915 Bug 1358104 - Only throw InvalidCharacterError for bad XML id's, not NamespaceError r=baku
Discussion at <https://github.com/whatwg/dom/issues/319>.  In short, the
specification used to say to throw sometimes InvalidCharacterError and
sometimes NamespaceError, but browsers disagreed on which to throw in
corner cases, and everyone agreed it wasn't worth the effort to spec the
distinction, so we just changed it to InvalidCharacterError across the
board.

The test changes are already upstream.

MozReview-Commit-ID: AWSZBznQprG
2017-04-20 17:37:07 +03:00
Brian Birtles
569fad078e Bug 1355348 - Move IsFlattenedTreeDescendantOf helper to nsContentUtils; r=heycam
In the next patch in this series we would like to use this functionality in
nsSMILController as well so this patch moves it to somewhere we can share it.

MozReview-Commit-ID: 1IzWoCCw4aD
2017-04-26 13:00:10 +09:00
Carsten "Tomcat" Book
8eb146d908 Merge mozilla-central to autoland 2017-04-26 09:08:31 +02:00
Wes Kocher
1bb3fcd58a Merge inbound to m-c a=merge
MozReview-Commit-ID: A85cs7Yriqj
2017-04-25 13:53:00 -07:00
Samael Wang
08ccd27a58 Bug 1337064 - Remove sync protocol PContent::AllocateTabId. r=kanru
Remove sync protocol AllocateTabId. Instead we generate tabId in
each process with nsContentUtils::GenerateTabId, and register
RemoteFrameInfo in parent process. If the tab id was generated from
a content process, it's sent parent through either PBrowserConstructor
or PContent::CreateChildProcess.

MozReview-Commit-ID: D3W2fK9eCNH
2017-04-05 18:42:00 +08:00
Andrea Marchesini
72c4e2a5b6 Bug 1358115 - Use IPCBlob in DataTransfer, r=smaug 2017-04-24 12:16:50 +02:00
Aryeh Gregor
594c362b60 Bug 1251198 - Remove various obsolete events from document.createEvent r=smaug
Other browsers do not support any of these (IIRC), telemetry reports
essentially zero usage, and supporting them is contrary to the DOM spec.

Notes on specific events:

CommandEvent and SimpleGestureEvent: These are not supposed to be
web-exposed APIs, so I hid the interfaces from web content too
(necessary to avoid test_all_synthetic_events.html failures).

DataContainerEvent: This was a non-standard substitute for CustomEvent
that seemed to have only one user, so I removed it entirely and switched
the user (MozillaFileLogger.js) to CustomEvent.

ScrollAreaEvent: This is entirely non-standard, but we apparently expose
it deliberately to web content, so I didn't see any reason to remove it
from createEvent.

SimpleGestureEvent and XULCommandEvent: Can still be created from
createEvent(), but not by content.

TimeEvent: This is still in because it has no constructor, so there's no
other way to create it.  Ideally we'd update the SMIL spec to add a
constructor.  I did remove TimeEvents.

MozReview-Commit-ID: 7Yi2oCl9SM2
2017-04-20 15:45:37 +03:00
Wes Kocher
f8d2845e66 Merge inbound to m-c a=merge
MozReview-Commit-ID: DQDuEiYLWCO
2017-04-20 15:30:43 -07:00
Edgar Chen
c6ae645e0b Bug 1357002 - Part 1: Cache "dom.webcomponents.customelements.enabled" preference; r=wchen
MozReview-Commit-ID: HMsvOmYJvjX
2017-04-07 18:48:16 +08:00
Carsten "Tomcat" Book
465ba009d4 Merge mozilla-central to autoland 2017-04-20 13:06:52 +02:00
cku
86fac31415 Bug 1357432 - Part 1. Move IsLocalRefURL to nsContentUtils to reuse this function. r=heycam
IsLocalRefURL is originally designed to be used by URLValue only. Since we need
this function in SVGUseElement::LookupHref too, move it to nsContentUtils as a
util function.

MozReview-Commit-ID: FDjWVbTfB0V
2017-04-18 23:35:56 +08:00
John Dai
7499544963 Bug 1347426 - Implement section-* for autocomplete attribute. r=smaug 2017-04-19 03:50:00 -04:00
Michael Layzell
9de4a15170 backout bug 1356277 due to failing test_localStorageSessionPrefOverride.html on try
I looked at the wrong try push before pushing this change to inbound. Backing it
out hopefully before it turns too many pushes orange.

MozReview-Commit-ID: 5cREsyfWrmb
2017-04-17 15:44:17 -04:00
Michael Layzell
0425193a55 Bug 1356277 - Part 1: Respect ALLOW_FIRST_PARTY_ONLY and LIMIT_THIRD_PARTY permissions in StorageAllowedFor*, r=ehsan
MozReview-Commit-ID: 7TQSFk7EGmk
2017-04-17 15:14:54 -04:00
Bill McCloskey
89b6d9b694 Bug 1350436 - Use nsIEventTarget instead of Dispatcher in netwerk code (r=mayhemer)
MozReview-Commit-ID: BM4r8icwMY5
2017-04-10 16:49:39 -07:00
Ehsan Akhgari
ce96faee8c Bug 1354643 - Part 3: Stop calling Preferences::GetBool() from nsINode::HasBoxQuadsSupport(); r=mystor 2017-04-08 18:40:31 -04:00
Ehsan Akhgari
137564bf67 Bug 1354643 - Part 1: Stop calling Preferences::GetBool() from nsDocument::IsElementAnimateEnabled(); r=mystor 2017-04-08 18:40:27 -04:00
Olli Pettay
7705130cb4 Bug 1352898, add a cache for nsMappedAttributes to reduce malloc/free and bind nsMappedAttributes always to nsHTMLStyleSheet if owner document has such, r=bz 2017-04-07 19:21:48 +03:00
Olli Pettay
0b50dde43c Bug 1353502 - nsContentUtils::RemoveScriptBlocker() shouldn't have diagnostic asserts since such show up in performance profiles, r=qDot 2017-04-06 12:08:14 +03:00
Olli Pettay
afc3412e08 Bug 1351303, add main thread only cache for nsIAtoms to speed up atomization, r=froydnj 2017-04-03 23:13:18 +03:00
Olli Pettay
c6c840deae Bug 1352687, try to recycle HTMLInputElement's nsTextEditorState, r=baku 2017-04-03 20:40:48 +03:00
Michael Layzell
59db5c3cbc Bug 1356277 - Part 3: Override both lifetimePolicy and behavior in all cookie permission branches, r=ehsan
Permissions should fully override the default behavior from preferences for
lifetimePolicy and cookie behavior. This is consistent with the previous
behaviour from before this bug was implemented.

MozReview-Commit-ID: 9FfOrN6XV6q
2017-04-19 17:07:07 -04:00
Michael Layzell
863a1ea4d4 Bug 1356277 - Part 1: Respect ALLOW_FIRST_PARTY_ONLY and LIMIT_THIRD_PARTY permissions in StorageAllowedFor*, r=ehsan
MozReview-Commit-ID: 7TQSFk7EGmk
2017-04-19 17:07:07 -04:00
Olli Pettay
45822311b7 Bug 1351860 - Move mType from HTMLInputElement to nsIFormControl and make GetType non-virtual inlined, r=jessica 2017-03-31 22:49:00 -04:00
Olli Pettay
694b05ce02 Backout Bug 1351860, r=backout 2017-03-31 16:55:32 -04:00
Olli Pettay
fa83f6684e Bug 1351860 - Move mType from HTMLInputElement to nsIFormControl and make GetType non-virtual inlined, r=jessica 2017-03-31 13:13:36 -04:00
Kyle Machulis
8b370d8b96 Bug 1351477 - Remove IsSWFPlayerEnabled function; r=bsmedberg
Since the Shumway project is dead, we no longer register a stream converter for flash files. We can remove this check, as it will always return false.

MozReview-Commit-ID: CzC7wYmWEFp
2017-03-28 14:56:20 -07:00
Tim Huang
9fcdb733a7 Bug 1330882 - Part 4: Making the window.open() can only open rounded windows and the inner window will be automatically rounded after setting size through innerWidth/Height and outerWidth/Height when fingerprinting resistance is enabled. r=smaug
This patch makes the size of inner windows will be automatically rounded for
either window.open() with window features or setting window size through
innerWidth/Height and outerWidth/Height when fingerprinting resistance is
enabled. If the given value is greater the maximum available rounded size, then
it will be set to the maximum value. Otherwise, the size will be set to the
nearest upper 200x100.

This patch also adds one helper function in nsContentUtils for calculating the
rounded window dimensions.

MozReview-Commit-ID: J2r3951vuNN
2017-03-29 15:43:56 +08:00
Tim Huang
40c2324476 Bug 1330882 - Part 1: Making new windows to be rounded size when fingerprinting resistance is enabled (adopt from Tor #19459). r=arthuredelstein,smaug
MozReview-Commit-ID: 1qBNQhfdIYP
2017-03-29 15:43:54 +08:00
Cervantes Yu
e3a1f82184 Bug 1349340 - Don't allocate an unrealistically huge buffer in getting the surface data for DnD. r=nical 2017-03-24 17:40:24 +08:00
Kershaw Chang
acf1c25201 Bug 1343750 - Part1: Add an API to get Dispatcher from nsILoadInfo, r=mayhemer 2017-03-23 23:31:00 +01:00
Samael Wang
53ab1d1336 Bug 1303838 - Switch to existing target tab when clicking links. r=smaug
Merge "DOMServiceWorkerFocusClient" & "DOMWebNotificationClicked"
to "DOMWindowFocus" event. Utilize the event to switch tab when
loading links to an existing target tab.

MozReview-Commit-ID: Hd1NkVkrJA1
2017-03-23 15:59:01 +08:00
Andrea Marchesini
8f5f953fba Bug 1343933 - Renaming Principal classes - part 2 - NullPrincipal, r=qdot 2017-03-22 11:38:40 +01:00
Michael Layzell
cb6f6964a5 Bug 1337056 - Part 7: Refactor nsObjectLoadingContent::GetTypeOfContent logic out into nsContentUtils, r=qdot
MozReview-Commit-ID: IJQNhQZzx3y
2017-03-21 11:08:03 -04:00
Cameron McCormack
0344da46e0 Bug 1330843 - Allow JS to create NAC pseudo-elements. r=bholley
MozReview-Commit-ID: 2aBPoCOsT6R
2017-03-17 15:30:34 +08:00
Andrea Marchesini
2f07689108 Bug 1344415 - Introduce a security check about which files can be opened by a content process, r=ehsan
Entries API gives access to the filesystem. With this patch we allow that only
to patches, previously shared by a FilePicker or a DataTransfer event.
2017-03-16 08:53:49 +01:00
Sebastian Hengst
454a87a278 Backed out changeset cca9db8d2256 (bug 1337056) 2017-03-15 00:46:11 +01:00
Michael Layzell
5eacc7eb9b Bug 1337056 - Part 7: Refactor nsObjectLoadingContent::GetTypeOfContent logic out into nsContentUtils, r=qdot
MozReview-Commit-ID: IJQNhQZzx3y
2017-03-14 14:56:08 -04:00