Commit Graph

1297 Commits

Author SHA1 Message Date
Kris Maglione
56d0af138e Bug 1403348: Part 3 - Support plain XPC Exceptions in ExtractErrorValues. r=baku
MozReview-Commit-ID: LrnE82vHjK
2017-11-09 12:32:15 -08:00
Nika Layzell
5d2b3a7e28 Bug 1414974 - Part 3: Move Get{Inner,Outer}WindowWithId onto the specific subclasses, r=smaug
These were originally exposed directly as static methods on nsGlobalWindow, but
as they are clearly associated with either the inner or outer window, it makes
more sense for them to be called as such.

MozReview-Commit-ID: LFq8EfnhDlo
2017-11-09 10:44:47 -05:00
Nika Layzell
d8c117bc28 Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.

MozReview-Commit-ID: 99648Lm46T5
2017-11-09 10:44:47 -05:00
Bevis Tseng
48f2387039 Bug 1409985 - Don't fire DOMEvent during StableState. r=smaug 2017-10-19 18:20:31 +08:00
Emilio Cobos Álvarez
cf5ec03009 Bug 1411612: Kill nsINode::eCONTENT. r=bz
MozReview-Commit-ID: ESlOqlwhcHI
2017-10-25 17:19:11 +02:00
Emilio Cobos Álvarez
be07c8b3d4 Bug 1410895: Multiple cleanups on top. r=bz
MozReview-Commit-ID: GX3dfmWL083
2017-10-23 16:06:50 +02:00
Yoshi Huang
5664871e42 Bug 1407498 - Don't query loadingprincipal in common case. r=baku
We queried 'loadingprincipal' attribute on the common call path, however
this should be queried if it's loaded by System Principal.

Also rename loadingprincipal to triggeringprincipal
2017-10-24 10:13:31 +08:00
Sebastian Hengst
85a417c111 merge mozilla-central to autoland. r=merge a=merge 2017-10-17 23:54:52 +02:00
Milan Sreckovic
35f2b01403 Bug 1406664: Wallpaper over doc shell GetChildAt returning a failure/null item. Unclear when that would happen, but GetChildAt does have an error return, this handles it. There are very few crashes with this signature, and this just stops the null pointer crash. r=catalinb
MozReview-Commit-ID: 57Bs9ihIpAW
2017-10-16 14:13:13 -04:00
Xidorn Quan
7f2b01ffd0 Bug 1407843 part 1 - Introduce a global-level AtomArray type alias. r=froydnj
MozReview-Commit-ID: DbGkWxkPfX7
2017-10-13 11:59:23 +11:00
Kris Maglione
7b017c97d6 Bug 1407056: Part 1 - Provide more consistent principal/origin URL to content policies. r=bz,ckerschb
We're currently fairly vague and inconsistent about the values we provide to
content policy implementations for requestOrigin and requestPrincipal. In some
cases they're the triggering principal, sometimes the loading principal,
sometimes the channel principal.

Our existing content policy implementations which require or expect a loading
principal currently retrieve it from the context node. Since no current
callers require the principal to be the loading principal, and some already
expect it to be the triggering principal (which there's currently no other way
to retrieve), I chose to pass the triggering principal whenever possible, but
use the loading principal to determine the origin URL.

As a follow-up, I'd like to change the nsIContentPolicy interface to
explicitly receive loading and triggering principals, or possibly just
LoadInfo instances, rather than poorly-defined request
origin/principal/context args. But since that may cause trouble for
comm-central, I'd rather not do it as part of this bug.

MozReview-Commit-ID: LqD9GxdzMte
2017-10-12 15:43:55 -07:00
Kris Maglione
ae7452e40e Bug 1406278: Part 2b - Use subject principal as triggering principal in <img> "src" attribute. r=bz
MozReview-Commit-ID: DrblTjP99WJ
2017-10-02 20:28:32 -07:00
Nicholas Nethercote
7dbfdaf890 Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP
2017-10-03 09:05:19 +11:00
Yoshi Huang
c18a85b609 Bug 1405195 - Prevent content to specify loadingprincipal on the node. r=baku
This is a follow-up for bug 1376971, bail out early if the node is
loaded by content.

This is to prevent content side could specify arbitrary principal on the
node. Originally bug 1376971 added a MOZ_ASSERT for this, but it's an
no-op in opt build.
2017-10-05 19:45:54 -04:00
Olli Pettay
8032dc8d09 Bug 1405821 - Move microtask handling to CycleCollectedJSContext, r=baku 2017-10-05 18:34:12 +03:00
Valentin Gosu
7a72de7108 Bug 1403926 - Add pref for PerformanceNavigationTiming r=baku
MozReview-Commit-ID: 9f6fcCk8mh
2017-10-04 02:48:33 +02:00
Nika Layzell
5427e78468 Bug 1399626 - Part 3: Add a variant of ComparePoints to nsContentUtils which takes RangeBoundaries, r=masayuki
This is a temporary implementation, which will hopefully be fleshed out in the
future to not require calling the `Offset()` methods. Currently it just
dispatches to the existing implementation using Container() and Offset().

MozReview-Commit-ID: 9Zssbhzrnz3
2017-10-02 11:57:59 -04:00
John Dai
60db6a6216 Bug 1121994 - Implement adopted callback for custom elements. r=smaug 2017-10-02 00:42:00 -04:00
Gabor Krizsanits
056563e620 Bug 1404383 - Delay nsStringBundle preloading in content processes. r=smaug
Early in the startup the channel creation might fail,
in nsStringBundle load and any further attempts are prevented which
leads to broken ocaization support for the process. Let's wait until
the child process learns about the chrome URLs registered on the parent
side with the preloads.
2017-09-29 17:54:06 +02:00
Xidorn Quan
89a8ef8224 Bug 1403024 part 1 - Add nsContentUtils::SchemeIs helper function. r=bholley
MozReview-Commit-ID: 2NVc5QJSjl
2017-09-26 10:21:01 +10:00
Wes Kocher
cbba752608 Merge inbound to m-c a=merge CLOSED TREE
MozReview-Commit-ID: 3pMHYV9oXLm
2017-09-27 16:51:49 -07:00
Jonathan Watt
e865f4b12e Bug 1403345, part 3 - Move nsReferencedElement.h/.cpp to IDTracker.h/.cpp. r=longsonr
MozReview-Commit-ID: Ki6oS79xuhJ
2017-09-08 10:02:05 +01:00
Sebastian Hengst
6b9ce43564 Backed out changeset 59252e3229f1 (bug 1403345) 2017-09-27 10:43:54 +02:00
Jonathan Watt
fbd8ccd4c1 Bug 1403345, part 2 - Move nsReferencedElement.h/.cpp to IDTracker.h/.cpp. r=longsonr
MozReview-Commit-ID: 7yiAaKnXhCq
2017-09-05 10:45:18 +01:00
Nicholas Nethercote
9fda5528d2 Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ
2017-09-26 08:33:21 +10:00
Jessica Jong
01630916ea Bug 1334043 - Part 2: Make nsContentUtils::EnqueueLifecycleCallback static. r=smaug
We make nsContentUtils::EnqueueLifecycleCallback static so that it can be
called without a window object. To achive this, we also make
CustomElementReaction not taking a CustomElementRegistry in the constructor,
as it can call Upgrade statically.

MozReview-Commit-ID: 7xUvK0q7Eri
2017-09-26 13:56:00 +08:00
Yoshi Huang
1a9fd022da Bug 1376971 - Part 2: add GetLoadingPrincipalForXULNode. r=baku
Refactor GetContentPolicyTypeForUIImageLoading to have another function
called GetLoadingPrincipalForXULNode.
2017-09-26 12:41:19 +08:00
Jessica Jong
cb73432f22 Bug 1392970 - Part 2: Get CustomElementDefinition from CustomElementData when possible. r=smaug
MozReview-Commit-ID: L6DCtGXBesX
2017-09-25 02:47:00 -04:00
Olli Pettay
98580ecdff Bug 1396584 - Remove support for multiple ShadowRoots, r=mrbkap 2017-09-25 18:09:26 +03:00
John Dai
3453622848 Bug 1301024 - Part 2: Implement create an element steps. r=smaug 2017-09-25 01:33:00 -04:00
Chris Peterson
e4f856dfc4 Bug 870698 - Part 11: Replace Insert(NS_LITERAL_STRING("")) with InsertLiteral(u""). r=erahm
The NS_LITERAL_STRING macro creates a temporary nsLiteralString to encapsulate the char16_t string literal and its length, but AssignLiteral() can determine the char16_t string literal's length at compile-time without nsLiteralString.

MozReview-Commit-ID: L9UE3gXHG4Q
2017-09-07 18:08:18 -07:00
Chris Peterson
0a61b3fb68 Bug 870698 - Part 10: Replace Append(NS_LITERAL_STRING("")) with AppendLiteral(u""). r=erahm
The NS_LITERAL_STRING macro creates a temporary nsLiteralString to encapsulate the char16_t string literal and its length, but AssignLiteral() can determine the char16_t string literal's length at compile-time without nsLiteralString.

MozReview-Commit-ID: H9I6vNDMdIr
2017-09-07 18:32:54 -07:00
Andrea Marchesini
385a35ebae Bug 1398733 - nsILinkHandler::OnLinkClick and OnLinkClickSync should know the post data inputStream length, r=smaug 2017-09-22 08:11:18 +02:00
Kershaw Chang
c4c64cf6ee Bug 1247843 - Part 3: Set request context ID to the http channel created in imgLoader::LoadImage. r=baku
In order to let necko postpone the load of favicon, we have to set request context ID to the http channel that is created to load favicon.
This patch starts with passing a request context ID to nsContentUtils::LoadImage and makes other necessary changes to set the request context ID to the channel.
2017-09-20 20:09:00 -04:00
Ben Kelly
f5bc2bd861 Bug 1336364 P6 Ensure that we don't control a document if its window cannot access storage. r=asuth 2017-09-20 09:24:07 -07:00
Josh Matthews
64ccd9b6c6 Bug 1397971 - Share strings in URLDataValue with Rust. r=heycam 2017-09-15 13:11:37 -07:00
Olli Pettay
89a43da498 Bug 1398605, keep nsContentList objects alive for awhile when generating state keys so that new objects don't need to be created all the time, r=ehsan 2017-09-14 21:56:58 +03:00
Nicholas Nethercote
038eda3f17 Bug 1395828 (part 4) - Remove nsIParserService/nsParserService. r=mrbkap.
It a stateless wrapper around static methods in nsHTMLTags and nsHTMLElement,
and hence an unnecessary layer of indirection that just adds complexity and
slowness. This patch removes it, cutting almost 300 lines of code.

This requires making nsElementTable.h an exported header, to expose the
nsHTMLElement methods.
2017-09-05 20:19:06 +10:00
Jason Orendorff
6e13ccbfc0 Bug 1363200 - JSAPI for realms: Change a few XPConnect methods to take Realm arguments instead of JSCompartments. r=mrbkap
This also introduces JS::GetObjectRealmOrNull, which returns an object's realm,
or null if the object is a cross-compartment wrapper. In the new order,
wrappers can't have realms, since they must be shared across all realms in a
compartment. We're introducing this new function early (even though it's
*currently* possible to assign a realm to wrappers) in order to see in
advance if the possibility of returning null will cause problems.
(It looks like it won't.)
2017-06-28 12:31:53 -07:00
Jason Orendorff
ee5e51120c Bug 1363200 - JSAPI for realms: Move mIsContentXBLScope to the CompartmentPrivate. r=mrbkap
In the new order, it will be a compartment-level bit rather than a
realm-level bit, so it does not belong on the Scope.
2017-07-12 15:00:47 -05:00
Kris Maglione
fd54e6524a Bug 1396449: Part 2 - Use atoms to test WebExtension permissions. r=krizsa
The extension policy services uses atoms internally for permission names, so
using them directly rather than strings is considerably cheaper.

MozReview-Commit-ID: Io8EuOXHKVy
2017-09-03 18:51:02 -07:00
Adam Gashlin
ecb8a10074 Bug 1404385 - Don't copy if not needed for whitespace removal. r=smaug 2017-10-13 16:04:46 -07:00
Sebastian Hengst
aad3070d44 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: ES9rKhiQo10
2017-09-01 10:38:51 +02:00
Honza Bambas
a90d5297b3 Bug 1395525 - Make all changes landed as part of tracker request tailing preferrable. r=dragana 2017-08-31 06:07:00 -04:00
Ehsan Akhgari
83e0cc2090 Bug 1395442 - Remove nsHTMLDocument::mFormControls because it's never set; r=smaug 2017-08-31 12:41:04 -04:00
Alexandre Poirot
d816033b34 Bug 1382377 - Make Console API be a no-op until DevTools are opened at least once. r=baku,jdescottes
MozReview-Commit-ID: 4xuzRQKH3Vg
2017-08-08 16:29:34 +02:00
Ehsan Akhgari
f27510b859 Bug 1392891 - Part 3: Avoid creating live nsContentList objects in nsContentUtils::GenerateStateKey(); r=smaug 2017-08-29 07:30:26 -04:00
Sebastian Hengst
3ce355b1c5 merge mozilla-central zo mouilla-inbound. r=merge a=merge on a CLOSED TREE 2017-08-28 17:10:37 +02:00
Jessica Jong
db69ab73df Bug 1334051 - Part 2: Invoke attributeChangedCallback only if attribute name is in the observed attribute list. f=jdai, r=smaug
We call attributeChangedCallback in two cases:
1. When any of the attributes in the observed attribute list has changed,
   appended, removed, or replaced.
2. When upgrading an element, for each attribute in element's attribute list
   that is in the observed attribute list.

MozReview-Commit-ID: LKUY5ibp9RI
* * *
Bug 1334051 - Part 3: Optimize attributeChanged callbacks. r=smaug
2017-08-27 23:25:00 -04:00
Bobby Holley
c2ce4d2e27 Bug 1393791 - Stop unbinding native-anonymous content off a script runner. r=emilio
The failure mode in the attached crashtest is an inconsistency in the flattened
tree. Specifically, we null out mVideoControls in an nsVideoFrame, but defer
the UnbindFromTree call on that NAC element, which measn that its mParent still
points to the nsVideoFrame's mContent. Because all this stuff runs off of script
runners, and the anonymous content destroyer is not guaranteed to run before
other potential script runners, we end up running arbitrary script while the
tree mismatch exists. This script calls back into ProcessPendingRestyles, which
causes trouble.

We could build a separate deferral mechanism, but it's not clear that we actually
need to defer the unbind anymore. The deferred unbind was added in bug 489008,
which predated a lot of simplifications in layout/dom interaction.

MozReview-Commit-ID: 1JYAhiXKVJC
2017-08-27 15:29:36 -07:00