Commit Graph

603 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
74b31155f7 Bug 1423167: Move most attribute-related methods from nsIContent to Element. r=bz
MozReview-Commit-ID: 6WXqNiODttD
2017-12-06 16:05:59 +01:00
Emilio Cobos Álvarez
f14389a065 Bug 1422654: stylo: Avoid restyling XBL-bound element if the binding doesn't have stylesheets. r=heycam
MozReview-Commit-ID: An2McUbpCLk

--HG--
extra : rebase_source : 1c869057d032773fbfd426d6f392cc936c81029c
2017-12-04 02:47:54 +01:00
Brindusan Cristian
9f3bd430c2 Merge inbound to mozilla-central a=merge r=merge 2017-11-28 11:50:57 +02:00
Dave Townsend
27380b996e Bug 1404420: Add custom element support to XUL. r=edgar, r=smaug
MozReview-Commit-ID: BietEX2gOoG

--HG--
extra : rebase_source : 6fd9a732a21f2c048d37c3f7139cd18503148767
2017-10-10 15:25:10 -07:00
Emilio Cobos Álvarez
0b063ef01a Bug 1420496: Bring back the optimization to avoid traversing XBL subtrees that will likely change. r=heycam
We need to get rid of BindingHolder to handle properly the case of an invalid
binding URL.

MozReview-Commit-ID: 3sIGtcVOt0r

--HG--
extra : rebase_source : a56cebc74ff5f3102ee8ef6d048ad05056fbef41
2017-11-24 15:15:38 +01:00
Cosmin Sabou
fdc83a94aa Merge inbound to mozilla-central r=merge a=merge 2017-11-21 00:01:02 +02:00
Jon Coppeard
a06421a289 Bug 1417123 - Remove or replace inclusion of js/GCAPI.h r=mccr8 2017-11-16 12:21:08 +00:00
Emilio Cobos Álvarez
2d847bd8de Bug 1418456: followup: undo last-minute cleanup that busts the build. r=me
MozReview-Commit-ID: LmIeW4SMz7B
2017-11-20 13:07:53 +01:00
Emilio Cobos Álvarez
6de5cb4bf8 Bug 1418456: Get rid of unstyled children only traversals. r=heycam
They're useless now, provided we remove the hack to not traverse XBL-bound
elements on initial styling.

This also allows us to get rid of the fallback case.

MozReview-Commit-ID: AvBVdyF1wb6
2017-11-20 13:05:35 +01:00
Emilio Cobos Álvarez
eb59f99b5c Bug 1418456: Remove the last call to StyleNewlyBoundElement. r=heycam
If the element has no data, it's pointless to reconstruct frames on it, or post
a reconstruct. There's no need to particularly force to have data in this case.

MozReview-Commit-ID: Lo24XQfLN0j
2017-11-20 13:05:28 +01:00
Emilio Cobos Álvarez
3d003a48ea Bug 1418456: Clear subtree element data when applying an XBL binding. r=heycam
We not only need to care about children getting inserted in the flat tree, but
also about children moving _out_ of the flat tree.

In particular, as of right now we may leave stale data on elements when they
disappear from the flattened tree.

We're lucky enough that in 99% of the situations we enter in[1] and that clears
all the stuff, including servo data. But my assertions for bug 1414999 caught
the template / observes case.

Thus, just clear the whole bound element subtree data, and restyle it in the
end, no need for StyleNewChildren. This matches what we do for shadow DOM
(though in the shadow DOM case we do it async in DestroyFramesForAndRestyle).

[1]: https://searchfox.org/mozilla-central/rev/9bab9dc5a9472e3c163ab279847d2249322c206e/dom/xbl/nsXBLBinding.cpp#368

MozReview-Commit-ID: 69A0aR0AFfU
2017-11-20 13:02:24 +01:00
Jan de Mooij
7f30bf48a7 Bug 1417844 part 2 - Remove JSVersion from CompileOptions, CompartmentBehaviors, scripts. r=evilpie 2017-11-17 12:12:39 +01:00
Csoregi Natalia
635fe8c86f Backed out 4 changesets (bug 1417123) for failing Spidermonkey builds js/src/jspubtd.h:100 r=backout
Backed out changeset 5af31f9f6bb5 (bug 1417123)
Backed out changeset f287a77b84c2 (bug 1417123)
Backed out changeset 57be86412a37 (bug 1417123)
Backed out changeset 14a6856d7361 (bug 1417123)
2017-11-16 15:05:54 +02:00
Jon Coppeard
853c90510c Bug 1417123 - Remove or replace inclusion of js/GCAPI.h r=mccr8 2017-11-16 12:21:08 +00:00
Neil Deakin
695749c30c Bug 380637, move reserved key checking into ContentUtils so that it can be shared with menu accesskey checks , r=felipe 2017-11-09 18:42:39 -05:00
Neil Deakin
ee8929c13f Bug 380637, add site-specific permissions to prevent pages from overriding keyboard shortcuts. This is done by preventing the key combination from being sent to the content page, r=felipe
Users can block the overriding of shortcuts using the permissions tab of the page info dialog, as with other permissions. Site permissions also allows the use of permissions.default.shortcuts to block overriding shortcuts for all sites.
2017-11-09 18:42:39 -05:00
Neil Deakin
9bd9459ef2 Bug 380637, add a general preference to prevent pages from overriding keyboard shortcuts. If a key doesn't specify the reserved attribute, this preference will be used, r=felipe 2017-11-09 18:42:39 -05:00
Mats Palmgren
ac0c539c86 Bug 1400618 part 4 - Destroy frames before calling nsXBLBinding::ChangeDocument in a few places. r=bz
nsXBLBinding::ChangeDocument calls UnbindAnonymousContent
which calls UnbindFromTree on the content so any frames must be
destroyed before that to maintain the invariant that frames are
destroyed before unbinding.

MozReview-Commit-ID: 8Icj7zqpuZS
2017-11-07 01:20:34 +01:00
Sebastian Hengst
8ed1012b46 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-11-01 22:57:02 +01:00
Kyle Machulis
be815f3caf Bug 1412437 - Remove nsIDOMHTMLTextAreaElement; r=bz
MozReview-Commit-ID: JAON7Rd7IAo
2017-11-01 14:28:22 -07:00
Cameron McCormack
bb8b504d27 Bug 1390694 - Part 3: Add nsBindingManager function to check for document state dependencies. r=emilio
MozReview-Commit-ID: Aw04MrVHyIz

--HG--
extra : rebase_source : f771131fd9c5ed137e111421adf81f12e3870b31
extra : source : eb47388be721c8d7b5b7604ea7c952e6bc2e8106
2017-11-01 21:20:39 +11:00
Cameron McCormack
4f08e9772a Bug 1390694 - Part 2: Allow EnumerateBoundContentBindings callbacks to stop enumeration. r=emilio
MozReview-Commit-ID: 25ZxscIi7T5

--HG--
extra : rebase_source : 64e9ff5cd35defd3bb8f5f13f6b2fe7623418f3e
extra : source : b43ed8551cea5bf8fb86c94499810dcd458c8672
2017-11-01 21:20:39 +11:00
Phil Ringnalda
4700232b13 Backed out changeset 83a7ad25941e (bug 1412437) for robocop testAccessibleCarets bustage
CLOSED TREE

MozReview-Commit-ID: Lg1GSdLDyin
2017-10-31 20:07:15 -07:00
Kyle Machulis
41f2111481 Bug 1412437 - Remove nsIDOMHTMLTextAreaElement r=bz
MozReview-Commit-ID: JAON7Rd7IAo

--HG--
extra : rebase_source : 7bdc51676a4a834f1736b0c5f269bc26ca94e610
2017-10-30 16:14:51 -07:00
Emilio Cobos Álvarez
4deb3bee3b Bug 1411754: Rename PresShell::DestroyFramesFor to DestroyFramesForAndRestyle. r=mats
I'm drive-by removing the comment about the frame tree state because I looked
into it, and the answer is: we properly restore it.

The gotcha is that we retain it too much, indeed, we retain it enough that it
can leak. See bug 1397239.

MozReview-Commit-ID: LP6bXkduEZ4

--HG--
extra : rebase_source : f7e18fc35e48b75c07fcc84b939614d379926828
2017-10-25 23:12:25 +02:00
Emilio Cobos Álvarez
273bc65bb1 Bug 1410895: Make XBL slots hold the insertion point, not the XBL parent. r=bz
This is pretty much a straight-forward change except for a single thing, the
UpdateInsertionParent calls.

However, I cannot make any sense of them. They go through the inserted children
setting the insertion point, but then ClearInsertionPoints() is called.

ClearInsertionPoints calls XBLChildrenElement::ClearInsertedChildren, which sets
all the insertion points to null anyway.

Thus, I've removed that function completely.

MozReview-Commit-ID: 80daGQfLZrV

--HG--
extra : rebase_source : d52a37a60147ac11794c3cfe1aad5d202e9d2d9f
2017-10-23 15:52:08 +02:00
Attila Craciun
03687d95f5 Backed out 4 changesets (bug 1390694) for failing crash test and in reftest/tests/layout/reftests/xul/mac-tab-toolbar.xul r=backout on a CLOSED TREE.
Backed out changeset b9cff3469bfd (bug 1390694)
Backed out changeset e13dd2a3651f (bug 1390694)
Backed out changeset 83ff9e245757 (bug 1390694)
Backed out changeset 484a2644318f (bug 1390694)
2017-10-20 14:49:52 +03:00
Cameron McCormack
0a31e73ee0 Bug 1390694 - Part 3: Add nsBindingManager function to check for document state dependencies. r=emilio
MozReview-Commit-ID: Aw04MrVHyIz

--HG--
extra : rebase_source : dd1e15f0589ec532111711e14348c6d2ee590314
2017-10-18 17:26:41 +08:00
Cameron McCormack
2ceac13254 Bug 1390694 - Part 2: Allow EnumerateBoundContentBindings callbacks to stop enumeration. r=emilio
MozReview-Commit-ID: 25ZxscIi7T5

--HG--
extra : rebase_source : c0c45eba2d3375be98451cd9e627939e819791a2
2017-10-18 17:15:19 +08:00
Andrea Marchesini
6626e900f9 Bug 1409327 - NS_NewBufferedInputStream should take the ownership of the inputStream, r=smaug 2017-10-19 11:39:30 +02:00
Emilio Cobos Álvarez
0e037f3704 Bug 1409079: followup: Skip test also in release and add shell null-check. r=me
MozReview-Commit-ID: G2KA2eNyrH0
2017-10-17 20:02:04 +02:00
Sebastian Hengst
0fde5cb6b5 merge mozilla-central to autoland. r=merge a=merge 2017-10-17 11:46:52 +02:00
Emilio Cobos Álvarez
96a521052e Bug 1409078: Don't assume Gecko style backend on nsXBLPrototypeResources::FlushSkinSheets. r=heycam
MozReview-Commit-ID: 6ghFwpNhv6Z

--HG--
extra : rebase_source : b45c2aa3dd17019439c42ae46ffacd2b082ac7a5
2017-10-16 18:42:04 +02:00
Kris Maglione
60d080b412 Bug 1404198: Part 2i - Switch to NS_NewTimer* in dom. r=njn
MozReview-Commit-ID: 8Oei6TuXNbu

--HG--
extra : rebase_source : 31c583c699790cbcf302064146d313ee8126ef0c
2017-10-15 23:15:40 -07:00
Nicholas Nethercote
d225f7151b 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

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Catalin Badea
f8162c4bfd Bug 651120 - Remove index argument from content removed/appended/inserted notifications. r=peterv 2017-10-03 11:09:08 +01:00
Nicholas Nethercote
dfd3b7e7aa 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

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
Jan de Mooij
dbca189324 Bug 1153592 part 2 - Remove JSPROP_SHARED; ensure accessor props don't have slots. r=evilpie 2017-09-26 12:26:50 +02:00
Kershaw Chang
53cf0a2a8e 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
Jason Orendorff
ddaf859c55 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.)

--HG--
extra : rebase_source : e55ebbbc4edf2a18ce267198928246592060e339
extra : source : d6bfce1187aa13dbfab03f9566ff7b05b6705e70
2017-06-28 12:31:53 -07:00
Boris Zbarsky
f23f66c56c Bug 1393806 part 1. Change nsNodeUtils cloning/adopting stuff to use an ErrorResult for errors. r=peterv
This will allow us to propagate out more informative errors in some cases.

MozReview-Commit-ID: 9FbzV5VRMqN
2017-09-13 13:34:55 -04:00
Emilio Cobos Álvarez
37df721a48 Bug 1397983: Synchronously bind/unbind XBL anonymous content from the bound content's Bind/UnbindFromTree. r=smaug
Doing it off a runnable makes the flattened tree inconsistent until that
runnable runs.

Also add an assert in frame construction that would've caught the first
only-unbind patch.

MozReview-Commit-ID: Hnua3aWSMHi

--HG--
extra : rebase_source : 2781e3b0a3f28b6b6a620902e7414dfe682fba51
2017-09-08 14:59:04 +02:00
Emilio Cobos Álvarez
82a163baff Bug 1397983: Rename nsXBLBinding::{Install,Uninstall}AnonymousContent to {Bind,Unbind}AnonymousContent. r=smaug
MozReview-Commit-ID: LZCjwiNtMYZ

--HG--
extra : rebase_source : 2e5f2d65f876d34c8ad97af6530b79e82cf94a30
2017-09-11 13:11:01 +02:00
Masayuki Nakano
4ce89d8f61 Bug 1369072 - part3: nsXBLPrototypeHandler::DispatchXBLCommand() should use controller of visible window r=smaug
With previous change, KeyboardEvent is dispatched even when invisible window
has focus.  However, nsRootWindow::GetControllerForCommand() returns controller
for focused window even when the window is invisible because it uses
nsFocusManager::GetFocusedDescendant() to retrieve focused window.

Perhaps, we can assume that users won't expect to do something with invisible
window when they type some keys.  Then, nsRootWindow::GetControllerForCommand()
should return controller for visible ancestor window if focused window is
invisible.

This patch makes nsFocusManager::GetFocusedDescendant() can return only visible
descendants.  However, it already has a bool argument.  Therefore, it should
have a flag instead of adding new flag.  Most changes of this patch is replacing
its callers.

Then, nsRootWindow::GetControllerForCommand() and nsRootWindow::GetControllers()
should have a bool flag if it should return controller(s) for visible window.
This patch adds a bool flag for it.  Fortunately, the interface isn't scriptable.

Finally, this patch makes nsXBLPrototypeHandler::DispatchXBLCommand() and
EventStateManager::DoContentCommandEvent() retrieve controller for visible
window since they are always handles user input.

MozReview-Commit-ID: GygttTHuKRm

--HG--
extra : rebase_source : 1341273c4606298cb9b890b9312d9f5c8a75d144
2017-09-07 22:54:49 +09:00
Andrew McCreight
e8ec349629 Bug 1390660, part 1 - Clean up some uses of the table-to-map segue. r=peterv
In a number of places, there's no substantial use of maps any more
after the segue.

The ELEMENT segue tries the FragmentOrElement QI, but that is
redundant with the Element QI.

This lets me use a few higher-level macros.

MozReview-Commit-ID: Gstq3Cm8LDl

--HG--
extra : rebase_source : f0c7dbf5281ce7375b1369b49db095a211569d6c
2017-08-16 13:37:20 -07:00
Ting-Yu Lin
748cb71860 Bug 1396700 - Add a method to ServoStyleSet for creating XBL style set. r=xidorn
The motivation of this patch is that clearing mPresContext should be an
implementation detail of XBL style set, so I create a method for that, and
remove ClearPresContext().

MozReview-Commit-ID: Ftta0rcAqu6

--HG--
extra : rebase_source : 0bdb1ac3e2c988e5a0220172f19ab4b006e883d7
2017-09-01 16:45:39 +08:00
Ting-Yu Lin
3b33ba27fb Bug 1382078 Part 4 - Avoid unneeded restyle when XBL styleset is utilized by different PresContext. r=emilio
This fixed layout/style/test/test_media_queries_dynamic.html after Part 3 is added.

MozReview-Commit-ID: 7ZpSunCnkIc

--HG--
extra : rebase_source : 6acab11ba784b801b90afc0558c32baabcc3f271
2017-09-04 17:57:00 +08:00
Ting-Yu Lin
b6d71d0740 Bug 1382078 Part 3 - Support media changes for XBL stylesheets. r=emilio
MozReview-Commit-ID: EJp8EMyanBT

--HG--
extra : rebase_source : 0ea61ea1f649548158fa600e5e11190631ce447f
2017-09-02 15:25:45 +08:00
Ting-Yu Lin
a61a1227e9 Bug 1382078 Part 2 - Make nsBindingManager::MediumFeaturesChanged() return bool directly. r=emilio
The method always returns NS_OK, and no other caller checks the nsresult.
Hence the patch.

MozReview-Commit-ID: CnYCZ8VchG

--HG--
extra : rebase_source : 8626332e2774c1d6f42c7afa5e9679091a3aeaa2
2017-08-30 15:22:31 +08:00
Ting-Yu Lin
f62ed82f17 Bug 1382078 Part 1 - Add method to nsBindingManager to iterate all bound contents. r=emilio
MozReview-Commit-ID: H00b3pGNC8V

--HG--
extra : rebase_source : 3c950d3b11bf9bdf87488057943c38ecb918214d
2017-08-28 17:47:55 +08:00