Граф коммитов

13941 Коммитов

Автор SHA1 Сообщение Дата
Wes Kocher bfc45b98b9 Merge m-c to inbound, a=merge
MozReview-Commit-ID: 9XdoB5MuVz6
2017-07-05 17:17:41 -07:00
Mats Palmgren 489c03b415 Bug 1378481 - Assign 'roundingError' in the default branch too, to avoid a maybe-uninitialized compiler warning. r=dholbert
MozReview-Commit-ID: CQk1PBaflct
2017-07-05 23:07:11 +02:00
Mats Palmgren a31659e209 Bug 1377910 - Don't bother calling DisassociateRequestFromFrame if the frame doesn't have the HasImageRequest bit since it's a no-op in that case. r=dholbert
MozReview-Commit-ID: 4LlIFN7tARr
2017-07-05 23:07:11 +02:00
Jeff Muizelaar b1f8ce5e9c Bug 1378483 - Allow TextLayers in the parent process. r=mattwoodrow.
This fixes text using a painted layer in the Chrome.
2017-07-05 15:38:01 -04:00
Kartikaya Gupta cad9534e69 Bug 1377090 - Turn gfxMatrix into a typedef for MatrixDouble. r=jrmuizel
Most of this patch is updating a few places that use gfxMatrix to use
the equivalent-but-differently-named functions on MatrixDouble:
- Translate/Rotate/Scale get turned into PreTranslate/PreRotate/PreScale
- Transform(Point) gets turned into TransformPoint(Point)
- gfxMatrix::TransformBounds(gfxRect) gets turned into
  gfxRect::TransformBoundsBy(gfxMatrix).
- gfxMatrix::Transform(gfxRect) gets turned into
  gfxRect::TransformBy(gfxMatrix).
The last two functions are added in this patch as convenience wrappers
to gfxRect instead of Matrix.h because we don't want Matrix.h to "know"
about gfxRect (to avoid adding gecko dependencies on Moz2D). Once we
turn gfxRect into a typedef for RectDouble these will be eliminated
anyway.

MozReview-Commit-ID: BnOjHzmOSKn

--HG--
extra : rebase_source : cf1692d1f0d44a4b05d684a66678739181a426d5
2017-07-05 11:18:49 -04:00
Kartikaya Gupta 1c54bb2347 Bug 1377090 - Make the Matrix class templated so we can instantiate it with a double type. r=bas
This extracts a BaseMatrix template of which Matrix is now a particular
specialization. The BaseMatrix allows us to reuse the same code for
floats and doubles, much like the other "base" classes (BasePoint,
BaseRect, etc.).

MozReview-Commit-ID: HO7bA83S9E0

--HG--
extra : rebase_source : dcd84d9a978cdea00bb54eb11eefcca9c6635901
2017-07-05 11:18:48 -04:00
Carsten "Tomcat" Book 49921c11be Merge mozilla-central to autoland 2017-07-05 13:05:51 +02:00
Carsten "Tomcat" Book b72c4833d5 merge mozilla-inbound to mozilla-central a=merge 2017-07-05 13:01:22 +02:00
Morris Tseng b01c8dcc1a Bug 1376855 - Support nsDisplayBullet in layers free mode. r=kats
MozReview-Commit-ID: 8fCufpOLejH

--HG--
extra : rebase_source : a2a4024b8282336d60f7e9c416e93513860866d7
2017-06-28 13:39:34 -07:00
Morris Tseng eb94eb3e03 Bug 1376855 - Support nsDisplayImage in layers free mode. r=kats
MozReview-Commit-ID: 5oCmmBXwfv2

--HG--
extra : rebase_source : a51aca897df386a5d3c1e5c9426609913162a99f
2017-06-28 15:12:36 -07:00
Morris Tseng 3ebdf834e1 Bug 1376855 - Support nsDisplayVideo in layers free mode. r=kats,sotaro
MozReview-Commit-ID: HyelfkHokrw

--HG--
extra : rebase_source : 02cccf4b0029d98c453a4a59a2d1416548976af7
2017-06-28 15:12:25 -07:00
Morris Tseng 77424afaa9 Bug 1376855 - Introduce WebRenderUserData and WebRenderImageData. r=kats
Layers are retained between transaction and we store some data in the layers.
Thus, if we no longer use layers, we need find another storage to place
those data. I use frame's property to retain WebRenderUserData between
transaction.

MozReview-Commit-ID: Ku5VGBXa3w6

--HG--
extra : rebase_source : 636653f78d1d6c310726a1a2c944141dc691decc
2017-06-28 15:03:27 -07:00
Mats Palmgren 7271bffe14 Bug 1377713 - Use an AutoTArray in GetScrollPortSizeExcludingHeadersAndFooters to avoid malloc/free in most cases. r=tn
MozReview-Commit-ID: 61rJb3cFNio
2017-07-05 02:04:15 +02:00
Hiroyuki Ikezoe 1da5513453 Bug 1377648 - Check summary frame instead of summary element on removing the summary. r=heycam
In case of removing summary element, we need to check details *frame* children
instead of details *element* children since the summary element has been
already removed from details element children list.

MozReview-Commit-ID: GEzDId9CYf9

--HG--
extra : rebase_source : 50834606413b916a3c0d6074a7a52e8bdbe845a0
2017-07-05 15:52:37 +09:00
Ethan Lin 82a7c2b5e4 Bug 1372118 - Part3. Implement CreateWebRenderCommands for text, transform and background color. r=jrmuizel, r=kats
MozReview-Commit-ID: JRoSjygSFHc
2017-06-30 17:23:20 -07:00
Ethan Lin 17960f3f3e Bug 1372118 - Part2. Use new interface of CreateWebRenderCommands for non-image display items. r=jrmuizel, r=kats
MozReview-Commit-ID: BcmRjQhDEyf
2017-06-30 17:23:20 -07:00
Boris Zbarsky 5bd9b06ca0 Bug 1376640. Fix dynamic updates when an inline that sits between a first-letter and its block changes style. r=heycam
MozReview-Commit-ID: 8osMUpYVRvR
2017-06-28 22:19:35 -07:00
Carsten "Tomcat" Book f32372e861 Backed out changeset 2992d5af6251 (bug 1376640) for assertion failures like Assertion failure: mOwner == ExpectedOwnerForChild(aFrame) (Missed some frame in the hierarchy?) 2017-06-29 08:22:08 +02:00
Boris Zbarsky 991d1134d8 Bug 1376640. Fix dynamic updates when an inline that sits between a first-letter and its block changes style. r=heycam
MozReview-Commit-ID: 8osMUpYVRvR
2017-06-28 22:19:35 -07:00
Masayuki Nakano 5a78a77b68 Bug 1375825 - part2: ContentEventHandler::ExpandToClusterBoundary() should check the return value of nsTextFrame::PeekOffsetCharacter() r=jfkthame
ContentEventHandler::ExpandToClusterBoundary() doesn't check the return value of nsTextFrame::PeekOffsetCharacter().  Therefore, it may set its result to reversed offset. (e.g., when aForward is true and offset is 6, the result may be 5.  When aForward is false and offset is 5, the result may be 6.)

For avoiding that, ContentEventHandler::ExpandToClusterBoundary() should check the result and only when it returns nsIFrame::FOUND, it should compute the proper offset.

On the other hand, it's too bad for ContentEventHandler that nsTextFrame::PeekOffsetCharacter() to return nsIFrame::CONTINUE_UNSELECTABLE when the user-select style is "all" because IME doesn't expect such cases.

Therefore, this patch adds additional argument to nsIFrame::PeekOffsetCharacter(), aOptions which is a struct containing bool members.  The reason why it's not a bit mask enum is, such struct doesn't cause simple mistake at checking the value and the code is shorter.  When mIgnoreUserStyleAll of it is true, this patch makes nsTextFrame not return nsIFrame::CONTINUE_UNSELECTABLE.

MozReview-Commit-ID: ACNNBTP92YZ

--HG--
extra : rebase_source : bd85da902e7fb59135d15514cb20a5599a4a640b
2017-06-29 10:58:16 +09:00
Bobby Holley e61dcedcb3 Bug 1376655 - Stop using EnsureSameStructsCached in ViewportFrame::UpdateStyle. r=emilio 2017-06-28 10:08:37 -07:00
Bobby Holley 5681b4713c Bug 1376655 - Use ServoStyleContext in more places. r=emilio 2017-06-28 10:08:36 -07:00
Emilio Cobos Álvarez 10227381d3 Bug 1375674: Track the owner that represents the changes handled, and fix a bunch of issues while at it. r=heycam
In particular, this fixes:

 * Restyling of <area> elements that reuse the primary frame mapping for the
   image map.

 * Restyling of children of display: contents elements when the display:
   contents element generates a hint.

 * Restyling of out-of-flows (if my analysis in the bug is right).

 * Restyling of the ::backdrop pseudo-element.

 * Restyling of the Viewport frame.

I only managed to do a reftest for the second one, but the rest of them are
covered by the assertions added.

MozReview-Commit-ID: E7QtiQ1vPqu

--HG--
extra : rebase_source : 89085d96103ca743ba95ba61feeac68d24e8d307
2017-06-23 19:31:35 +02:00
Emilio Cobos Álvarez 97d4bc23fb Bug 1375674: Don't use the table change hints for the table wrapper frame. r=heycam
MozReview-Commit-ID: 7Qe07N6zvIt

--HG--
extra : rebase_source : be0658c4af20c2eaaa93b5ec18694ef4fa0febcd
2017-06-23 19:30:16 +02:00
Carsten "Tomcat" Book 9c5ccdbab2 Merge mozilla-central to autoland 2017-06-27 15:15:58 +02:00
Carsten "Tomcat" Book 4e00eff077 merge mozilla-inbound to mozilla-central a=merge 2017-06-27 10:56:41 +02:00
Boris Zbarsky 3966a1a2ea Bug 1324618 part 8. Implement restyling for first-letter frames. r=emilio
MozReview-Commit-ID: IPUDD1Q6AFq
2017-06-26 23:35:08 -07:00
Boris Zbarsky 650a2f7bf1 Bug 1324618 part 7. Set our new style context on all our continuations in ServoRestyleManager. r=emilio
MozReview-Commit-ID: 4gVXPDCPZnq
2017-06-26 23:35:08 -07:00
Boris Zbarsky 1a3c859dec Bug 1324618 part 5. Add a way to pass a different style context for later continuations to UpdateStyleOfOwnedChildFrame. r=emilio
We're going to want this for first-letter, because the primary frame and its continuations have different styles.

MozReview-Commit-ID: 6ZjtnRWXgd9
2017-06-26 23:35:08 -07:00
Boris Zbarsky 955487f7ab Bug 1324618 part 4. Implement a way to get the first-letter frame, if any, for a block. r=heycam
MozReview-Commit-ID: 1o0d5ugJ1hj
2017-06-26 23:35:07 -07:00
Carsten "Tomcat" Book bb1fe1fc10 Backed out changeset 049b20a12429 (bug 1324618) for bustage 2017-06-27 10:39:58 +02:00
Carsten "Tomcat" Book 96db50c5ec Backed out changeset b40d51d1f78e (bug 1324618) 2017-06-27 10:39:45 +02:00
Carsten "Tomcat" Book 4cc07d8aaf Backed out changeset 01deb185c67a (bug 1324618) 2017-06-27 10:39:41 +02:00
Carsten "Tomcat" Book d4cd7abe0a Backed out changeset 169cafc2d5f9 (bug 1324618) 2017-06-27 10:39:39 +02:00
Boris Zbarsky f9aed5db67 Bug 1324618 part 8. Implement restyling for first-letter frames. r=emilio
MozReview-Commit-ID: IPUDD1Q6AFq

--HG--
extra : rebase_source : e7f1b97fc43825de4617195edb4d9ed6bfbb12f2
2017-06-26 23:35:08 -07:00
Boris Zbarsky b78e40f149 Bug 1324618 part 7. Set our new style context on all our continuations in ServoRestyleManager. r=emilio
MozReview-Commit-ID: 4gVXPDCPZnq

--HG--
extra : rebase_source : c6f6102afee259daa92c41a083acf70cc52b93f3
2017-06-26 23:35:08 -07:00
Boris Zbarsky 0da68a43f6 Bug 1324618 part 5. Add a way to pass a different style context for later continuations to UpdateStyleOfOwnedChildFrame. r=emilio
We're going to want this for first-letter, because the primary frame and its continuations have different styles.

MozReview-Commit-ID: 6ZjtnRWXgd9

--HG--
extra : rebase_source : 52286f984973b9d0e1a1ea51c439e599eae00a38
2017-06-26 23:35:08 -07:00
Boris Zbarsky af8c5f3819 Bug 1324618 part 4. Implement a way to get the first-letter frame, if any, for a block. r=heycam
MozReview-Commit-ID: 1o0d5ugJ1hj

--HG--
extra : rebase_source : 6b6900ab2c6fdb3ae07af6e7915b1ecce8cf051d
2017-06-26 23:35:07 -07: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
Masatoshi Kimura b515c9c804 Bug 1373984 - Turn nsIDocument::mCharacterSet into mozilla::NotNull<const mozilla::Encoding*>. r=hsivonen
MozReview-Commit-ID: GF0YXDwfA14

--HG--
extra : rebase_source : fdae0046f882d47fb539a7f882364e5c5caafdcd
extra : source : 49249788c0dee331ac2989dc39f0505d965a7bd8
2017-06-18 20:37:50 +09:00
Kartikaya Gupta 34903d0ba6 Bug 1376215 - Stop exposing the WrClipRegionToken in WebRenderAPI.h APIs. r=jrmuizel
No functional changes intended in this patch. It merely simplifies the
additional patch that we'll need to update gecko past WR cset 0bf6655,
and saves some potential manual rebasing work.

MozReview-Commit-ID: Km8dBotP3NQ

--HG--
extra : rebase_source : 77c34ec1cbbc1c0fe4d1971feb131d30c97f0d66
2017-06-26 07:49:52 -04:00
Jonathan Kew 982e744811 Bug 1376136 - Remove the shapedText flag TEXT_IS_PERSISTENT, as nothing depends on it any longer. r=mats 2017-06-25 09:30:28 +01:00
Jonathan Kew 5c78152683 Bug 1371564 - Bustage fix, correct flag name in assertion. no_r=me 2017-06-24 21:50:14 +01:00
Jonathan Kew c81dc5d879 Bug 1371564 - Remove the long-obsolete TEXT_WAS_TRANSFORMED flag, don't waste time setting it. r=mats 2017-06-24 09:53:12 +01:00
Sebastian Hengst 001bb41985 Backed out changeset 9c822d8aad22 (bug 1371564) for build bustage: unused variable outputStart at nsTextFrameUtils.cpp:212. r=backout 2017-06-24 11:28:34 +02:00
Jonathan Kew a63c6cab0b Bug 1371564 - Remove the long-obsolete TEXT_WAS_TRANSFORMED flag, don't waste time setting it. r=mats 2017-06-24 09:53:12 +01:00
Ethan Lin 8b769c139d Bug 1367987 - Check 'CanOptimizeToImageLayer' to determine whether we should create image layer. r=mstange 2017-06-23 22:11:42 +08:00
Carsten "Tomcat" Book 7af37a52bd Merge mozilla-central to mozilla-inbound 2017-06-23 11:44:21 +02:00
Carsten "Tomcat" Book 5f51e5596e merge mozilla-inbound to mozilla-central a=merge 2017-06-23 11:28:19 +02:00
Nicholas Nethercote 58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00