497 Commits

Author SHA1 Message Date
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
Eric Rahm
89708e6a2a Bug 1353143 - Part 5: Replace direct usage of PR_LogPrint. r=froydnj
This replaces the usage of |PR_LogPrint| with either |printf_stderr| or
|MOZ_LOG| where appropriate. |printf_stderr| is used where a logger is not
actually available or if log levels are not being used as expected.
2017-04-04 14:36:21 -07:00
Mats Palmgren
896c347cb8 Bug 1348665 part 2 - Remove the ViewProperty and store the nsView* in a field on the relevant frame classes instead. r=tnikkel
The relevant frame classes are:
SubDocumentFrame
ListControlFrame (only when used for (non-e10s?) comboboxes)
PluginFrame
ViewportFrame
MenuPopupFrame

The view is now created in the frame's Init() method, except for
ViewportFrame which has its view assigned by the frame constructor
via a SetView() call.

MozReview-Commit-ID: 4O7Hm1yqwIp
2017-03-21 01:22:13 +01:00
Mats Palmgren
48fe777dbb Bug 1348665 part 1 - Move a few nsView related methods from nsContainerFrame to nsIFrame/nsFrame (idempotent patch). r=dholbert
Views are used for PluginFrame which inherits nsFrame, not nsContainerFrame,
so it's more appropriate that these methods should live in nsIFrame/nsFrame.

MozReview-Commit-ID: 87EgCnkF5YT
2017-03-21 01:22:13 +01:00
Boris Zbarsky
50936b7afe Bug 1343771. Fix stylo to properly update styles on the anonymous block inside a table cell. r=emilio
MozReview-Commit-ID: 8LnPTKVxxVc
2017-03-03 16:14:39 -05:00
Mats Palmgren
e8c6fd3388 Bug 1342801 - Store the 'writing-mode' used value on nsIFrame and make GetWritingMode non-virtual. r=jfkthame
MozReview-Commit-ID: HPhuxjDbOdh
2017-02-28 18:58:30 +01:00
Ting-Yu Lin
9c347956ae Bug 775624 Part 1 - Convert nsReflowStatus to a class mimicking uint32_t. r=dholbert
Lay down the foundation for this refactor work so that nsReflowStatus could
be converted to bit-fields piece by piece, and each patch can be built (but
may not pass tests).

This change causes some build warnings, due to some debug logs printing
nsReflowStatus as an integer, but that will be fixed by Part 24 later.

All the operators related to uint32_t will be removed at the end of this
patch series by Part 23.

The yoda conditions are swapped in order to build successfully.

DisplayReflowExit() incorrectly declares aStatus as uint32_t. Change it to
const reference because nsReflowStatus is now a class.

MozReview-Commit-ID: 5DOpaP85ywJ

--HG--
extra : rebase_source : 53ca0750b5f764fcbf7ba2d00c9ec606aed704c2
2017-02-10 17:29:10 +08:00
Tom Tromey
3fc18f2e33 Bug 1060419 - make nsFrame.cpp use VsprintfLiteral, r=froydnj
MozReview-Commit-ID: 8g4E4mLj289

--HG--
extra : rebase_source : e8e8ef49694f8d6a6ff331ab25f5ab1f48ee48d9
2016-12-09 14:03:53 -10:00
Neerja Pancholi
2d0231a9be Bug 1166147 - Part3: Override GetWritingMode() and make it more robustly defer to root element, to avoid truncating printed vertical-WM docs. r=dholbert
MozReview-Commit-ID: IYM3gzf1CpS

--HG--
extra : rebase_source : fa8afc85a6f3139c3c8f296ed3a469a87020a746
2017-01-30 13:22:45 -08:00
Daniel Holbert
1c1b78e4b7 Bug 1331756 part 4: Miscellaneous whitespace cleanup in nsFrame.h - reindent args, rewrap long methods (whitespace-only, no review)
MozReview-Commit-ID: 6zsFJ8om369
2017-01-17 16:27:03 -08:00
Daniel Holbert
835931f57f Bug 1331756 part 3: Remove extra space character between return value & function name, in some nsFrame.h method declarations. (whitespace-only, no review)
MozReview-Commit-ID: ANyG6tB2NJP
2017-01-17 16:27:03 -08:00
Daniel Holbert
e9a569a3a8 Bug 1331756 part 2: Drop redundant 'virtual' keyword from nsFrame method overrides. r=xidorn
(This patch creates some mis-indentation issues; I'll fix those up in a
subsequent whitespace-only patch.)

MozReview-Commit-ID: 7gi8kmi8ZAF
2017-01-17 16:27:03 -08:00
Daniel Holbert
ec6d60e965 Bug 1331756 part 1: Drop redundant 'virtual' keyword from some macros that declare nsIFrame method overrides. r=xidorn
MozReview-Commit-ID: EjPoyunTLsc
2017-01-17 16:27:02 -08:00
L. David Baron
813fb8c039 Bug 1320815 - Make nsIFrame::IsSelectable non-virtual, and move implementation from nsFrame to nsIFrame. r=xidorn
MozReview-Commit-ID: HphEFug7EbQ

--HG--
extra : rebase_source : 86fe78f54940b1866ab737013658082799e09ef9
2016-11-28 15:31:29 -08:00
Mats Palmgren
a6089b50fc Bug 1300369 part 9 - Add a ComputeSizeFlags param to nsFrame::ComputeSizeWithIntrinsicDimensions (idempotent patch). r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren
ddb49488f0 Bug 1300369 part 8 - Move nsLayoutUtils::ComputeSizeWithIntrinsicDimensions to a nsFrame method (idempotent patch). r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren
e78d14df88 Bug 1300369 part 4 - Refactor all ComputeAutoSize methods to take the full ComputeSizeFlags instead of just a "bool aShrinkWrap" for the eShrinkWrap flag (idempotent patch). r=dholbert 2016-11-05 02:57:06 +01:00
Ravi Shankar
61b118d165 Bug 1291667 - Change NS_STYLE_USER_SELECT_* constants to enum classes; r=heycam,manishearth
MozReview-Commit-ID: IcDt3XYvdlj

--HG--
extra : rebase_source : ea426ac572b6adfc09fd9440e45a0c26adde4373
2016-08-10 21:42:21 +05:30
Ting-Yu Lin
40fcd21b9a Bug 1277129 Part 7b - Rename various ReflowState variables to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "([[:alpha:]]*)([rR])eflowState(s?)" "\1\2eflowInput\3"

MozReview-Commit-ID: ITFO7uMTkSb

--HG--
extra : rebase_source : c91a2e174a0baec60c1b0111ac7636295004ab35
2016-07-21 18:36:39 +08:00
Ting-Yu Lin
4053c4c028 Bug 1277129 Part 5c - Rename nsHTMLReflowMetrics to ReflowOutput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "nsHTMLReflowMetrics" "ReflowOutput"

MozReview-Commit-ID: 2HBb7DkooH5

--HG--
extra : rebase_source : acfa442a6483772fcb5748dc6f5e7072e599032a
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
6f2f38fcd7 Bug 1277129 Part 5a - Move nsHTMLReflowMetrics into mozilla namespace. r=dbaron
MozReview-Commit-ID: 7xrd1AMd0bz

--HG--
extra : rebase_source : 4faa0b6adc233bb853a8646856dd3dc3e8422566
2016-07-21 18:36:37 +08:00
Ting-Yu Lin
154af05659 Bug 1277129 Part 1d - Rename nsCSSOffsetState to SizeComputationInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename nsCSSOffsetState SizeComputationInput

MozReview-Commit-ID: GUJ99qNiSwD

--HG--
extra : rebase_source : cf4e6c35338e1e9d4ee106305548075b2c1bdcb1
2016-07-21 18:36:35 +08:00
Ting-Yu Lin
820f88de49 Bug 1277129 Part 1c - Rename nsHTMLReflowState to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename nsHTMLReflowState ReflowInput

MozReview-Commit-ID: 9r9vdVv1pXc

--HG--
extra : rebase_source : 623ec822996ba0ea0058dd137acf5a658cdea04a
2016-07-21 18:36:35 +08:00
Ting-Yu Lin
d444310eb1 Bug 1277129 Part 1b - Rename nsHTMLReflowState.h/cpp to ReflowInput.h/cpp and fix #includes. r=dbaron
The #includes are fixed by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "nsHTMLReflowState\.h" "mozilla\/ReflowInput\.h"

MozReview-Commit-ID: FjwHA4YRHNv

--HG--
rename : layout/generic/nsHTMLReflowState.cpp => layout/generic/ReflowInput.cpp
rename : layout/generic/nsHTMLReflowState.h => layout/generic/ReflowInput.h
extra : rebase_source : e4215620717df436a51243cee689286cfabc7c71
2016-07-21 18:36:34 +08:00
Ting-Yu Lin
39dffbe21b Bug 1277129 Part 1a - Move nsHTMLReflowState and nsCSSOffsetState into mozilla namespace. r=dbaron
MozReview-Commit-ID: DJfEQRCgNo3

--HG--
extra : rebase_source : add4c7a843f956114b2b9dfe20fba1048139ca5f
2016-07-21 18:36:34 +08: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
Ralph Giles
19a3dd8d6a Bug 1275744 - Reference MOZ_LOG in layout comments. r=erahm
NSPR_LOG_MODULES is deprecated.

MozReview-Commit-ID: KGA9AzNUqnP

--HG--
extra : rebase_source : e3b4913f529be38da65a03e0961ee2cf8a9a7789
2016-05-26 11:40:17 -07:00
Matt Woodrow
47cde44daf Bug 1243610 - Refactor UpdateOverflow to separate out local overflow from that contributed by descendants. r=dbaron 2016-05-04 12:27:43 +12:00
L. David Baron
1fff16a212 Bug 1053986 - Rename nsBox::DoLayout to DoXULLayout. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

(While this wasn't explicitly reviewed, I'm considering it as r=dholbert
based on the request in comment 47 in the bug.)

MozReview-Commit-ID: 6Q0F4ViOyjJ
2016-04-20 21:28:35 -07:00
L. David Baron
4754370cbd Bug 1053986 - Rename nsIFrame::GetBoxAscent to GetXULBoxAscent. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: EDkbMQKqPg6
2016-04-20 21:28:32 -07:00
L. David Baron
8e7c9500e2 Bug 1053986 - Rename nsIFrame::GetFlex to GetXULFlex. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: DNL01eSXB73
2016-04-20 21:28:31 -07:00
L. David Baron
c760cfbbb8 Bug 1053986 - Rename nsIFrame::GetMaxSize to GetXULMaxSize, and related methods. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: 39fYXMz7kqR
2016-04-20 21:28:31 -07:00
L. David Baron
87a69b43fb Bug 1053986 - Rename nsIFrame::GetPrefSize to GetXULPrefSize, and related methods. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: yvcAZ8rndu
2016-04-20 21:28:31 -07:00
L. David Baron
814003bbcc Bug 1053986 - Rename nsIFrame::GetMinSize to GetXULMinSize, and related methods. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: Jhe3o3kIOe0
2016-04-20 21:28:31 -07:00
Boris Chiou
63c80baf35 Bug 1182856 - Part 3: Cancel transitions for destroy frames. r=heycam
Add HasCSSTransition() and cancel transitions for destroyed frames.

--HG--
extra : rebase_source : e59bf42a26438fe4d60a31868034afe9c01033d5
2016-04-10 21:29:00 +02:00
Nicholas Nethercote
06e901cb9f Bug 1231550 - Use DrawTarget instead of gfxContext and/or nsRenderingContext in many places in font/text code. r=jfkthame.
AutoTextRun now only needs a DrawTarget instead of an nsRenderingContext, and
similar nsRenderingContext/gfxContext-to-DrawTarget replacements can be
propagated a long way up the call graph. This patch replaces 93 occurrences of
nsRenderingContext and 135 occurrences of gfxContext with DrawTarget; that's
13% of them.

The patch is mostly plumbing changes. A couple of not-entirely-plumbing
changes:

- It adds a comment about the null check in
  gfxGlyphExtents::GetTightGlyphExtentsAppUnits().

- A couple of functions simply had an unused gfxContext or nsRenderingContext
  parameter removed, e.g. SetLineBreaks().

--HG--
extra : rebase_source : 8f56994bb4d254a86788b17ab2864ebc758a7e6b
2015-12-15 13:56:41 -08:00
Nicholas Nethercote
43de6de5c5 Bug 1231256 (part 1) - Remove unused nsBoxLayoutState parameters from many functions. r=roc.
--HG--
extra : rebase_source : d9b86154d4cfc8f195e7cd86b6e8e60af52efaa9
2015-12-07 10:17:47 -08:00
Nicholas Nethercote
16cd9db041 Bug 1230863 - Remove unused nsPresContext args from many functions. r=roc. 2015-12-06 17:15:53 -08:00
sajitk
85550613ed Bug 1219470 - Replace PRLogModuleInfo with LazyLogModule. r=roc 2015-11-05 23:35:03 +01:00
Hiroyuki Ikezoe
443e1dfb4b Bug 1197620 - Part 3: Terminate *all* animations if corresponding element style is changed to display:none. r=bbirtles 2015-11-06 07:21:38 +09:00
Xidorn Quan
a1dd9fc19e Bug 1216332 - Remove framearena helpers from abstract frame classes and stop them from being instantiated. r=dbaron
--HG--
extra : source : 9f59591f02706190e56db8ad89ff5a769b5c47dd
2015-11-04 20:57:35 +11:00
Daniel Holbert
d6fe9b1f50 Bug 497495 late-breaking followup: s/GetAllocatedSize/GetFrameId/ in documentation, to reflect the same change having happened in code. (no review, comment-only, DONTBUILD) 2015-10-19 16:45:57 -07:00
CJ Ku
009a82453e Bug 1061393 - Export display list info to layer scope viewer. r=kamidphish 2015-08-03 02:11:00 -04:00
Markus Stange
c0c566b251 Bug 1178382 - Ignore overflow: -moz-hidden-unscrollable on <select size=n> listboxes. r=roc
forms.css sets overflow: -moz-hidden-unscrollable on all select elements.
ApplyOverflowClipping in nsFrame.cpp applies overflow clips that are not managed by scroll frames.
nsCSSFrameConstructor::ConstructSelectFrame creates an nsListControlFrame for listbox select elements.
nsListControlFrame is an nsHTMLScrollFrame.
As a result, the clip as applied twice - once by the nsHTMLScrollFrame, and then again by ApplyOverflowClipping.
Adding an exception for nsListControlFrame to ShouldApplyOverflowClipping gets rid of the double clip.
But we still need to apply the clip when calculating the frame's visual overflow rect, so we add the
list box frame type to the list of special-cased frames in UnionBorderBoxes.

--HG--
extra : rebase_source : d334647f84e5ebda2e7121c772e3b1ecec0d23a4
2015-07-06 17:57:37 -04:00
Phil Ringnalda
e1b3bafbc3 Back out 0642a5722c59 (bug 1178382) for OS X reftest failures in 825999.html 2015-07-03 19:44:39 -07:00
Markus Stange
4e59bfd404 Bug 1178382 - Ignore overflow: -moz-hidden-unscrollable on <select size=n> listboxes. r=roc
forms.css sets overflow: -moz-hidden-unscrollable on all select elements.
ApplyOverflowClipping in nsFrame.cpp applies overflow clips that are not managed by scroll frames.
nsCSSFrameConstructor::ConstructSelectFrame creates an nsListControlFrame for listbox select elements.
nsListControlFrame is an nsHTMLScrollFrame.
As a result, the clip as applied twice - once by the nsHTMLScrollFrame, and then again by ApplyOverflowClipping.
Adding an exception for nsListControlFrame to ShouldApplyOverflowClipping gets rid of the double clip.

--HG--
extra : amend_source : e6c8e548e31b3f1740f2c32a3aaff560f72d3427
2015-07-03 20:11:51 -04:00
Mats Palmgren
479bf4c89b Bug 1174450 part 9 - Remove the nsRenderingContext* param from Intrinsic*SizeOffsets methods since it's unused. r=jfkthame 2015-06-16 11:21:04 +00:00
Jonathan Kew
6dbc322879 Bug 1079151 - patch 2 - Convert nsAbsoluteContainingBlock to use logical coordinates. r=smontagu 2015-06-05 08:47:09 +01:00
Simon Montagu
7f1b0db94c Bug 1147834: Use abstract coordinates in nsHTMLReflowState, r=jfkthame 2015-06-04 03:43:02 -07:00