Commit Graph

16966 Commits

Author SHA1 Message Date
Hiroyuki Ikezoe
c7495b1957 Bug 1323679 - Enable some crash tests. r=shinglyu
MozReview-Commit-ID: 6MxVcZhC2oD

--HG--
extra : rebase_source : e255ac678c0df5ae14ac650d83577782fb00d452
2017-04-01 11:38:07 +09:00
Carsten "Tomcat" Book
14e0b51ace merge mozilla-inbound to mozilla-central a=merge 2017-04-04 12:35:03 +02:00
Carsten "Tomcat" Book
358125cbde Backed out changeset a86c4218ca5f (bug 1353187) 2017-04-04 09:54:51 +02:00
L. David Baron
6f4077b7ee Backed out changeset 74eb0b08e42b (bug 1353187 patch 2) for test failures (assertions firing). 2017-04-03 22:47:57 -07:00
Timothy Nikkel
3f354b21bf Bug 1352074. Remove high precision timer mode from refresh driver because it is not needed with vsync based refresh drivers. r=mchang
Bug 731974 added this code to get more accurate timer callbacks back when the refresh driver was based on timers. It shouldn't be needed anymore now that the refresh driver is based on vsync.
2017-04-04 00:14:28 -05:00
L. David Baron
24c39a87ef Bug 1353187 - Guard access to the frame property table with a frame state bit. r=dholbert
This protects all accesses to the frame property table with a bit stored
on the frame.  This means we avoid hashtable operations when asking
about frame properties on frames that have no properties.

The changes to RestyleManager, and the new HasSkippingBitCheck API, are
needed because RestyleManager depended on being able to ask for
properties on a deleted frame (knowing that the property in question
could not have been set on any new frames since the deleted frame was
destroyed), in order to use the destruction of the properties that
happens at frame destruction as a mechanism for learning that the frame
was destroyed.  The changes there preserve the use of that mechanism,
although it becomes a bit uglier.  The ugliness is well-deserved.

MozReview-Commit-ID: BScmDUlWq65

--HG--
extra : transplant_source : %95%A2%9B%A1M%1F%86%A8%E0%FF%7B%E4%83%24%83%16%BE%FA%08T
2017-04-03 20:43:31 -07:00
L. David Baron
c2af2e1613 Bug 1353187 - Give frame properties the const-ness semantics of member variables. r=dholbert
This makes it so that, given a |const nsIFrame*|, a caller can retrieve
properties but not set or remove them, but with an |nsIFrame*| all
operations are allowed.  I believe this is sensible since properties act
as extended member variables for things that are needed rarely, and
these are the const-ness semantics of member variables.

This also avoids the need for const_cast<nsIFrame*> to cast away const
in the following patch, which guards property access with a frame state
bit.

MozReview-Commit-ID: IJ9JnGzdH51

--HG--
extra : transplant_source : %91%D6%C7%01hC%B3z%90%B6%93%93qcAK%CB%09%D6z
2017-04-03 20:43:30 -07:00
Masayuki Nakano
28770793c6 Bug 1344990 part.1 gfx and layout should refer "font.name-list.*" when "font.name.*" is empty r=jfkthame
When "font.name.*" is empty, it means "default", i.e., use the first font of "font.name-list.*".

In most cases, we don't need to change existing "font.name.*" handlers which refer "font.name-list.*".  However, handlers which refer only "font.name.*", we need to add the code to refer "font.name-list.*" too.

MozReview-Commit-ID: B37y1Ld9Azg

--HG--
extra : rebase_source : f944893ff38d5f2072b5014dccf455045ddafd19
2017-03-29 23:21:47 +09: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
Phil Ringnalda
7ac3bd5b7e Backed out 3 changesets (bug 1351074) for reftest harness and browser_all_files_referenced.js bustage
CLOSED TREE

Backed out changeset 941e0f9ff9a7 (bug 1351074)
Backed out changeset 4fdf3b87a70b (bug 1351074)
Backed out changeset 586428f69838 (bug 1351074)
2017-04-02 19:46:49 -07:00
Makoto Kato
cd8761e0f4 Bug 1351074 - Part 2. Use testing-common for AsyncSpellCheckTestHelper.jsm. r=masayuki
TESTING_JS_MODULES uses testing-common, not gre.  So we should replace gre with testing-common for mochitest.

MozReview-Commit-ID: BqsS2D3IGR6

--HG--
extra : rebase_source : 2143fcdf33c428c82c6b2e00b542649b958aeccc
2017-03-29 15:34:49 +09:00
Markus Stange
fcdd5dbd1f Bug 1351920 - Remove the nsCString&& version of PROFILER_LABEL_DYNAMIC because it makes misleading promises about performance. r=njn
MozReview-Commit-ID: I4y5xnFyfUj

--HG--
extra : rebase_source : 8cd3d9fc90df1cb7ff6199cf0a5b1cf3319bebe0
2017-03-29 21:47:51 -04:00
Sebastian Hengst
990055a490 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: EjvlThqFc40
2017-04-02 18:52:13 +02:00
Cameron McCormack
08d2db05b2 Bug 1352785 - stylo: Ensure children of elements with invalid -moz-binding URLs get styled. r=bholley
MozReview-Commit-ID: 2zot13HgjWU

--HG--
extra : rebase_source : 34dabaa228c0f6c2625804c073ff3a5394647bf0
2017-04-02 15:15:44 +08:00
Sebastian Hengst
948595ff2f merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-04-01 13:12:04 +02:00
Sebastian Hengst
65f9bb8041 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 5E7o1qELKmN
2017-04-01 13:09:55 +02:00
Wes Kocher
3a0357deec Merge m-c to inbound a=merge 2017-03-31 17:53:52 -07:00
Boris Chiou
a583863fc8 Bug 1352067 - Part 1: Make sure AnimationValue::{mGecko|mServo} are mutually exclusive. r=birtles,emilio
We will obsolete StyleAnimationValue in the future, and can treat
AnimationValue as a wrapper of RawServoAnimationValue to hide the FFIs
at that moment. For now, we still need both types, so it's better to make sure
they are mutually exclusive in AnimationValue. Therefore, let's add some
assertions.

Besides, I think those FFIs might do many things and it seems those methods
are not critical, so let's move them into the cpp file, so we can remove
some dependencies to avoid re-compiling so many files if someone needs
revise ServoBindings.h.

MozReview-Commit-ID: FJ1uTvEQ7NT

--HG--
extra : rebase_source : 8ef99c659f2721c8425364051db19b66536bccc6
2017-03-31 17:46:37 +08:00
Olli Pettay
d47c995985 Bug 1351860 - Move mType from HTMLInputElement to nsIFormControl and make GetType non-virtual inlined, r=jessica
--HG--
extra : rebase_source : b7d76ce3321ea0d622da74a72b7278fd0fa63310
2017-03-31 22:49:00 -04:00
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
Makoto Kato
cd753d1158 Bug 1351074 - Part 2. Use testing-common for AsyncSpellCheckTestHelper.jsm. r=masayuki
TESTING_JS_MODULES uses testing-common, not gre.  So we should replace gre with testing-common for mochitest.

MozReview-Commit-ID: BqsS2D3IGR6

--HG--
extra : rebase_source : a8553684f8f106c1dfb6e2d9b51df7ebeb15275d
2017-03-29 15:34:49 +09:00
Emilio Cobos Álvarez
0b5dcba0dc Bug 1351791: Simplify PostRestyleEventForLazyConstruction. r=bholley
MozReview-Commit-ID: 2jsrojLzYeo
2017-03-31 11:56:29 +02:00
Emilio Cobos Álvarez
9aaeccc118 Bug 1351791: Move PostRestyleEventForLazyConstruction and PostRestyleEventInternal to GeckoRestyleManager. r=bholley
MozReview-Commit-ID: 5lrNlkbrnZb
2017-03-31 11:56:29 +02:00
Wei-Cheng Pan
8134134fcf Bug 1350624 - Adjust *_EVENT_RECEIVED_MS telemetry probes. r=mystor
MozReview-Commit-ID: KUsBulGRINn

--HG--
extra : rebase_source : 76767393dc918f883d2ee7620960de76e6bc798a
2017-03-30 14:52:14 -04:00
Manish Goregaokar
111b56703c Bug 1341647 - stylo: Move HTMLBodyElement::WalkContentStyleRules to the mapped attr functionality; r=bz
MozReview-Commit-ID: 90qDHl0Ane4

--HG--
extra : rebase_source : e3dace4a0ec7345ec801c02db7339e78a6242a1e
2017-03-29 12:10:00 -07: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