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

12603 Коммитов

Автор SHA1 Сообщение Дата
Chris Peterson 43c2748f66 Bug 1277775 - Replace MOZ_CONSTEXPR{_VAR,_TMPL} with constexpr. r=froydnj 2016-07-08 14:39:53 -07:00
Carsten "Tomcat" Book 5784adf50e Merge mozilla-central to autoland 2016-07-08 12:18:14 +02:00
Xidorn Quan a3fdca80b5 Bug 1283721 - Use block-size rather than height for computing float available space. r=jfkthame
MozReview-Commit-ID: HyGmoYJDOkd

--HG--
extra : transplant_source : %21G%83%7B%8E%B5%26%3EW%F41%23dBD%8F%3A%9D%1DM
2016-07-07 16:48:21 +10:00
Benjamin Smedberg bf05496a83 Bug 1282866 - remove widget/qt and other supporting QT code, r=dougt. This patch does not remove all of the checks for MOZ_WIDGET_QT (which are dead code), but that will be a followup mentored bug.
MozReview-Commit-ID: EGqHHhCD7vD

--HG--
extra : rebase_source : a4b9593959dd3ba80189db47eabb056ea207490f
extra : amend_source : a744d833693f0fe7adbea961c00bb5fb55a91580
2016-07-07 12:14:25 -04:00
Hiroyuki Ikezoe d6944d301d Bug 1278136 - Part 2: We should not check whether the animation can run on the compositor or it's paused when determining if we should create a stacking context. r=birtles,mattwoodrow
We should create a stacking context for any transform or opacity animations
that are either "in effect" (what we currently do) OR "current", i.e.
scheduled to run or running. *BUT* for now, we don't create any stacking
context in before phase without fill:backwards or fill:both because the
property never wins in cascade until the animation gets "in effect".  This
restriction will be removed in a subsequent patch in this bug after landing
bug 1279403.

MozReview-Commit-ID: 8RyLJNPtoKI

--HG--
rename : layout/reftests/css-animations/stacking-context-transform-animation-ref.html => layout/reftests/css-animations/stacking-context-animation-ref.html
extra : rebase_source : 0d9c8d9e03ca0d400e9b376b9416fbabffd10034
2016-06-27 12:52:53 +09:00
Hiroyuki Ikezoe 7cc7e32a9b Bug 1278136 - Part 0: Clean up frame->StyleDisplay()->BackfaceIsHidden() usage. r=mattwoodrow
We already have a wrapper named nsIFrame::BackfaceIsHidden().

MozReview-Commit-ID: 5L49W6wtXs1

--HG--
extra : rebase_source : d3be8d028453e63fb2d3d96b5956262d352385ef
2016-07-08 13:01:31 +09:00
Markus Stange f8e66e0cdf Bug 1012752 - Snap scrolled area to layer pixels. r=tnikkel
We want the maximum scroll position to be aligned with layer pixels. That way
we don't have to re-rasterize the scrolled contents once scrolling hits the
edge of the scrollable area.

Here's how we determine the maximum scroll position: We get the scroll port
rect, snapped to layer pixels. Then we get the scrolled rect and also snap
that to layer pixels. The maximum scroll position is set to the difference
between right/bottom edges of these rectangles.
Now the scrollable area is computed by adding this maximum scroll position
to the unsnapped scroll port size.
The underlying idea here is: Pretend we have overflow:visible so that the
scrolled contents start at (0, 0) relative to the scroll port and spill over
the scroll port edges. When these contents are rendered, their rendering is
snapped to layer pixels. We want those exact pixels to be accessible by
scrolling.

This way of computing the snapped scrollable area ensures that, if you scroll
to the maximum scroll position, the right/bottom edges of the rendered
scrolled contents line up exactly with the right/bottom edges of the scroll
port. The scrolled contents are neither cut off nor are they moved too far.
(This is something that no other browser engine gets completely right, see the
testcase in bug 1012752.)

There are also a few disadvantages to this solution. We snap to layer pixels,
and the size of a layer pixel can depend on the zoom level, the document
resolution, the current screen's scale factor, and CSS transforms. The snap
origin is the position of the reference frame. So a change to any of these
things can influence the scrollable area and the maximum scroll position.
This patch does not make us adjust the current scroll position in the event
that the maximum scroll position changes such that the current scroll position
would be out of range, unless there's a reflow of the scrolled contents. This
means that we can sometimes render a slightly inconsistent state where the
current scroll position exceeds the maximum scroll position. We can fix this
once it turns out to be a problem; I doubt that it will be a problem because
none of the other browsers seems to prevent this problem either.

The size of the scrollable area is exposed through the DOM properties
scrollWidth and scrollHeight. At the moment, these are integer properties, so
their value is rounded to the nearest CSS pixel. Before this patch, the
returned value would always be within 0.5 CSS pixels of the value that layout
computed for the content's scrollable overflow based on the CSS styles of the
contents.
Now that scrollWidth and scrollHeight also depend on pixel snapping, their
values can deviate by up to one layer pixel from what the page might expect
based on the styles of the contents. This change requires a few changes to
existing tests.
The fact that scrollWidth and scrollHeight can change based on the position of
the scrollable element and the zoom level / resolution may surprise some web
pages. However, this also seems to happen in Edge. Edge seems to always round
scrollWidth and scrollHeight upwards, possibly to their equivalent of layout
device pixels.

MozReview-Commit-ID: 3LFV7Lio4tG

--HG--
extra : histedit_source : 5390eeebfe9a2791d9ac8e91ec1dfec4ec7b4118
2016-06-02 15:41:51 -04: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
Gregory Szorc 021d3fdfc7 Merge mozilla-central to mozilla-inbound 2016-07-06 18:26:17 -07:00
Xidorn Quan f01d901ec8 Bug 1283106 - Put empty skip chars in gfxPlatform singleton rather than static local variable. r=jfkthame
MozReview-Commit-ID: 5SU6ewm5wbd

--HG--
extra : rebase_source : f522172d3ca191ba33c222c497e91bb718fda23e
2016-07-05 11:02:24 +10:00
Timothy Nikkel 2b21f8f65d Bug 1277123. Only clear the containing block clip when entering an out of flow with an unknown clip. r=mattwoodrow
The content clip is still valid, as we are only descending into content descendants.

The clip for content descendants that the root scroll frame creates so content doesn't overflow (visually or for event handling) the main scrollbar can get cleared otherwise.
2016-07-06 16:55:17 -05: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
Kaku Kuo d1a8ed1358 Bug 1282710 - part 2 - Plumb the visibility event from nsIFrame to nsIDOMMediaElemnt; r=seth
MozReview-Commit-ID: DnlTghYdrug

--HG--
extra : transplant_source : N%9D%E9%7F2%14%92%A4%03%5E%801%2Bh%2C%BD%0F%20%98%0D
2016-06-29 17:36:24 +08:00
Gregory Szorc a7c8e9f3cc Merge autoland into mozilla-central; a=merge
--HG--
extra : amend_source : 8ffaee5cda76b1923f7ef1f5724473c8ed94fda3
2016-07-04 09:01:56 -07:00
Carsten "Tomcat" Book fcff88e7a8 Merge mozilla-central to autoland 2016-07-01 11:20:25 +02:00
Matt Woodrow 4f7d3bf72f Bug 1269321: Part 3 - Create a wrapper layer for masking when we can't support it on the normal layer. r=thinker
--HG--
extra : rebase_source : 2ad8ec40082c3cea7b811190a91b0324a4b0d8a2
2016-06-30 18:10:25 +02:00
Xidorn Quan 8bb94fa4a4 Bug 1141895 part 2 - Use unprefixed unicode-bidi values in internal code. r=jfkthame
MozReview-Commit-ID: 1o2NEe8eiSX

--HG--
extra : rebase_source : b09e931fc8e318ceda224fe9c02dd7931c75f8ed
2016-06-30 16:25:31 +10:00
Stone Shih 0b7ae24e93 Bug 1260704 - Instead of handling mouse up event, we handle mouse click event to trigger links. r=smaug
--HG--
extra : rebase_source : c6d0b5d066ad9fae37c6c2d4b1d72d404966009f
2016-05-16 15:45:43 +08:00
Carsten "Tomcat" Book 3a42c363cc merge mozilla-inbound to mozilla-central a=merge 2016-06-30 12:33:41 +02:00
Kartikaya Gupta 63a50e8725 Bug 1253683 - Don't layerize scrollframes which are overflow:scroll but not actually scrollable. r=tnikkel
MozReview-Commit-ID: 6DUE3PB2hLI

--HG--
extra : rebase_source : 2e9aa59f5545a14ec70dcb6b7fbaf97bcce5dd0b
2016-06-29 14:29:40 -04:00
Carsten "Tomcat" Book 13ce7275a3 Merge mozilla-central to autoland 2016-06-29 16:22:44 +02:00
Xidorn Quan c353935ab6 Bug 1160847 part 3 - Restore virtual bidi control characters for reordering. r=jfkthame
This patch mainly consists of two parts, one for resolving and the other
for reordering.

In the resolving part, the added code stores the lowest embedding level
of all bidi formatting characters precede a frame to the bidi data of
that frame when necessary.

In the reordering part, virtual frame is restored from the information
stored above before asking the bidi engine to reorder frames

Collapsing a run of continuous virtual formatting characters into one
virtual character with the lowest embedding level among them should work
because a character with a higher embedding level than either of its
neighbors should not affect the reordering result of any other part of
the sequence. (No formal proof of this theorem, though)

MozReview-Commit-ID: LQjRu0mWsZP

--HG--
extra : source : 5d0cf1cbd270e9963d848a23b37528ed503ed6a0
2016-06-29 17:47:18 +10:00
Xidorn Quan 90c5357c7f Bug 1160847 part 2 - Add glue to nsBidiPresUtils to use support for bidi isolate in nsBidi. r=jfkthame
This patch is mainly based on smontagu's wip patch. Some non-trivial differences:

* BidiParagraphData.mIsolateCount and related code are not added in this patch.
  I investigated uses of this field in the wip patch, and it seems to me none of
  them makes sense:
  1. in the fast path of nsBidiPresUtils::ResolveParagraph, if there would be
     any isolate character in the surrounding text, there must exist more than
     one runs, which indicates the isolate count condition is redundant.
  2. in handle of br frame in nsBidiPresUtils::TraverseFrames, based on my
     understanding of "CSS Writing Modes Level 3" section "2.4.4. Paragraph
     Breaks Within Embeddings and Isolates", the resolving should happen
     unconditionally.

* {control,override}Char in nsBidiPresUtils::TraverseFrames are assigned
  unconditionally when in a bidi inline container, so that we can properly
  handle it when there are continuations. I suspect this was the reason of
  regressions in dynamic reftests from the wip patch mentioned in comment 1.

MozReview-Commit-ID: LUdBAapA48e

--HG--
extra : source : 28fa56b841de689691375e8e2d5e56014921b48e
2016-06-29 17:47:00 +10:00
Ting-Yu Lin 8c5af6b331 Bug 1282029 Part 2 - Update comments. r=dbaron
MozReview-Commit-ID: AB01qG99GeH

--HG--
extra : rebase_source : 333e0c02f9b6ef6daadd841cf4be2e35e72158c3
2016-06-24 17:47:33 +08:00
Ting-Yu Lin b1101f8897 Bug 1282029 Part 1 - Remove superfluous access modifiers. r=dbaron
MozReview-Commit-ID: 5HRNtYECUjU

--HG--
extra : rebase_source : d0cc30bcd72168d1da345dcb72e9f41876977755
2016-06-24 17:47:32 +08:00
Brad Werth bb6b3396a0 Bug 1243559 - Removes static casts from calls to FrameProperties::Get, ::Set, and ::Remove, and forces callers to use the type associated with the property. r=dbaron 2016-06-21 13:17:11 -07:00
Ray Lin e1b4b9465e Bug 985915 - Vertically move up closed caption to not overlap control bar. r=rillian
MozReview-Commit-ID: HzJ3ppbmQnk

--HG--
extra : rebase_source : dda5febc3c799c375e4dbe39cf52f96504740b55
2016-06-27 11:22:15 +08:00
Stone Shih f3651866bf Bug 1261673: Handle wheel event when mouse cursor is hovered on a focused number input as increasing/decreasing it's value. r=smaug 2016-05-06 18:39:10 +08:00
Xidorn Quan 677cf917fd Bug 1275059 - Crashtest for this bug. DONTBUILD
MozReview-Commit-ID: FrJS2Y4ChGH

--HG--
extra : source : f9075e29d12b3f07a740320537c0a3b008fd8dbf
2016-07-04 13:36:08 +10:00
Matt Woodrow b4b0f124bf Bug 1283827 - Flatten transform-style:preserve-3d when combined with opacity. r=dbaron
This matches the behaviour required by the latest editor's draft spec and matches what blink is planning on shipping soon.
It may not be an entirely web compatible change, but we expect only a small number of websites to be affected. See
the bug for more details.
2016-07-02 14:47:12 +02:00
Xidorn Quan 5c09ece8ab Bug 1281457 - Compute justification spacing eagerly in SetupJustificationSpacing. r=jfkthame
Before this change, SetupJustificationSpacing calls ComputeJustification
to compute how justification gaps are assigned to characters, and store
them in the PropertyProvider instance. When GetSpacing is called, those
information would be used to compute actual spacings from justification
before/after each character.

The bug is that, GetSpacing did not take gaps before the given range
into account when computing the spacing, which leads to unstable results
when range varies because of ignorance of accumulated error.

This patch changes it to eagerly computing the actual spacings inside
SetupJustificationSpacing, so that GetSpacing just queries the result
from mJustificationSpacings.

MozReview-Commit-ID: HoWqeOhD85w

--HG--
extra : source : 3838277a3883b6958293cb043bd14d8462bf4e8e
2016-06-28 10:26:47 +10:00
Makoto Kato fb90c3584f Bug 1203871 - Part 1. Add nsIFrame::GetCharacterRectsInRange. r=jfkthame
Masayuki suggests GetCharcterRectsInRange instead of first idea's API by part 2 implementation.

IME wants to need the width per character.  Now nsTextFrame/nsIFrmae has only API to get point of string.  So I want to add this method to calculate simply by comment #3.

If no text frame,  I would like to return error due to no character.  (Caller shouldn't call this API on non-text frame.)

MozReview-Commit-ID: LQHUTzhnGn

--HG--
extra : rebase_source : bc495493c7be73afb05489ad2169e8dcdd6e6da4
extra : histedit_source : e54a7c3bfb100765317a0c8a83b432d5f706ffe1
2016-06-23 12:02:14 +01:00
Geoff Brown 1757b081e2 Bug 1263300 - Skip crashtest 724978.xhtml on Android Debug only; r=dholbert 2016-06-28 20:41:32 -06:00
Jonathan Kew 48c59f0c3d Bug 1282248 - Declare a bunch of gfxTextRun measurement/drawing methods and related helpers as const. r=m_kato 2016-06-27 17:41:55 +01:00
Phil Ringnalda 28ae5ce216 Back out changeset 0bb00282a4c2 (bug 1243559) for widespread SVG assertion failures
CLOSED TREE
2016-06-22 18:45:08 -07:00
Brad Werth 179aa18d0d Bug 1243559 - Removes static casts from calls to FrameProperties::Get, ::Set, and ::Remove, and forces callers to use the type associated with the property. r=dbaron
--HG--
extra : rebase_source : fd19554f1611f8028a364ce93e833d8939688bfb
2016-06-21 13:17:11 -07:00
Xidorn Quan 05dcd227c5 Bug 1281099 part 2 - Merge three bidi frame properties into one. r=jfkthame
MozReview-Commit-ID: CEJhM3c21KO

--HG--
extra : rebase_source : 9e21c098692429ad3b35b2230887faf85c967ce8
2016-06-21 17:53:10 +10:00
Xidorn Quan c81ed5494f Bug 1281099 part 1 - Convert some macros to functions to help later change. r=jfkthame
MozReview-Commit-ID: 2OS5eIsNAYN

--HG--
extra : rebase_source : 345e33f986aa950eb122c1cc7451c7a59a8f84cb
2016-06-21 17:21:09 +10:00
Jesse Ruderman 7316c2f255 Bug 757413 - crashtest. 2016-06-21 13:23:29 +02:00
Mats Palmgren 5198fc4629 Bug 757413 - crashtest. 2016-06-21 13:23:28 +02:00
Abhishek Arya 2cc1b42a0f Bug 876155 - crashtest. 2016-06-21 13:23:28 +02:00
Masayuki Nakano 13d4f396fe Bug 1185307 part.2 Replace upcast from nsISelection to mozilla::dom::Selection with nsISelection::AsSelection() r=smaug
MozReview-Commit-ID: Gs3oiAgJFG9

--HG--
extra : rebase_source : a136405d99ff3361a595157986b3a33026bcd5f5
2016-06-17 22:32:49 +09:00
Masayuki Nakano 7b7ebc96f8 Bug 1185307 part.1 Add nsISelection::AsSelection() r=smaug
This patch adds nsISelection::AsSelection() for safer "upcast".

MozReview-Commit-ID: LlxoMaU0oE

--HG--
extra : rebase_source : 8b2fce25888bb256970ea1cb741a9f6fbe6dc542
2016-06-17 16:16:10 +09:00
Xidorn Quan c9fe7c3435 Bug 1186892 - Handle url strikeout separately from IME selection types. r=jfkthame
MozReview-Commit-ID: CVwoKiMOHj9

--HG--
extra : source : d3aa2bc573dd575f12a1e585792cfaf37a7f5659
2016-06-21 08:19:21 +10:00
Mats Palmgren 583415c203 Bug 1174569 - [css-grid] Use the resolved column sizes to guide intrinsic row sizing. r=dholbert 2016-06-20 13:28:03 +02:00
Ting-Yu Lin a178b8185c Bug 1280647 - Rename nsStyleDisplay member mFloats to mFloat. r=dholbert
Also rename mOriginalFloats to mOriginalFloat.

MozReview-Commit-ID: COfmU34CtJU

--HG--
extra : rebase_source : 5b203dd9f0161f353a4a0b95003afe4af1d1480e
2016-06-18 22:16:20 +01:00
Kyle Zentner b0138383bd Bug 1166728 - Remove support for "box-sizing: padding-box", per CSS WG resolution. r=dholbert r=mats
MozReview-Commit-ID: JClqoCUrm11
2016-06-18 23:03:30 +01:00