Commit graph

362 commits

Author SHA1 Message Date
Bobby Holley
7271339b1e Bug 1392863 - Clean up bit clearing. r=emilio
MozReview-Commit-ID: HQm3wtBtWqT
2017-08-26 12:28:28 -07:00
Bobby Holley
7c69e2610d Bug 1392863 - Eliminate PropagateBitsFromParent. r=emilio
MozReview-Commit-ID: 8rs1mNHMJua
2017-08-26 12:28:26 -07:00
Nicholas Nethercote
f2751f3072 Bug 1393636 (part 4) - Move ComputedValues measurements from nsStyleSizes to nsWindowSizes. r=heycam.
Another plumbing-only change, which is a precursor for the next patch.
ComputedValues are a Servo-only thing, so in order to use nsStyleSizes for both
Gecko and Servo, the ComputedValues sizes must be moved out.

MozReview-Commit-ID: BOnQSzzV0vC

--HG--
extra : rebase_source : 025c6161e509401a36525349083dd98bfda35621
2017-08-25 14:50:26 +10:00
Nicholas Nethercote
7e120ce35e Bug 1393636 (part 3) - Pass nsWindowSizes to more AddSizeOf*() functions. r=heycam.
This is a purely non-functional plumbing change. Instead of passing a
SizeOfState and an nsStyleSizes a bunch of places, we pass an nsWindowSizes,
which contains both of them.

This is a necessary precursor for the next patch.

MozReview-Commit-ID: Ek03wDM50rB

--HG--
extra : rebase_source : 7b05708bd21dc4e3812ea041647fa74bb413d0b9
2017-08-25 14:47:54 +10:00
Emilio Cobos Álvarez
1e6e97fed1 Bug 1389743: Only reconstruct frames synchronously from ContentRemoved when called from frame construction. r=mats
There's only one case of sync frame construction from ContentRemoved now, and
it's not on the element being removed, but on the whitespace siblings if needed,
and _only_ when they don't support lazy frame construction.

Basically, this switches all the RecreateFramesForContent calls to use
`aAsyncInsert` (which I changed to an enum class for readability), except when
we're already reframing.

Also, it switches ReframeTextIfNeeded to opt-in into lazy frame construction,
since it's used only when aFlags == CONTENT_REMOVED.

This allows to simplify the DestroyFramesFor API (which I'm happy to rename to
something more meaningful, since now it's something like
DestroyFramesForAndRecreateThemAsync), and do some other consistency cleanups.

A bunch of the ContentRemoved callsites were pretty random at passing
aAsyncInsert, and that was some kind of a mess. This patch ensures consistency,
and makes it impossible to do O(n^2) work when removing DOM nodes, which is
nice.

The underlying reason for this is explained in the description of bug 1377848,
and basically allows us to remove a bunch of Servo hacks on the longer term (a
few of them are going away already, yay!).

MozReview-Commit-ID: 2DrUTxGV8RX

--HG--
extra : rebase_source : f428d839a5482477dea22c0fea600d54f3e8799c
2017-08-23 09:58:57 +02:00
Bobby Holley
7210bd7226 Bug 1383332 - Track the restyle root and use it to do less work during the traversal. r=emilio
MozReview-Commit-ID: A8O3JOpsv4E
2017-08-22 21:19:24 -07:00
Nicholas Nethercote
ac72ddb583 Bug 1390760 - Measure ServoComputedData::visited_style. r=bholley.
For the Obama wikipedia page, this covers about 85% of the unmeasured
ComputedValues structs. The about:memory output looks like this:

> +---2,443,648 B (02.41%) -- computed-values
> |   +--1,088,272 B (01.07%) -- dom
> |   +----945,744 B (00.93%) -- non-dom
> |   +----409,632 B (00.40%) -- visited

I'm not sure why some CVs are still being missed.

MozReview-Commit-ID: 1bYWwSi4ihn

--HG--
extra : rebase_source : 14e4bd36a54bbbd8fd265f559704bec5a5e3b154
2017-08-21 16:07:16 +10:00
Henri Sivonen
2607c163b1 Bug 1375701 - Atomize class attribute value in the parser in the innerHTML case. r=Ehsan
MozReview-Commit-ID: CKyGlzYS15e

--HG--
extra : rebase_source : 9ece88d9c85d98665413a7f9d730d7ff149d8486
2017-08-11 09:22:57 +03:00
Sebastian Hengst
14cf46a41a Backed out changeset fabf345eec6e (bug 1375701) for bustage at parser/html/nsHtml5String.h:143:3: bad implicit conversion constructor for 'nsHtml5String'. r=backout on a CLOSED TREE 2017-08-15 16:28:10 +02:00
Henri Sivonen
6815b2d2c7 Bug 1375701 - Atomize class attribute value in the parser in the innerHTML case. r=Ehsan
MozReview-Commit-ID: CKyGlzYS15e

--HG--
extra : rebase_source : a66d3d1659aec509c50f3ca641c0eb1d87151104
2017-08-11 09:22:57 +03:00
Milan Sreckovic
8ad3e52a49 Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in dom/*. r=overholt
MozReview-Commit-ID: B9YWmM3C1oX

--HG--
extra : rebase_source : d7c27de968295ee13ece8bda23798cb215d60a4b
2017-08-14 08:30:10 -04:00
Nicholas Nethercote
57c26c9834 Bug 1387956 - Overhaul ComputedValues measurement, and add style structs measurement. r=bholley.
This patch moves measurement of ComputedValues objects from Rust to C++.
Measurement now happens (a) via DOM elements and (b) remaining elements via
the frame tree. Likewise for the style structs hanging off ComputedValues
objects.

Here is an example of the output.

> ├──27,600,448 B (26.49%) -- active/window(https://en.wikipedia.org/wiki/Barack_Obama)
> │  ├──12,772,544 B (12.26%) -- layout
> │  │  ├───4,483,744 B (04.30%) -- frames
> │  │  │   ├──1,653,552 B (01.59%) ── nsInlineFrame
> │  │  │   ├──1,415,760 B (01.36%) ── nsTextFrame
> │  │  │   ├────431,376 B (00.41%) ── nsBlockFrame
> │  │  │   ├────340,560 B (00.33%) ── nsHTMLScrollFrame
> │  │  │   ├────302,544 B (00.29%) ── nsContinuingTextFrame
> │  │  │   ├────156,408 B (00.15%) ── nsBulletFrame
> │  │  │   ├─────73,024 B (00.07%) ── nsPlaceholderFrame
> │  │  │   ├─────27,656 B (00.03%) ── sundries
> │  │  │   ├─────23,520 B (00.02%) ── nsTableCellFrame
> │  │  │   ├─────16,704 B (00.02%) ── nsImageFrame
> │  │  │   ├─────15,488 B (00.01%) ── nsTableRowFrame
> │  │  │   ├─────13,776 B (00.01%) ── nsTableColFrame
> │  │  │   └─────13,376 B (00.01%) ── nsTableFrame
> │  │  ├───3,412,192 B (03.28%) -- servo-style-structs
> │  │  │   ├──1,288,224 B (01.24%) ── Display
> │  │  │   ├────742,400 B (00.71%) ── Position
> │  │  │   ├────308,736 B (00.30%) ── Font
> │  │  │   ├────226,512 B (00.22%) ── Background
> │  │  │   ├────218,304 B (00.21%) ── TextReset
> │  │  │   ├────214,896 B (00.21%) ── Text
> │  │  │   ├────130,560 B (00.13%) ── Border
> │  │  │   ├─────81,408 B (00.08%) ── UIReset
> │  │  │   ├─────61,440 B (00.06%) ── Padding
> │  │  │   ├─────38,176 B (00.04%) ── UserInterface
> │  │  │   ├─────29,232 B (00.03%) ── Margin
> │  │  │   ├─────21,824 B (00.02%) ── sundries
> │  │  │   ├─────20,080 B (00.02%) ── Color
> │  │  │   ├─────20,080 B (00.02%) ── Column
> │  │  │   └─────10,320 B (00.01%) ── Effects
> │  │  ├───2,227,680 B (02.14%) -- computed-values
> │  │  │   ├──1,182,928 B (01.14%) ── non-dom
> │  │  │   └──1,044,752 B (01.00%) ── dom
> │  │  ├───1,500,016 B (01.44%) ── text-runs
> │  │  ├─────492,640 B (00.47%) ── line-boxes
> │  │  ├─────326,688 B (00.31%) ── frame-properties
> │  │  ├─────301,760 B (00.29%) ── pres-shell
> │  │  ├──────27,648 B (00.03%) ── pres-contexts
> │  │  └─────────176 B (00.00%) ── style-sets

The 'servo-style-structs' and 'computed-values' sub-trees are new. (Prior to
this patch, ComputedValues under DOM elements were tallied under the the
'dom/element-nodes' sub-tree, and ComputedValues not under DOM element were
ignored.) 'servo-style-structs/sundries' aggregates all the style structs that
are smaller than 8 KiB.

Other notable things done by the patch are as follows.

- It significantly changes the signatures of the methods measuring nsINode and
  its subclasses, in order to handle the tallying of style structs separately
  from element-nodes. Likewise for nsIFrame.

- It renames the 'layout/style-structs' sub-tree as
  'layout/gecko-style-structs', to clearly distinguish it from the new
  'layout/servo-style-structs' sub-tree.

- It adds some FFI functions to access various Rust-side data structures from
  C++ code.

- There is a nasty hack used twice to measure Arcs, by stepping backwards from
  an interior pointer to a base pointer. It works, but I want to replace it
  with something better eventually. The "XXX WARNING" comments have details.

- It makes DMD print a line to the console if it sees a pointer it doesn't
  recognise. This is useful for detecting when we are measuring an interior
  pointer instead of a base pointer, which is bad but easy to do when Arcs are
  involved.

- It removes the Rust code for measuring CVs, because it's now all done on the
  C++ side.

MozReview-Commit-ID: BKebACLKtCi

--HG--
extra : rebase_source : 4d9a8c6b198a0ff025b811759a6bfa9f33a260ba
2017-08-11 16:37:33 +10:00
Bobby Holley
1cf62db957 Bug 1389681 - Move NoteDirty* to Element. r=emilio
MozReview-Commit-ID: KvKAEuYkssx
2017-08-12 10:12:28 -07:00
Bobby Holley
c9e1098a70 Bug 1389385 - Require a presshell to set descendant bits. r=emilio
We're going to start tracking the restyle root on the presshell, so we'll need
one. This should be fine, since if the presshell doesn't exist yet we can't
have done the initial style, and if it's already been destroyed we don't need
restyle state anymore.

MozReview-Commit-ID: EfNVloI9ENQ
2017-08-11 18:18:22 -07:00
Bobby Holley
3e308bd38d Bug 1389385 - Rearrange dirty noting to operate on the element rather than the parent. r=emilio
This will allow us to scope restyle roots more tightly.

MozReview-Commit-ID: 2t2lp5sKBHH
2017-08-11 18:18:22 -07:00
Bobby Holley
ff0b8d0ebf Bug 1389385 - Generalize C++ NoteDirtyDescendants logic and add equivalent APIs for the animation bit. r=emilio
MozReview-Commit-ID: 8K0uDibfoZS
2017-08-11 18:17:49 -07:00
Bobby Holley
c52ef0e259 Bug 1389385 - Move NoteDirtyDescendantsForServo out of line. r=emilio
This function is large enough that it doesn't really make sense to have inline,
and we'll be adding more to it in the coming patches.

MozReview-Commit-ID: AnDfzwsMvNy
2017-08-11 18:17:49 -07:00
Bobby Holley
813d290b57 Bug 1387499 - Clear the servo bits when dropping servo data. r=emilio
This fixes the testcase in the bug, which removes and reinserts
some elements. Our invariants require us not to set the dirty
descendants bits on unstyled elements.

MozReview-Commit-ID: 1eESZjNSURG
2017-08-09 09:20:59 -07:00
Nicholas Nethercote
cc91deea30 Bug 1383977 - stylo: Measure Elements and ComputedValues. r=manishearth.
The patch provides FFI access to Gecko's SeenPtrs type from Rust, in order to
record what has already been measured when measuring Arcs. (The SeenPtrs must
be initialized on the Gecko side because the same table is reused for measuring
all Elements within a window, because Elements can share ComputedValues.) I
have confirmed with DMD that this is working correctly.

The patch also introduces MallocSizeOfRepeats, which is like MallocSizeOf but
takes a SizeOfState, which holds a SeenPtrs table.

MozReview-Commit-ID: DHS8zvCsEdQ

--HG--
extra : rebase_source : acf4d7909abf6ceb1719331ccf2e33137eb6dc91
2017-07-19 10:30:53 +10:00
Kyle Machulis
d812ac4e87 Bug 1279218 - Additional applet tag logic removal; r=bz
I've been having problems with interdiffs on mozreview lately, so for
ease of review, this patch is being submitted as a seperate patch for
review. Once it is r+'d, it will be folded into the first patch in
this set before landing.

MozReview-Commit-ID: CS9MngaXlBd

--HG--
extra : rebase_source : 6a86fd4f7a66e73497a756976a2562d183002a2a
2017-07-28 16:44:39 -07:00
Nicholas Nethercote
49eb219ff5 Bug 1383982 (attempt 2) - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm.
--HG--
extra : rebase_source : 7075f9570a4262158351ce9ac3ca8360ea4d5394
2017-07-28 20:10:04 +10:00
Sebastian Hengst
9077ac8886 Backed out changeset a57d8f30d1bf (bug 1383982) for build bustage at nsGlobalWindow.cpp:13826: 'class nsWindowSizes' has no member named 'mMallocSizeOf'. r=backout 2017-07-28 09:50:48 +02:00
Nicholas Nethercote
5c3abe8aab Bug 1383982 - Introduce a general mechanism for measuring memory usage of graph-like structures. r=erahm.
All the SizeOf{In,Ex}cludingThis() functions take a MallocSizeOf function
which measures memory blocks. This patch introduces a new type, SizeOfState,
which includes a MallocSizeOf function *and* a table of already-measured
pointers, called SeenPtrs. This gives us a general mechanism to measure
graph-like data structures, by recording which nodes have already been
measured. (This approach is used in a number of existing reporters, but not in
a uniform fashion.)

The patch also converts the window memory reporting to use SizeOfState in a lot
of places, all the way through to the measurement of Elements. This is a
precursor for bug 1383977 which will measure Stylo elements, which involve
Arcs.

The patch also converts the existing mAlreadyMeasuredOrphanTrees table in the
OrphanReporter to use the new mechanism.

--HG--
extra : rebase_source : 2c23285f8b6c3b667560a9d14014efc4633aed51
2017-07-28 15:03:44 +10:00
Ehsan Akhgari
585393f54b Bug 1382914 - Store the hashtable of ancestor ranges in the node slots instead of in a property in order to speed up access to it; r=smaug 2017-07-25 13:01:16 -04:00
Ehsan Akhgari
ef2b77779d Bug 1383142 - Avoid the presshell AddRef() in Element::GetBindingURL(); r=heycam 2017-07-21 23:48:46 -04:00
Sylvestre Ledru
7c0ae251cd Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL

--HG--
extra : amend_source : 3aec108430b11048f47ffe19d5da7ac5034770a9
2017-07-15 19:03:04 +02:00
Olli Pettay
0738714332 Bug 1377993 - Make node slots less memory hungry in common cases. r=peterv
MozReview-Commit-ID: Lhr1UsCrRTs
2017-07-18 00:25:49 +02:00
Emilio Cobos Álvarez
bac7c683b4 No bug: Fix some typos. r=comment-only
DONTBUILD

MozReview-Commit-ID: hy22pz4YCt
2017-07-16 17:35:54 +02:00
Cameron McCormack
4cfbfe320e Bug 1372061 - Add node flag recording whether we might have anonymous children. r=bholley
MozReview-Commit-ID: CMaxJ1JnuYJ

--HG--
extra : rebase_source : ac5651b0d42125fd2a4ff3f5ce03f7a6c6ab1fbb
2017-06-27 23:56:12 -07:00
Olli Pettay
a341ed0842 Bug 1346590 - Simplify directionality handling by relying on cycle collector. r=ehsan 2017-06-27 19:48:31 -04:00
Bill McCloskey
f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Masayuki Nakano
9f1aec970a Bug 1374207 - part4: Element classes should use TextEditor class instead of nIEditor r=smaug
Unfortunately, nsGenericHTMLElement::GetAssociatedEditor() cannot use concrete classes because it may return nsIEditor which is set via nsIDocShell.editor.  The editor set to nsIDocShell may be implemented by JS since nsIEditor isn't marked as builtinclass.

MozReview-Commit-ID: 6GY9LOYp4hM

--HG--
extra : rebase_source : 3e0464067b30daf8254805458c5358d7ea644be8
2017-06-22 15:21:31 +09:00
Emilio Cobos Álvarez
f6dc661b5b Bug 1370802: Parse lang attributes as atoms. r=heycam
MozReview-Commit-ID: Cnq3wB7aVB1

--HG--
extra : rebase_source : fa0252b78381bf023ab08bf2d9fd13d4c0ed57a1
2017-06-15 21:48:26 +02:00
Mats Palmgren
5b7c81e34b Bug 1372317 part 2 - Replace LookupRemoveIf() calls with Lookup() + entry.Remove() where needed. r=froydnj
MozReview-Commit-ID: AoRNdbzh66c
2017-06-18 17:07:54 +02:00
Mats Palmgren
fb94159369 Bug 1372007 - Replace calls to Contains+Put with LookupForAdd and Contains+Get+Put with LookupRemoveIf to avoid unnecessary hashtable lookups. r=froydnj
MozReview-Commit-ID: 5Y1rVCglpzu
2017-06-14 01:54:26 +02:00
Kirk Steuber
0312c4f54a Bug 1370705 - Move attribute change effects from HTMLImageElement::BeforeMaybeChangeAttr to HTMLImageElement::AfterMaybeChangeAttr r=bz
It logically makes more sense for these effects to happen after the attribute has actually been changed and moving them allows us to get rid of the member variable HTMLImageElement::mForceReload.

MozReview-Commit-ID: IJBF3AHVb0U

--HG--
extra : rebase_source : fe3ae2a0cc55ded9702fb7654261ffee83a52057
2017-06-09 09:46:54 -07:00
Kirk Steuber
2feb07c8c6 Bug 1365092 - Moves side effects of HTMLImageElement's SetAttr function to the corresponding BeforeSetAttr and AfterSetAttr functions r=bz
This is necessary to facilitate the transition to cloning attributes instead of reparsing them.

HTMLImageElement's side effects proved to be a bit trickier than those of many other classes because HTMLImageElement::SetAttr intentionally forces an image reload, even if the attribute value has not been changed. Element::SetAttr, on the other hand, usually ignores attribute changes that do not change the attribute value, exiting before BeforeSetAttr is even called. In order to preserve this behavior, another virtual function |OnAttrSetButNotChanged| was added to the Element class. This function will be called in the case that Element::SetAttr exits early, allowing a forced reload to take place at that time.

MozReview-Commit-ID: 4CrH30bo5GT

--HG--
extra : rebase_source : 94245dde2710abd439671d05e99f145caca3e189
2017-06-01 15:38:45 -07:00
Kirk Steuber
a02a78b5c7 Bug 1365092 - Moves side effects of nsGenericHTMLElement and Element's SetAttr, UnsetAttr, and ParseAttribute functions to the corresponding BeforeSetAttr and AfterSetAttr functions r=bz
This is necessary to facilitate the transition to cloning attributes instead of reparsing them.

MozReview-Commit-ID: HzB3f1sr9y9

--HG--
extra : rebase_source : 8c343c60b5dca18fb04a4cb548907a2e4b9df1d2
2017-05-31 11:01:47 -07:00
Boris Zbarsky
237aa3d58c Bug 1370072. Don't hold on to a frame pointer across a frame flush. r=ehsan 2017-06-06 21:21:45 -04:00
Ryan VanderMeulen
b2f44e5181 Merge inbound to m-c. a=merge 2017-05-31 20:25:52 -04:00
Brad Werth
b4e5c552de Bug 1355675 Part 3: Add some Chrome-only getTransformTo... methods to Element. r=mattwoodrow,smaug
MozReview-Commit-ID: 5H2DXKJzE8H

--HG--
extra : rebase_source : a5089158676586e94ac1c8528dd052d52973c869
2017-05-30 09:42:25 -07:00
Tobias Schneider
ca72a8397e Bug 1335644 - (intersection-observer) Always send an initial notification after .observe() is called. r=mstange
--HG--
extra : rebase_source : 022d43ae4351831e625660ebab023b4ca632939e
2017-05-24 17:20:57 -07:00
Boris Zbarsky
d50c80150f Bug 1364360 part 3. Don't flush layout when setting scrollTop to 0. r=ehsan 2017-05-25 13:39:44 -04:00
Boris Zbarsky
42c1cf9ea3 Bug 1364360 part 2. Make Element::GetScrollFrame take a flush type, not a "should I flush?" boolean. r=ehsan 2017-05-25 13:39:44 -04:00
Boris Zbarsky
3119ff4e5e Bug 1364360 part 1. Make Element::GetScrollFrame follow the spec more closely in the quirks mode case. r=ehsan 2017-05-25 13:39:44 -04:00
Wes Kocher
8b07ba2a07 Merge m-c to inbound a=merge
a=release IGNORE BAD COMMIT MESSAGES
2017-05-19 15:18:51 -07:00
Olli Pettay
2d735273d9 Bug 1366250, don't flush layout when calling element.focus() on already focused element. Ensure layout is flushed after changing input.type, r=ehsan
--HG--
extra : rebase_source : 294d0220cc3c2b6be38566ff28722c5e9acc87a9
2017-05-19 23:20:48 +03:00
Kirk Steuber
e74f1cd513 Bug 1363481 - Add the old attribute value as a parameter to Element::AfterSetAttr r=bz
In order to facilitate the movement of code with side-effects called by Element::SetAttr to Element::BeforeSetAttr and Element::AfterSetAttr, Element::AfterSetAttr should have access to the old value of the attribute. This includes information about whether there was previously a value set or not.

Accomplishing this involved passing an additional argument through functions that find and change the old attribute value in order to ensure that we can differentiate between an empty old value and an absent old value (attribute was not set).

Note that while I tried to ensure that accurate values (and their absence) are reported to Element::AfterSetAttr, I largely ignored SVG. While the old value reported for SVG values should be however accurate the value already being reported to SetAttrAndNotify was, SVG elements do not currently report unset values properly because they will never pass a null pointer to SetAttrAndNotify.

MozReview-Commit-ID: K1mha8CNFZP

--HG--
extra : rebase_source : 42776eb01451d371e4aebcc17fe3dd112c8d268b
2017-05-18 14:09:01 -07:00
Christian Holler
7d5c35b559 Bug 1365954 - Fix check for EXTRA_DOM_ELEMENT_BYTES. r=bholley
MozReview-Commit-ID: CNG7XR4ZjIi

--HG--
extra : rebase_source : 23276dc9a6952294a98c87ab09de6caf35a9c9c3
2017-05-18 17:03:39 +02:00
Brian Birtles
56a6846b66 Bug 1355348 - Drop extra eRestyle_StyleAttribute hint from Element::SetSMILOverrideStyleDeclaration; r=dbaron
This was originally added in bug 1133439 but it's not clear that it is needed.
It may be that we thought that new SMIL animations should trigger transitions
but that's not the case.

We want to remove this as part of this bug since Servo_NoteExplicitHints is
currently not capable of handling animation restyle hints and non-animation
restyle hints at the same time.

--HG--
extra : rebase_source : 729947c29efc51864333397cf772079646c1f197
2017-05-16 12:46:51 +09:00
Daniel Holbert
ad52211150 Bug 1344398 part 2: React to some CSS 'overflow' changes on body/html by simply calling UpdateViewportScrollbarStylesOverride() instead of reframing. r=bz,tnikkel
MozReview-Commit-ID: Lpr9aNv9hAB

--HG--
extra : rebase_source : c8cccf8e6495ab1d57f9680c07b3e43a488e8691
2017-05-10 13:53:27 -07:00
Bobby Holley
de6dd624ed Bug 1363375 - Pack nsINode better on 64-bit and stop conditionally compiling mServoData. r=smaug 2017-05-11 13:51:28 +02:00
Bobby Holley
4c9431ce8a Bug 1363375 - Add static assert for element sizes on 64-bit. r=smaug 2017-05-11 13:51:28 +02:00
Wes Kocher
8f6058b583 Backed out 3 changesets (bug 1344398) for assertion failures at Element.cpp a=backout
Backed out changeset d0e5a5ba01b5 (bug 1344398)
Backed out changeset d70f9de401d1 (bug 1344398)
Backed out changeset 647d0bb3714d (bug 1344398)

MozReview-Commit-ID: DTVWf28NcNb
2017-05-10 17:43:50 -07:00
Daniel Holbert
b216b7b0e8 Bug 1344398 part 2: React to some CSS 'overflow' changes on body/html by simply calling UpdateViewportScrollbarStylesOverride() instead of reframing. r=bz,tnikkel
MozReview-Commit-ID: Lpr9aNv9hAB

--HG--
extra : rebase_source : c8cccf8e6495ab1d57f9680c07b3e43a488e8691
2017-05-10 13:53:27 -07:00
Boris Zbarsky
f11ddd537b Bug 1361274. There's no need to update link :visited state when doing querySelectorAll, since querySelectorAll ignores that state anyway. r=smaug
In our current setup, in which links with an href attribute always match either
:link or :visited, no matter whether that attribute's value is a valid URI,
changes to the attribute always put the element into either the "match nothing"
state or the "match :link" state, via calls to Link::ResetLinkState.

The only thing FlushPendingLinkUpdates is needed for is (lazily, in case it
turns out to not be needed because the element got removed from the DOM anyway)
registering a history observer to switch the link state to :visited as needed.

This means that selector matching consumers that would never expose :visited
state to start with don't need to worry about calling FlushPendingLinkUpdates.
2017-05-03 16:54:25 -04:00
Swapnesh Kumar Sahoo
c11cf34901 Bug 1354331 - Remove network.http.enablePerElementReferrer usages. r=valentin r=baku 2017-05-01 00:12:34 +05:30
Nicholas Hurley
4608c1dbd5 Bug 1348278 - Speculatively connect when mousedown happens on a link r=bz
Try to speed up perceived pageload by opening a connection as soon as the
user mouses down on a link, instead of waiting for the full click/AsyncOpen
process to get there.

MozReview-Commit-ID: 4g6mZXWt9H5

--HG--
extra : rebase_source : cf7b5628058c1a1bcadc8531f2da44d259c6fdaa
2017-04-27 14:35:09 -07:00
Emilio Cobos Álvarez
23bce99ae1 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk

--HG--
extra : rebase_source : 2d01321f5ce0ec8c0e3f70984674f82678034b3c
2017-05-01 19:32:52 +02:00
Emilio Cobos Álvarez
e44543aad4 Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle

--HG--
extra : rebase_source : c2e9d4bfb9239f5e851d110cd7dff98c1e1a8d8b
2017-04-30 17:30:08 +02:00
Olli Pettay
d401b45a1f Bug 1352898, add a cache for nsMappedAttributes to reduce malloc/free and bind nsMappedAttributes always to nsHTMLStyleSheet if owner document has such, r=bz
--HG--
extra : rebase_source : f5d0d17a7c4eb5244ebb993b6ed34ea048921366
2017-04-07 19:21:48 +03:00
Brian Birtles
33041d1214 Bug 1315874 - Drop 'ForElement' from GetStyleContextForElementXXX methods; r=heycam
In the next patch we want to add a method called
GetUnanimatedStyleContextForElementNoFlush but that's much too long. Instead it
seems better to just drop 'ForElement' from all these methods since it should be
fairly obvious we are getting the style context for an element given that the
first argument is an element.

MozReview-Commit-ID: JQKaEuCKV2F

--HG--
extra : rebase_source : 3ba51f3b00d1ec7bc91102629d9c0abb88992fef
2017-04-05 14:39:23 +09:00
bechen
268a2f5b7a Bug 1318542 - Label NODE_IS_NATIVE_ANONYMOUS on the elements from ::cue up to nsVideoFrame. r=bz,heycam
Since the ::cue div created by JS, it doesn't have the NODE_IS_NATIVE_ANONYMOUS flag.
We set the NODE_IS_NATIVE_ANONYMOUS when binding to domtree from the ::cue up to the RootOfAnonymousSubtree
so that GetClosestNonNativeAnonymousAncestor will return video element as style parent.

MozReview-Commit-ID: 3EiYOqnbY15

--HG--
extra : rebase_source : eedcd5948852c3405a719b9f3c3396ee009f7273
2017-04-05 10:48:52 +08:00
Olli Pettay
98fff73826 Bug 1351303, add main thread only cache for nsIAtoms to speed up atomization, r=froydnj
--HG--
extra : rebase_source : 9c67cd71c0721329eaeaaa96a295e90abc480042
2017-04-03 23:13:18 +03:00
Xidorn Quan
e3e4554871 Bug 1351957 - Create URLExtraData for holding base uri, referrer, and principal. r=heycam
MozReview-Commit-ID: 1wqTb3kvvWh

--HG--
extra : rebase_source : cae3dba21c916ab0f52056bd9db215249b650cd3
2017-03-30 18:54:48 +11:00
Olli Pettay
12316106ee Bug 1352389, don't push extra script blocker on stack when setting attributes, r=bz
--HG--
extra : rebase_source : 2571f3d502114b84f8b95bbb50c5a0707eb14298
2017-03-31 22:54:41 -04:00
Olli Pettay
5706cc683b backout Bug 1352389, r=backout 2017-03-31 16:59:06 -04:00
Olli Pettay
b86d26e216 Bug 1352389, don't push extra script blocker on stack when setting attributes, r=bz
--HG--
extra : rebase_source : 55820b78425fe7a64e77eaeb31f5093309f2d06c
2017-03-31 13:13:52 -04:00
Manish Goregaokar
b8c378e1a5 Bug 1330051; Reparse style attribute when adopting across style backends; r=bz
MozReview-Commit-ID: LWN57KApiMu

--HG--
extra : rebase_source : 20cfb66a8d6d5f88aa3db9cc6876f986d71290b4
2017-03-24 15:28:19 -07:00
Olli Pettay
92bb395acd Bug 1339758, click() and similar can return 0 from various coordinate properties, r=masayuki
--HG--
extra : rebase_source : 71547cc6655c39ffeba89676d315bdb9bacc5ff4
2017-03-23 12:57:44 +02:00
Edgar Chen
00f084fb1b Bug 1347634 - GetCustomElementData and SetCustomElementData don't need to be virtual; r=smaug 2017-03-16 12:21:12 +08:00
Boris Zbarsky
55cdc32c73 Bug 656197 part 4. Move calls to AfterSetAttr to before UpdateState when manipulating attributes. r=smaug
In particular, this lets us remove UpdateState() calls from AfterSetAttr.  That
change is next.

MozReview-Commit-ID: CFeft0E9o8m
2017-03-16 14:50:42 -04:00
Boris Zbarsky
33a3057732 Bug 656197 part 2. Move calls to BeforeSetAttr to after AttributeWillChange. r=smaug
This means that implementations of BeforeSetAttr no longer need to UpdateState.
Those UpdateState calls will be removed in a bit.

MozReview-Commit-ID: 1yEg5D4garD
2017-03-16 14:50:41 -04:00
Boris Zbarsky
f890715ffc Bug 656197 part 1. Remove the generic attr preparsing mechanism from BeforeSetAttr and just preparse class attributes directly in the one place that needs to do it. r=smaug
This removes the requirement that BeforeSetAttr comes before AttributeWillChange
(which needs the preparsed new value).

MozReview-Commit-ID: 87C6Mjc7ARh
2017-03-16 14:50:41 -04:00
Cameron McCormack
6e93d609a7 Bug 1341230 - Part 1: Rename ESM_MANAGED_STATES to EXTERNALLY_MANAGED_STATES. r=smaug
Since it's not just the EventStateManager that has access to modify
these EventStates bits.

MozReview-Commit-ID: 17EpfQT5M40

--HG--
extra : rebase_source : 6d5f7ecff2d41d66cbc23ea12e08dc6295e29875
2017-03-06 10:44:13 +08:00
Iris Hsiao
ddd2318db2 Backed out changeset 41bd2eefc823 (bug 1341230) 2017-03-06 11:48:58 +08:00
Cameron McCormack
fd0d68c179 Bug 1341230 - Part 1: Rename ESM_MANAGED_STATES to EXTERNALLY_MANAGED_STATES. r=smaug
Since it's not just the EventStateManager that has access to modify
these EventStates bits.

MozReview-Commit-ID: 17EpfQT5M40

--HG--
extra : rebase_source : 6d5f7ecff2d41d66cbc23ea12e08dc6295e29875
2017-03-06 10:44:13 +08:00
Mats Palmgren
d13aaf9ce0 Bug 1340771 part 1 - Rename nsWeakFrame to AutoWeakFrame (automated change). r=tn
MozReview-Commit-ID: 8pl4nyeGEkr
2017-03-01 18:03:14 +01:00
Tobias Schneider
5167bc2af8 Bug 1337936 - (intersection-observer) Revise lifetime management. r=smaug
MozReview-Commit-ID: 4pzm00igBLR

--HG--
extra : rebase_source : ad9c5581f991c392f431793fde289b8ca8245bd0
2017-02-22 10:45:13 -08:00
Sebastian Hengst
ae051c91a0 Backed out changeset 5f93d62d9229 (bug 1337936) for asserting in crashtest 869038.html. r=backout 2017-02-22 14:06:26 +01:00
Tobias Schneider
0da735fe74 Bug 1337936 - (intersection-observer) Revise lifetime management. r=smaug
MozReview-Commit-ID: AvdDJaRELXm

--HG--
extra : rebase_source : a3e8705822545fd4c1cee688939c617a419d3936
2017-02-21 03:13:39 -08:00
Tom Tromey
f8ab4ddf02 Bug 1060419 - remove unneeded includes of prprf.h, r=froydnj
MozReview-Commit-ID: JifhpA3oOeH

--HG--
extra : rebase_source : 08460997dc3fd91f3065c718e17b41bb4acf8bae
2016-12-09 10:00:01 -10:00
Bobby Holley
b5ec1b1aa2 Bug 1331322 - Move MAY_HAVE_CLASS to mBoolFlags. r=bholley
This fits a bit better with the other stuff, and allows us to add our new NAC
bit with the other NAC related bits, which also happens to be a field that
Servo already has easy access to.

--HG--
extra : rebase_source : 52ef902eb3b23dc44cefec899b02c9180b76160c
2017-01-20 18:24:41 -08:00
Phil Ringnalda
d2fa909610 Backed out 4 changesets (bug 1331322) for Android reftest failures in 1169331-1.html and forced-bg-color-outside-visible-region.html
Backed out changeset 96c6b5a11284 (bug 1331322)
Backed out changeset 15877d32de7d (bug 1331322)
Backed out changeset 841d608704d7 (bug 1331322)
Backed out changeset 02096c5eb029 (bug 1331322)
2017-02-15 21:24:00 -08:00
Bobby Holley
a15ed0dd31 Bug 1331322 - Move MAY_HAVE_CLASS to mBoolFlags. r=bholley
This fits a bit better with the other stuff, and allows us to add our new NAC
bit with the other NAC related bits, which also happens to be a field that
Servo already has easy access to.

--HG--
extra : rebase_source : 52ef902eb3b23dc44cefec899b02c9180b76160c
2017-01-20 18:24:41 -08:00
Boris Zbarsky
d7e6d48b2f Bug 1338725 part 2. Move GetClasses/DoGetClasses from nsIContent to Element. r=baku 2017-02-13 16:06:45 -05:00
Boris Zbarsky
08d76ec702 Bug 1332812. Remove some more unused or nearly-unused nsIDOMElement bits. r=froydnj 2017-02-02 10:32:58 -05:00
Sebastian Hengst
4c5957bbd3 Backed out changeset c724fbd9c326 (bug 1332812) for build bustage. r=backout on a CLOSED TREE 2017-02-02 16:58:52 +01:00
Boris Zbarsky
b249de7c3a Bug 1332812. Remove some more unused or nearly-unused nsIDOMElement bits. r=froydnj 2017-02-02 10:32:58 -05:00
Wes Kocher
8d4bb91470 Merge m-c to inbound, a=merge
MozReview-Commit-ID: Am6M5iHxmAr
2017-02-01 16:31:23 -08:00
Manish Goregaokar
5b55368eda Bug 1330041 - Basic handling framework for presentation attributes in Stylo, with handling for font-size and color; r=bz,emilio
This introduces a basic framework for servo's style system to be able
to query the style of presentation attributes which it can then insert
into the cascade. It uses that framework to implement the size and
color attributes on <font>.

There are a number of improvements that can be done on top of this:

 - Implement all other properties
 - Abstractify the ruledata parameter of the mappers using templates or virtual dispatch so that it can be a Servo decl block instead
 - Implement aforementiond abstraction over Servo decl blocks (this obsoletes the code in the first item above, so it might just be better to skip that and directly do this)
 - Replace uses of nsHTMLStyleSheet with an abstract base class containing common elements between Servo and Gecko

I'd prefer for these to be done in separate steps.

MozReview-Commit-ID: GO60qfeZOfl

--HG--
extra : rebase_source : 516d369a8627e413983361aaf85ccb7132b0a06c
2017-01-19 15:56:53 -08:00
Boris Zbarsky
4dafb92c93 Bug 1335368 part 4. Stop using IsCallerChrome in nsContentUtils::IsRequestFullScreenAllowed. r=bholley 2017-02-01 15:43:36 -05:00
Jared Wein
072c1a6ba3 Bug 1323618 - Allow locking off of psuedo-classes through inIDOMUtils. r=heycam
MozReview-Commit-ID: DppYTmILpwy

--HG--
extra : rebase_source : c0befc8f86b92cfc88b537e520c3aa032846ba6a
2017-01-12 12:10:07 -05:00
Sebastian Hengst
7e8e7b64ec Backed out changeset 6c4807171f00 (bug 1323618) on jaws' request. r=backout 2017-01-12 18:45:39 +01:00
Jared Wein
213d81f2f4 Bug 1323618 - Allow locking off of psuedo-classes through inIDOMUtils. r=heycam
This patch doesn't currently work. The test fails in two test cases. Right now the styles for a 'locked-off' psuedo class are still being applied.

MozReview-Commit-ID: DppYTmILpwy
* * *
[mq]: temp

MozReview-Commit-ID: 74iIOQumfrw

--HG--
extra : rebase_source : 276e694b61aaeb0cb55a963c793d58876a92546f
2017-01-12 12:10:07 -05:00
Boris Zbarsky
34c39939f2 Bug 1330060 part 1. Move GetInlineStyleDeclaration up to Element so it doesn't have to be virtual. r=bkelly 2017-01-11 19:03:16 -05:00
Cameron McCormack
babad063ff Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +08:00
Cameron McCormack
cd875e79a6 Bug 1326023 - Make Element::GetBindingURL return a strong reference. r=smaug
MozReview-Commit-ID: 5QI6UuvwDrE
2016-12-28 17:50:44 +08:00
Ho-Pang
41adef3ae2 Bug 1299209 - Part 1: Passing PointerId when a new WidgetMouseEvent is created. h=sshih, r=smaug
--HG--
extra : rebase_source : b123e74425e56c09ab38f5916589abb84c3d5996
2016-12-20 22:53:00 -05:00
Masayuki Nakano
7436f01057 Bug 564411 Move all methods/attributes of nsIEditorIMESupport to nsIEditor r=smaug
Doing QI from nsIEditor to nsIEditorIMESupport doesn't make sense because editor should always support all methods and attributes of nsIEditorIMESupport (it does NOT mean that all nsIEditor implementation need to support IME).

This patch moves all of them to nsIEditor for avoiding redundant QIs.

MozReview-Commit-ID: DzIKuGHG4iy

--HG--
extra : rebase_source : cc5e9a6ae4572ebe461d9770ffa5c23d33dc8526
2016-12-20 21:47:31 +09:00
Tobias Schneider
eef5af1c91 Bug 1322717 - Disconnect/Unlink in the proper order to avoid crashes in mozilla::dom::DOMIntersectionObserver::UnlinkTarget. r=mrbkap 2016-12-08 18:54:07 -08:00
Bobby Holley
f8c9d884fc Bug 1317016 - Basic infrastructure for RestyleHint-driven traversal. r=emilio
MozReview-Commit-ID: 7wH5XcILVmX
2016-11-25 10:06:39 -08:00
Boris Zbarsky
c892e11e49 Bug 1318117. Stop using IsCallerChrome in pointerlock API, fullscreen API, and documentURI getter. r=ehsan 2016-11-17 13:49:27 -05:00
Ehsan Akhgari
38a0d7e870 Bug 1318342 - Remove the special casing for apps going fullscreen; r=baku 2016-11-17 12:35:44 -05:00
Stone Shih
1ed10ff082 Bug 1305458 Part1: Rename nsIDOMEventTarget::PreHandleEvent to nsIDOMEventTarget::GetEventTargetParent. r=smaug
MozReview-Commit-ID: FM3vDUyLOCb

--HG--
extra : rebase_source : 5a513af84718a6d591f77437a0704984c8fc2b67
2016-10-21 10:11:07 +08:00
Xidorn Quan
60ba3c835d Bug 1294299 part 2 - Use DeclarationBlock for SMIL override style. r=heycam
MozReview-Commit-ID: 573o5vmC81z

--HG--
extra : source : c284764640e86b9bf63f976b79aa66252f8b635d
2016-11-03 14:41:02 +11:00
Tobias Schneider
5b2ef3c1db Bug 1243846 - Implement Intersection Observer API. r=mrbkap, r=mstange 2016-10-28 10:24:00 -04:00
Xidorn Quan
05ef8466c6 Bug 1309109 part 5 - Store ServoDeclarationBlock rather than RawServoDeclarationBlock in nsAttrValue. r=heycam
MozReview-Commit-ID: HWqgjwif1qF

--HG--
extra : source : cf3b1baff3d1d6233c72e32cf01cd28a2b344ebf
2016-10-18 15:29:03 +11:00
Botond Ballo
b3a474aa99 Bug 1307557 - Fix an out-of-bounds access in Element::DescribeAttribute(). r=dveditz
MozReview-Commit-ID: 15ItbWAQAPv

--HG--
extra : rebase_source : 4375d0268a633e964fd91427cb4b9e67c63d30b2
2016-10-07 15:12:00 -04:00
Olli Pettay
d04af0658f Bug 1309720, ensure expected DOM tree operations when calling insertBefore, r=ehsan
--HG--
extra : rebase_source : 9583d0f4aa9c395c3615f17244c4531a9d441534
2016-10-14 15:33:42 +03:00
Bobby Holley
6351b3ffb8 Bug 1304913 - Have Servo manage node data directly without FFI calls. r=Manishearth
MozReview-Commit-ID: H8f8VP18TbM
2016-09-23 15:58:48 -07:00
Mike de Boer
3e295e6280 Bug 1290914 - support Element.animate() on AnonymousContent nodes through the AnonymousContent.setAnimationForElement() method. r=bz
MozReview-Commit-ID: 39QPaCea7Dx
2016-09-08 22:38:53 +02:00
Sebastian Hengst
8325679a58 Backed out changeset a71b7098d0c6 (bug 1290914) for failure in test_findbar.xul. r=backout 2016-09-07 18:38:03 +02:00
Mike de Boer
8b64dbde69 Bug 1290914 - support Element.animate() on AnonymousContent nodes through the AnonymousContent.setAnimationForElement() method. r=bz
MozReview-Commit-ID: 3Wl5yAjHGPN

--HG--
extra : rebase_source : 8668da8dba231809cf3d5c1f70394f44789f1b98
2016-09-07 12:01:17 +02:00
Jeremy Chen
e42a48e81d Bug 1297306 - part5:create enum constructors for EnumTable. r=baku
Enable nsAttrValue::EnumTable to be initialized with enum. So, we could get rid
of the castings in EnumTable. Fix EnumTable initialization comment.

For those untyped enumerations, declare them with uint8_t, as to other typed
enumerations with type size larger than int16_t, force casting to int16_t.

Use {nullptr,0} instead of {0} to represent the last entry.

MozReview-Commit-ID: 7Dma3Apkmxj

--HG--
extra : rebase_source : b2289866c4c33d80c8e170727bf109d018d92f67
2016-09-07 10:20:17 +08:00
Brian Birtles
48f29038db Bug 1300045 part 2 - Split KeyframeEffect.cpp into KeyframeEffect{ReadOnly}.cpp r=hiro,smaug
MozReview-Commit-ID: DdBEicunApv

--HG--
rename : dom/animation/KeyframeEffect.cpp => dom/animation/KeyframeEffectReadOnly.cpp
rename : dom/animation/KeyframeEffect.h => dom/animation/KeyframeEffectReadOnly.h
extra : rebase_source : 70063d8ba09c9c457f22771e9b514ddc9fee1612
2016-09-04 16:34:21 +09:00
Edgar Chen
67946850ab Bug 1275835 - Part 1: Move custom element codes from nsDocument to CustomElementsRegistry; r=wchen
MozReview-Commit-ID: 9gTSFrYW7o3

--HG--
extra : rebase_source : f123f21aadaa18641ddd7fa7fa67eb27a4152f83
2016-08-30 11:48:53 +08:00
Emilio Cobos Álvarez
619cb14d87 Bug 1299066: Make NS_STYLE_DISPLAY_* an enum class. Prefer indexing instead of linear search in the frame constructor r=heycam,bz
The main renaming was generated with the following python script:

```

import sys
import re

CAMEL_CASE_REGEX = re.compile(r"(^|_|-)([A-Z])([A-Z]+)")
DISPLAY_REGEX = re.compile(r"\bNS_STYLE_DISPLAY_([^M][A-Z_]+)\b")

def to_camel_case(ident):
  return re.sub(CAMEL_CASE_REGEX,
                lambda m: m.group(2) + m.group(3).lower(), ident)

def constant_to_enum(constant):
  return "StyleDisplay::" + to_camel_case(constant) + ("_" if constant == "NONE" else "")

def process_line(line):
  return re.sub(DISPLAY_REGEX,
                lambda m: constant_to_enum(m.group(1)), line)

lines = []
with open(sys.argv[1], "r") as f:
  for line in f:
    lines.append(process_line(line))

with open(sys.argv[1], "w") as f:
  for line in lines:
    f.write(line)
```

And the following shell commands:

```
find . -name '*.cpp' -exec python display.py {} \;
find . -name '*.h' -exec python display.py {} \;
```

MozReview-Commit-ID: 91xYCbLC2Vf
2016-09-01 20:41:17 -07:00
Aryeh Gregor
0c1d7143d1 Bug 984778 - Make hasFeature() and SVG requiredFeatures always return true; r=bz,longsonr
hasFeature() always returning true matches the current DOM spec.  SVG 2
has removed requiredFeatures.  Chrome has had both of these always
return true since 2014, and they seem to have had no problems.

Even requiredFeatures="" (empty string) now returns true, matching
Chrome.

MozReview-Commit-ID: 1LEu3iK4R94
2016-09-01 14:35:11 +03:00
Bobby Holley
92996399e8 Bug 1292279 - Explicitly handle dirtiness in BindToTree. r=heycam
Doing this in SetInDoc is kind of gross, and it leads to nice symmetry with
UnbindFromTree.
2016-08-25 21:34:27 -07:00
Cameron McCormack
ef76cd4cfc Bug 1295852 - Part 2: Check for generated content containers correctly in Element.getAnimations(). r=boris
MozReview-Commit-ID: E6HkQED2ND8

--HG--
extra : rebase_source : 780677c7fddc2c69b89e3bfbbb99d88c57fe1a3e
2016-08-19 11:16:52 +08:00
Kearwood (Kip) Gilbert
0fa828c884 Bug 1250244 - Part 5: Rename VRDevice to VRDisplay,r=bz
- In order to reduce the size of the following patches
  and increase their readability, we rename VRDevice
  to VRDisplay here first.

MozReview-Commit-ID: 3pv8scdIi5w
2016-04-12 17:39:28 -07:00
Kearwood (Kip) Gilbert
a900318dec Bug 1250244 - Part 1: Remove FullScreenOptions parameter from Element.RequestFullScreen,r=bz
MozReview-Commit-ID: 8wmexZT5SB4
2016-04-18 12:12:38 -07:00
Boris Zbarsky
fe8d1921e1 Bug 921834. Add support for .dataset on SVGElement. r=bkelly 2016-08-11 16:56:34 -04:00
Daosheng Mu
8083dbd7bd Bug 778654 - Implement and move tabIndex functions to Element class to avoid duplicate work.r=peterv,heycam
MozReview-Commit-ID: uetkJztNcn

--HG--
extra : transplant_source : U%E7va%AE%E6%FE%BDN.%28%AA%8F%19%1D%FF%26%E6%B7t
2016-05-24 12:22:17 +08:00
Jonathan Kingston
556ed99119 Bug 1173199 - Create preference to disable MathML. r=heycam, r=huseby, r=smaug
If the mathml.disabled preference is true, treat <math> and other MathML
elements as generic XML elements.

This patch disables the rendering code of MathML however preserves the
namespace so to reduce the breakage.

Original patch by: Kathy Brade <brade@pearlcrescent.com>

MozReview-Commit-ID: A2f2Q2b4eqR

--HG--
extra : rebase_source : 3c8530816727c01b68a831d560bfe16e7b02bd9d
2016-06-28 15:24:48 +01:00
Xidorn Quan
b83b9e7406 Bug 991899 part 1 - Add unprefixed API for PointerLock. r=smaug
MozReview-Commit-ID: 3af2D9IWI1Q

--HG--
extra : source : 527777bea747fb8ab363960e41b0a1ddb26d7749
2016-07-28 17:15:21 +10:00
Bobby Holley
55b3f93f9f Bug 1289624 - Clear servo data when nodes are removed from the tree. r=heycam 2016-07-27 13:34:57 -07:00
Emilio Cobos Álvarez
11ac7c1d96 Bug 1288590: Rename nsAttrInfo to mozilla::dom::BorrowedAttrInfo. r=bholley
Unfortunately couldn't add all the debug checks that I'd want, since we can't
assert that is not safe to run script in quite a few places :(

MozReview-Commit-ID: 8m3Wm1WntZs
2016-07-27 11:18:33 -07:00
Emilio Cobos Álvarez
e54d13faa8 Bug 1288590: Add a function to get attribute info from an Element by index. r=bholley
MozReview-Commit-ID: AjgzhP3gwgV
2016-07-27 11:18:33 -07:00
Nicolas Silva
48805c9b3e Bug 1284837 - Disallow implicit conversions from float to integer when creating IntPoint and IntSize objects. r=botond 2016-07-26 16:48:30 +02:00
Cameron McCormack
8eedc7f07e Bug 1287049 - Only clear restyle flags in BindToTree if not using Servo-backed style system. r=emilio
MozReview-Commit-ID: 38cWUyAYEIt

--HG--
extra : rebase_source : a3d994bd6ee984e4b3608e99da4c8ebd9b247f14
2016-07-15 15:21:38 +08:00
Emilio Cobos Álvarez
474ff66ca4 Bug 1285474: stylo: Add dirtiness-tracking hooks for Servo and convenient methods. r=bholley
Also, guard with asserts the access to the new shared flags.

MozReview-Commit-ID: H9UFFHRPmiu
2016-07-12 00:33:57 -07:00
Brad Werth
dde35eb992 Bug 1241932 - Expose decoded CSS grid line properties via a Chrome API. r=mats 2016-07-07 11:38:12 -07:00
Brad Werth
e0d3269112 Bug 1241932 - Expose decoded CSS grid track properties in a Chrome API. r=heycam, r=khuey
--HG--
extra : rebase_source : 0c2a49236a2c71233a1ce6a92e50663b8a9f6238
2016-07-06 11:45:18 -07:00
Carsten "Tomcat" Book
1bb9877c16 Backed out changeset 3de5b79d7373 (bug 1241932) for bustage 2016-07-06 06:00:03 +02:00
Carsten "Tomcat" Book
2de695aebf Backed out changeset e98d1ac584d6 (bug 1241932) 2016-07-06 05:59:52 +02:00
Brad Werth
1656f9d629 Bug 1241932 - Expose decoded CSS grid line properties via a Chrome API. r=mats 2016-07-05 13:35:52 -07:00
Brad Werth
dd6149d032 Bug 1241932 - Expose decoded CSS grid track properties in a Chrome API. r=heycam, r=khuey 2016-06-24 12:20:05 -07:00
Xidorn Quan
227146d238 Bug 1216049 part 1 - Remove the use of Element::IsFullScreenAncestor() in Element::UnbindFromTree(). r=smaug
Since UnbindFromTree() would eventually be called synchronously for
every element unbound, we don't have to check whether the root of
unbound elements is a fullscreen ancestor.

MozReview-Commit-ID: F6mxNsVZ2yl

--HG--
extra : source : ed575daf8d8907ad9b45040423b176d32b9c0a08
2016-06-30 09:24:41 +10:00
Franziskus Kiefer
cbf15542b0 Bug 1223838 - enable perElementReferrer by default. r=hsivonen 2015-12-02 11:12:12 +01:00
Olli Pettay
b91ac5f5d1 Bug 1276938 - Optimize string usage in setAttribute when dealing with HTML elements, r=baku
--HG--
extra : rebase_source : dea4a4d25ff3cc7b2ca0ced76cafae8577d0f650
2016-05-31 18:56:20 +03:00
Daisuke Akatsuka
4f6eba3af3 Bug 1272211 - Part 1: Make timeline argument of Animation constructor default to the document timeline of the active document. r=birtles, r=smaug
MozReview-Commit-ID: KUsQF5bryg8

--HG--
extra : rebase_source : 5adf35011db8a64a30fc782ef29707f7070f207e
2016-05-30 09:01:11 +09:00
Cameron McCormack
d6732018a8 Bug 1273838 - Part 1: Make URLValue construction thread-safe. r=bholley
--HG--
extra : rebase_source : 2190da734a8a05089928114c8d80315406ad272f
2016-05-21 10:02:54 +10:00
Boris Zbarsky
2b85094faf Bug 909633. Remove the HTML Microdata API, since no one else ended up implementing it and now it's been removed from the spec. r=bkelly,jgraham 2016-05-20 23:13:17 -04:00
Masayuki Nakano
3359bad586 Bug 1254755 part.1 Rename WidgetKeyboardEvent::keyCode to WidgetKeyboardEvent::mKeyCode r=smaug
And also WidgetKeyboardEvent::mKeyCode should be compared with NS_VK_* rather than nsIDOMKeyEvent::DOM_VK_*.

MozReview-Commit-ID: IKjQ1nr8XYe

--HG--
extra : rebase_source : 83125cd2523f6b70759f621470aad23b00aae8ae
2016-05-12 17:13:49 +09:00
Brian Birtles
90fb66a530 Bug 1271904 - Rename KeyframeEffectReadOnly.getFrames() and KeyframeEffect.setFrames() to getKeyframes()/setKeyframes(); r=hiro, r=smaug
MozReview-Commit-ID: GwLLY39l1KE

--HG--
rename : dom/animation/test/css-animations/file_keyframeeffect-getframes.html => dom/animation/test/css-animations/file_keyframeeffect-getkeyframes.html
rename : dom/animation/test/css-animations/test_keyframeeffect-getframes.html => dom/animation/test/css-animations/test_keyframeeffect-getkeyframes.html
rename : dom/animation/test/css-transitions/file_keyframeeffect-getframes.html => dom/animation/test/css-transitions/file_keyframeeffect-getkeyframes.html
rename : dom/animation/test/css-transitions/test_keyframeeffect-getframes.html => dom/animation/test/css-transitions/test_keyframeeffect-getkeyframes.html
rename : testing/web-platform/meta/web-animations/keyframe-effect/setFrames.html.ini => testing/web-platform/meta/web-animations/keyframe-effect/setKeyframes.html.ini
rename : testing/web-platform/tests/web-animations/keyframe-effect/setFrames.html => testing/web-platform/tests/web-animations/keyframe-effect/setKeyframes.html
2016-05-13 09:40:52 +09:00
Masayuki Nakano
3e4ceded8b Bug 1259661 part.9 Rename WidgetMouseEvent::clickCount to WidgetMouseEvent::mClickCount r=smaug
MozReview-Commit-ID: 5tC8UqcfLek

--HG--
extra : rebase_source : a336f9d8676c74804e2c00eebec4f2a30d7a11b3
2016-05-10 23:29:14 +09: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
Boris Zbarsky
00cfdef4b1 Bug 1257849 part 2. Pass in the right set of supported tokens to the sandbox tokenlist implementation. r=bkelly 2016-05-04 23:41:24 -04:00