Commit Graph

16942 Commits

Author SHA1 Message Date
Eric Rahm
861a58d5a4 Bug 1351904 - Switch layout over to ArenaAllocator. r=xidorn
This switches over layout's usage of PLArena to ArenaAllocator. This allows
us to build more files in unified sources and gets rid of various CONST masks.

MozReview-Commit-ID: Aaf3Dl2kaoz
2017-03-31 14:06:33 -07:00
Olli Pettay
31b1f5cc92 Backout Bug 1351860, r=backout 2017-03-31 16:55:32 -04:00
Olli Pettay
b84c192a09 Bug 1351860 - Move mType from HTMLInputElement to nsIFormControl and make GetType non-virtual inlined, r=jessica
--HG--
extra : rebase_source : 5f2cac2c4e944e2c9f2f1acf0d3064e153c40451
2017-03-31 13:13:36 -04:00
Manish Goregaokar
d52216a79d Bug 1341648 - stylo: Include content rules from HTMLTableCellElement::WalkContentStyleRules ; r=bz
This also removes the TABLE_ATTRS_DIRTY optimization. Constructing nsMappedAttributes isn't really expensive and we do it all the time anyway.

MozReview-Commit-ID: 2krt1nFUzgl

--HG--
extra : rebase_source : 18d400aed6f427e5efc503b87b6ee2d9af74f3f5
2017-03-26 13:53:34 -07:00
Carsten "Tomcat" Book
74e36e1adb Merge mozilla-central to autoland on a CLOSED TREE
--HG--
extra : amend_source : 5026c19958cdc458c0f0887582fd00b8038fe93e
2017-03-30 16:48:10 +02:00
Wes Kocher
3c0c112ff9 Merge m-c to inbound, a=merge 2017-03-29 15:47:46 -07:00
Jeff Gilbert
8551c897b9 Bug 1350066 - Don't complain when video fails to prefer non-alpha-premult. - r=jrmuizel
MozReview-Commit-ID: GU3je33m1LB
2017-03-29 15:06:54 -07:00
Bobby Holley
491b0baa3d Bug 1350441 - Clear servo data when tearing down frames for DestroyFramesFor. r=heycam
MozReview-Commit-ID: DWwu8FqSjdj
2017-03-29 09:27:24 -07:00
Bobby Holley
e76c016430 Bug 1350441 - Make ServoRestyleManager::ClearServoDataFromSubtree a bit smarter. r=heycam
There's no reason to traverse the entire subtree if we encounter an unstyled section.

MozReview-Commit-ID: 7WeMTI73wR9
2017-03-29 09:27:24 -07:00
Emilio Cobos Álvarez
4b0d6c2248 Bug 1350140: Flush the overflow changed tracker when done with restyles. r=heycam
MozReview-Commit-ID: 6ENzvvxCok5

--HG--
extra : rebase_source : 5145b2761258de58d208b1d958e83e324723faaf
2017-03-27 22:55:20 +02:00
Emilio Cobos Álvarez
fc80cf434d Bug 1351275: Move style flush observer logic to nsIPresShell, and align layout observing code. r=bholley
MozReview-Commit-ID: 2oUTNfTS4Ku
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

--HG--
extra : rebase_source : 97d055e6682cbe81eaf32c365004f194a0ae1935
2017-03-29 15:41:11 +02:00
Emilio Cobos Álvarez
c066af0f0e Bug 1351275: Cleanup nsRefreshDriver observer array handling to avoid walking them twice. r=bholley
MozReview-Commit-ID: Jnwb9HtSjoC
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

--HG--
extra : rebase_source : 72de9b3f83d77b854ef433be36ff0ab688e47eb0
2017-03-29 15:32:14 +02:00
Bobby Holley
be7a7ceab0 Bug 1350244 - Back out bug 1348606 part 5 (Use a threadsafe array for counters). r=me
This reverts commit 07301f1c3f71b36dbe2345e8faa9bc6d643cfc97.

MozReview-Commit-ID: 8tLjUhki2C1
2017-03-29 11:05:17 -07:00
Cameron McCormack
c4f1f8e321 Bug 1350671 - stylo: Allow resolving out of date styles when explicitly reconstructing frames for an element. r=bholley
MozReview-Commit-ID: 7w9pehHNXQ

--HG--
extra : rebase_source : 1476b4397a4384046c324f0176ecd9f699b026bd
2017-03-28 15:31:41 +08:00
Boris Zbarsky
06a153ffc1 Bug 1351139. Use only one kind of anonymous box for the block wrappers we create for a block-inside-inline split. r=dbaron
Note that this removes the useless (because this anon box is never absolutely
positioned) "clip: inherit" style.

MozReview-Commit-ID: iJJdv5VL06

--HG--
extra : rebase_source : d7a8697a89391eb6a80683dcbe8e3fa6f76c6a41
2017-03-28 21:26:31 -04:00
Bobby Holley
574f17af66 Bug 1351518 - Stop bailing out before NS_DOCUMENT_STATE_WINDOW_INACTIVE check for stylo. r=heycam
MozReview-Commit-ID: 2XQS3XJcvj4
2017-03-28 18:54:10 -07:00
David Major
406c99b947 Bug 1350770: Cache the most recent nsGenConNode to speed up future insertions. r=xidorn
--HG--
extra : rebase_source : 04ccc2457fd1ca432204331d8b0cce381e9f1f46
2017-03-28 10:04:48 -04:00
Carsten "Tomcat" Book
acc4241b37 Backed out changeset 5544a84d59a4 (bug 1350770) for bustage 2017-03-28 15:57:34 +02:00
David Major
4b10120624 Bug 1350770: Cache the most recent nsGenConNode to speed up future insertions. r=xidorn 2017-03-28 09:38:07 -04:00
Jan Henning
0e575681dc Bug 1265818 - Part 2 - Add scriptable methods for getting and setting PresStates from JS. r=jst
This will allow the session store to store and restore scroll positions (and pinch zoom on Android) for past session history entries as well, whereas today only the scroll position of the current page is saved.

As a LayoutHistoryState saves its PresStates in a hash table that doesn't allow direct access to its contents if you don't already know the entry's key, we provide a function to iterate over all stored PresStates and retrieve their keys, which can then be used to get access to each individual PresState in turn. Since nsPresState is little more than a fancy struct and we don't want to have to turn it into a full-blown XPCOM-compatible interface, we just pass the scroll/zoom-related values we're interested in as in/out parameters from/to JS via the LayoutHistoryState.

We also require a helper method for initialising an SHEntry's LayoutHistoryState, since normally this doesn't happen until the PresShell wants to capture the history state in it. We on the other hand require a LayoutHistoryState to be present immediately after creation of a fresh SHEntry object, so we can feed it the session store data during history restoration.

MozReview-Commit-ID: FfZf8KDsVWl
***

--HG--
extra : rebase_source : 0b3f729bff3ac24680d6fe8a0fb796979886170b
2017-03-25 14:01:29 +01:00
Jan Henning
3d605b1465 Bug 1265818 - Part 1 - Convert nsILayoutHistoryState header to IDL. r=jst
Preparatory step to make nsILayoutHistoryState scriptable.

MozReview-Commit-ID: DWgXr0imRVb

--HG--
rename : layout/base/nsILayoutHistoryState.h => layout/base/nsILayoutHistoryState.idl
extra : rebase_source : c64ef4108df187c750852d5a364a5cb15d4e9d0d
2017-03-04 14:06:11 +01:00
Hiroyuki Ikezoe
2e2e70805e Bug 1350743 - Rename AnimationPropertySegment::HasReplacableValues to AnimationPropertySegment::HasReplaceableValues. r=birtles
MozReview-Commit-ID: KNwZhFvG5PJ

--HG--
extra : rebase_source : 28819462a86d1ad2050314dc7a5f5a68e69bf7b9
2017-03-27 09:15:26 +09:00
Jan Henning
c49f232ab2 Bug 1328868 - Part 3 - Make the effective text zoom retrievable from JS. r=tnikkel
We want to read this value during testing.

MozReview-Commit-ID: FVA7VdvSTEt

--HG--
extra : rebase_source : 7ae56480ad34a4b3b417b3593496619a55910ec6
2017-02-25 19:27:15 +01:00
Jan Henning
8a6b5c9c8a Bug 1328868 - Part 2 - Apply the system font scale as an additional text zoom factor to all pages that are not font inflated. r=tnikkel
We want to use a similar model as Chrome on Android does for scaling our display of web content, that is use font inflation for desktop pages and plain text zooming for everything else.

Since we don't want to simply clobber any text zoom that might have been set by the user/front-end code, we allow setting and storing the system font scale separately on the PresContext. We then calculate the effective text zoom value as the product of the system font scale and the current text zoom value.

Any function that is using the PresContext's TextZoom value for layouting/rendering is switched over to this new EffectiveTextZoom value, whereas functions that are interested in the text zoom as actually set by the user/front-end (e.g. the nsDocumentViewer, or the code responsible for copying text and full zoom settings into the new PresContext on page navigation) continue using the plain TextZoom value.

As long as font inflation is enabled in principle (e.g. font.size.inflation.minTwips != 0), every page starts out as eligible for font inflation until the relevant meta viewport tags marking the page as "mobile friendly" have been detected. Since the PresShell caches the font inflation state and only recalculates it when necessary, we make use of that and set the PresContext's system font scale as necessary whenever the font inflation state has been refreshed.

MozReview-Commit-ID: 2InyE04wKAW

--HG--
extra : rebase_source : 3f6d7128f37c1dc18f67a6655f86d9a3003fe90b
extra : source : 6100458b97289f9aea5ac8fda57ded045e6860b7
2017-02-25 13:22:52 +01:00
Jan Henning
320ff25d1c Bug 1328868 - Part 1 - Allow setting a global zoom factor via nsLayoutUtils. r=tnikkel
For Android we want to be able to set a global zoom factor that will scale any page where font inflation is not turned on.

Android makes the system font scale available as a float factor. For our purposes, converting this to a percentage based value and rounding to an integer is accurate enough and enables us to pass this value as a standard Gecko int preference. This means we can make use of the standard infrastructure for setting and retrieving Gecko-side preferences both from Java and JS (the latter during testing), as opposed to having to write custom JNI and C++/IDL helper functions.

To that effect, we implement a method for retrieving that setting via nsLayoutUtils, analogous to the current font inflation settings. Since we later want to clamp the effective text zoom resulting from that setting by zoom.minPercent and maxPercent, we add var caches for them in nsLayoutUtils as well.

MozReview-Commit-ID: Ler2YmwzImE

--HG--
extra : rebase_source : 6959c42267c1cb2b53804a609dda3d6d8b0bf14c
extra : source : 6a06ccede9eb54e4311e75e9f481d42d8c1f47a1
2017-02-25 13:22:45 +01:00
Wes Kocher
6d0b00069c Merge inbound to central, a=merge
MozReview-Commit-ID: JGfQoBJy2jt
2017-03-24 17:17:27 -07:00
Boris Chiou
892d75ecb7 Bug 1349834 - Remove eRestyle_SVGAttrAnimations declartion. r=xidorn
MozReview-Commit-ID: KhB4G7v3hn9

--HG--
extra : rebase_source : 3dcefbb99901c0e0c2d7f391f5a591ca409924fa
2017-03-24 10:59:54 +08:00
Bobby Holley
887595286b Bug 1350115 - Squelch post-traversal generated by additional animation traversals when we're styling a fresh subtree. r=heycam,r=birtles
This patch exists to avoid a crash in layout/style/test/test_animations.html. We end up
generating some ::before content, which causes us to style the new subtree at [1]. In
StyleNewSubtree, we fail the !postTraversalRequired assertion because
PrepareAndTraverseSubtree decided to traverse the tree twice (once to style it, and again
to restyle it for animations), and return that a post-traversal is needed.

The reason this issue happens with my NAC patches and not without is that we were previously
filtering out generated ::before content from the servo traversal, so the servo traversal
wouldn't have reached it and (presumably) the animation restyle wouldn't have happened and
we wouldn't have returned true for needing a post-traversal.

[1] http://searchfox.org/mozilla-central/rev/c48398abd9f0f074c69f2223260939e30e8f99a8/layout/base/nsCSSFrameConstructor.cpp#1918

MozReview-Commit-ID: 8tgzLjV8B3A
2017-03-24 09:40:30 -07:00
Carsten "Tomcat" Book
5f408d092d Merge mozilla-central to mozilla-inbound 2017-03-24 14:29:00 +01:00
Carsten "Tomcat" Book
7419b36815 merge mozilla-inbound to mozilla-central a=merge 2017-03-24 14:24:21 +01:00
Cameron McCormack
d140502cb4 Bug 1349487 - stylo: Eagerly style content appended in a ShadowRoot. r=bholley
MozReview-Commit-ID: FnTwSW8YF2p

--HG--
extra : rebase_source : c6b3fded16466bd140b01e57bb471630dd633ffc
2017-03-24 14:44:11 +08:00
Kris Maglione
dabd327027 Bug 1348442: Part 1 - Allow loading preloaded stylesheets asynchronously. r=heycam
These changes allow us to asynchronously load pre-loaded stylesheets, in a way
that's similar to ChromeUtils.compileScript. The new method returns a Promise
which resolves to the preloaded sheet once it's finished loading.

This will allow us to remove the last remaining use of synchronous channels in
moz-extension: URLs.

MozReview-Commit-ID: 7J52ff93YKT

--HG--
extra : rebase_source : 20fa013cdc7f5fbedb5ce671ede17765a2abbac2
2017-03-19 19:33:49 -07:00
Cameron McCormack
9f3f895b0e Bug 1349134 - stylo: Style newly appended children of an element with a binding through their flattened tree parents. r=bholley
MozReview-Commit-ID: 3fQouTm2bw4

--HG--
extra : rebase_source : 599fe1e790c9fb352eb0e81f8f9b08e4012541f2
2017-03-24 14:27:22 +08:00
Ting-Yu Lin
0a2de7f987 Bug 1322570 Part 6 - Use GetParentAllowServo() in RestyleManager. r=bz
Fixed tests like layout/reftests/bidi/670226-1.html.

MozReview-Commit-ID: DuEXNZhFC7M

--HG--
extra : rebase_source : c738d3457a2e1caac6a09df90ec29d6337deae56
2017-03-20 14:14:01 +08:00
Ting-Yu Lin
b8a643b87e Bug 1322570 Part 5 - Use GetParentAllowServo() related to first letter frame. r=bz
::first-letter is not support by stylo yet. (bug 1324618)

MozReview-Commit-ID: KwQk2jhn53c

--HG--
extra : rebase_source : 9bafad53a38fd11aae7be09780ee7680d9a40e1c
2017-03-20 14:13:32 +08:00
Mats Palmgren
2feec4025d Bug 1333482 part 5 - [css-ui] Enable '-moz-appearance' support for some tests. r=dholbert
* * *
[mq]: sssssssss

MozReview-Commit-ID: 4wgnjld1rDt
2017-03-23 22:11:23 -07:00
Mats Palmgren
00b74113a3 Bug 1333482 part 4 - [css-ui] Amend all uses of '-moz-appearance:none' in tests to also specify 'appearance:none' (automated change). r=dholbert
MozReview-Commit-ID: BNOR5VRpV2E
2017-03-23 22:11:22 -07:00
Mats Palmgren
79cff05243 Bug 1333482 part 2 - [css-ui] Change all consumers of StyleDisplay::mAppearance to use the accessor UsedAppearance() instead, and make mAppearance/mMozAppearance private. r=dholbert
MozReview-Commit-ID: 8JwLsY1CLDJ
2017-03-23 22:11:18 -07:00
Thinker K.F. Li
b8ad325f66 Bug 1323076 - Part 6: HandleEvent with flag checking for TaskTracer. r=smaug 2017-03-22 21:41:00 +01:00
Bobby Holley
fee01f78fb Bug 1348606 - Use a threadsafe array for counters. r=xidorn
MozReview-Commit-ID: KgTgcD5mGqr
2017-03-23 10:56:49 -07:00
Iris Hsiao
106889c6f6 Backed out 9 changesets (bug 1333482) for stylo test failures and this should be landed to autoland
Backed out changeset d8828e22dbaa (bug 1333482)
Backed out changeset a39aaecd10f7 (bug 1333482)
Backed out changeset c957d8c0281e (bug 1333482)
Backed out changeset d569fc566e43 (bug 1333482)
Backed out changeset 7e8c03090d34 (bug 1333482)
Backed out changeset c4511a175f2f (bug 1333482)
Backed out changeset 5483a82f7ce9 (bug 1333482)
Backed out changeset 4e7e5efb1bd8 (bug 1333482)
Backed out changeset 51d1accaeddb (bug 1333482)
2017-03-24 10:21:30 +08:00
Nicholas Nethercote
e105cad299 Bug 1346132 (part 2) - Remove set_stderr_callback(). r=mstange.
It's a very general mechanism for replacing the implementation of
printf_stderr().

It's primarily used by the profiler, sparingly, and not in an important way.
Worse, it prevents us from using MOZ_LOG in the profiler, which is something I
want. Because if any code that locks gPSMutex also calls MOZ_LOG, that then
calls printf_stderr(), which calls profiler_log(), which locks gPSMutex, which
deadlocks.

The only other use of set_stderr_callback() is for the ultra-hacky,
for-local-use-only copy_stderr_to_file() function, which was added for B2G
debugging and is no longer necessary.

This patch removes set_stderr_callback() altogether.

--HG--
extra : rebase_source : d31ecb482fe5899f62dc56a38e87d91f9271bab0
2017-03-16 08:17:56 +11:00
Wes Kocher
1d9dc01136 Merge m-c to inbound, a=merge
MozReview-Commit-ID: HwfVdTF9Np5
2017-03-23 16:55:48 -07:00
Mats Palmgren
53c393f0ba Bug 1333482 part 5 - [css-ui] Enable '-moz-appearance' support for some tests. r=dholbert
* * *
[mq]: sssssssss

MozReview-Commit-ID: 4wgnjld1rDt
2017-03-23 23:13:18 +01:00
Mats Palmgren
c0c0e154ea Bug 1333482 part 4 - [css-ui] Amend all uses of '-moz-appearance:none' in tests to also specify 'appearance:none' (automated change). r=dholbert
MozReview-Commit-ID: BNOR5VRpV2E
2017-03-23 23:13:18 +01:00
Mats Palmgren
a306ed59b0 Bug 1333482 part 2 - [css-ui] Change all consumers of StyleDisplay::mAppearance to use the accessor UsedAppearance() instead, and make mAppearance/mMozAppearance private. r=dholbert
MozReview-Commit-ID: 8JwLsY1CLDJ
2017-03-23 23:13:18 +01:00
Nicholas Nethercote
6aa94b6456 Bug 1349856 - Reinstate proper usage of mReflowCause. r=froydnj.
Bug 1322553 introduced GeckoProfilerTracingRAII. Part 2 converted a bunch of
places to use it, but messed one of them up:

> -          profiler_tracing("Paint", "Reflow", Move(mReflowCause), TRACING_INTERVAL_START);
> +          tracingLayoutFlush.emplace("Paint", "Reflow");

The Move(mReflowCause) was erroneously deleted. (There was a similar case with
Move(mStyleCause) that was not deleted.)

This patch reinstates the Move(mReflowCause).

--HG--
extra : rebase_source : 72aa0be43f5e381ddd7999cb2f56a44051f18779
2017-03-23 17:15:54 +11:00
Carsten "Tomcat" Book
9b6d088496 merge autoland to mozilla-central a=merge
--HG--
rename : browser/components/preferences/in-content/tests/browser_advanced_siteData.js => browser/components/preferences/in-content-old/tests/browser_advanced_siteData.js
rename : dom/media/mediasink/DecodedAudioDataSink.cpp => dom/media/mediasink/AudioSink.cpp
2017-03-23 13:42:40 +01:00
cku
a52259bf72 Bug 1349462 - Part 1. Rename IsSVGText as IsInSVGTextSubtree. r=heycam
MozReview-Commit-ID: LTo6c8tTtaf

--HG--
extra : rebase_source : bc6913c42cca141d7a3098fdd4dcc72fbf146b5a
2017-03-23 15:29:11 +08:00
Jeff Muizelaar
49eb5ba0b6 Bug 1285533. Remove non-fontconfig platform fontlist codepath. r=lsalzman
This has been disabled for two years. It's time for it to die.
2017-03-22 14:58:19 -04:00