Commit Graph

514 Commits

Author SHA1 Message Date
L. David Baron
e4eca7e523 Bug 1377497 - Pass the correct writing mode to SizeComputationInput::DisplayInitOffsetsEnter. r=jfkthame
This avoids asserting when the writing mode doesn't correspond to the
one stored (DEBUG-only) in aPercentBasis.

MozReview-Commit-ID: KKqms9X17SS
2017-07-07 09:20:56 -07:00
Sebastian Hengst
9a573eb769 Backed out changeset f07caa23cdbb (bug 1377497) for bustage at layout/generic/ReflowInput.cpp:2543: macro "DISPLAY_INIT_OFFSETS" passed 6 arguments, but takes just 5. r=backout on a CLOSED TREE 2017-07-07 18:52:50 +02:00
L. David Baron
4c83ba1936 Bug 1377497 - Pass the correct writing mode to SizeComputationInput::DisplayInitOffsetsEnter. r=jfkthame
This avoids asserting when the writing mode doesn't correspond to the
one stored (DEBUG-only) in aPercentBasis.

MozReview-Commit-ID: KKqms9X17SS
2017-07-07 09:20:56 -07:00
Sylvestre Ledru
9d4a84d778 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG
2017-07-06 14:00:35 +02:00
Masayuki Nakano
a38c1205f8 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
2017-06-29 10:58:16 +09:00
cku
5384d74c65 Bug 265894 - Part 6. Create symbol frame in nsCSSFrameConstructor. r=heycam
MozReview-Commit-ID: LgO1WKo46Pu
2017-06-14 21:53:34 +08:00
Cameron McCormack
d5752992c6 Bug 1364361 - Part 1: Refactor frame anon box restyling machinery so it can return a list of anon boxes. r=bholley,bz
MozReview-Commit-ID: 3InVAUw8djN
* * *
Bug 1364361 - Followup to address review comment. r=me

MozReview-Commit-ID: IpdoSon9MAj
2017-06-16 17:22:33 +08:00
Sebastian Hengst
93e7f53982 Backed out changeset e7ec499159f7 (bug 1364361) for bustage at nsIFrame.h:3348: bad implicit conversion constructor for 'OwnedAnonBox'. r=backout 2017-06-16 11:19:03 +02:00
Cameron McCormack
df3c33576a Bug 1364361 - Part 1: Refactor frame anon box restyling machinery so it can return a list of anon boxes. r=bholley,bz
MozReview-Commit-ID: 3InVAUw8djN
* * *
Bug 1364361 - Followup to address review comment. r=me

MozReview-Commit-ID: IpdoSon9MAj
2017-06-16 15:32:40 +08:00
Sebastian Hengst
2e4ae50c3e Backed out changeset 12db2d364b64 (bug 1364361) for heap write hazard. r=backout 2017-06-16 09:27:42 +02:00
Cameron McCormack
4e8ef7f9fb Bug 1364361 - Part 1: Refactor frame anon box restyling machinery so it can return a list of anon boxes. r=bholley,bz
MozReview-Commit-ID: 3InVAUw8djN
2017-05-22 13:14:32 +08:00
Alexis Beingessner
3117218f13 Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-13 11:00:10 -04:00
Sebastian Hengst
1b1d14e565 Backed out changeset 3d1ce85e6348 (bug 1088760) for bustage, at least on Android at layout/generic/nsPluginFrame.cpp:1612. r=backout 2017-06-13 00:30:03 +02:00
Alexis Beingessner
c6fbc5e17e Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-12 17:32:48 -04:00
Mats Palmgren
6a8fbc8c30 Bug 1364805 part 4 - Remove the now unused LayoutFrameType values from the ctors. r=jfkthame
MozReview-Commit-ID: 1RSDoc3pQXf
2017-05-26 12:11:11 +02:00
Mats Palmgren
450c7ae245 Bug 1364805 part 2 - Add a nsIFrame::mClass field and propagate the concrete class' value up the ctor chain. r=jfkthame
nsIFrame::mClass is of type enum class nsQueryFrame::ClassID which is
a strict subset of the nsQueryFrame::FrameIID values.  For a concrete
frame class, its FrameIID is the same numeric value as its ClassID.

MozReview-Commit-ID: 1N0AkCGo1ol
2017-05-26 12:11:11 +02:00
Mats Palmgren
69cf8c00c7 Bug 1364805 part 1 - Make every concrete frame class be a NS_DECL_QUERYFRAME_TARGET. r=jfkthame
MozReview-Commit-ID: Gy9gcEYupeY
2017-05-26 12:11:11 +02:00
Emilio Cobos Álvarez
643f3f8618 Bug 1361051: rename mozilla::FrameType to mozilla::LayoutFrameType. r=xidorn
This avoids conflicts with mozilla::dom::FrameType.

MozReview-Commit-ID: 7aEMbHRaTFk
2017-05-01 19:32:52 +02:00
Emilio Cobos Álvarez
3731858edf Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam
MozReview-Commit-ID: 5Nzhyta5Hle
2017-04-30 17:30:08 +02:00
Eric Rahm
61aef92654 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
683f0d5571 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
fcf1999622 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
279393753b 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
2911a72040 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
b6d02a70c9 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
2017-02-10 17:29:10 +08:00
Tom Tromey
324f0524a0 Bug 1060419 - make nsFrame.cpp use VsprintfLiteral, r=froydnj
MozReview-Commit-ID: 8g4E4mLj289
2016-12-09 14:03:53 -10:00
Neerja Pancholi
01c4e7c72f 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
2017-01-30 13:22:45 -08:00
Daniel Holbert
6a812a257c 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
a6b89fee00 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
db0274d5f3 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
5092d2d68f 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
9fd21ed78d Bug 1320815 - Make nsIFrame::IsSelectable non-virtual, and move implementation from nsFrame to nsIFrame. r=xidorn
MozReview-Commit-ID: HphEFug7EbQ
2016-11-28 15:31:29 -08:00
Mats Palmgren
3d9028fde0 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
f00cf4e1ad 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
f8f540104c 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
62a1eae26d Bug 1291667 - Change NS_STYLE_USER_SELECT_* constants to enum classes; r=heycam,manishearth
MozReview-Commit-ID: IcDt3XYvdlj
2016-08-10 21:42:21 +05:30
Ting-Yu Lin
d3e8cf1818 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
2016-07-21 18:36:39 +08:00
Ting-Yu Lin
bb0825b5c7 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
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
de4d3e400d Bug 1277129 Part 5a - Move nsHTMLReflowMetrics into mozilla namespace. r=dbaron
MozReview-Commit-ID: 7xrd1AMd0bz
2016-07-21 18:36:37 +08:00
Ting-Yu Lin
0623510910 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
2016-07-21 18:36:35 +08:00
Ting-Yu Lin
10912a51e3 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
2016-07-21 18:36:35 +08:00
Ting-Yu Lin
216cc0ba39 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
2016-07-21 18:36:34 +08:00
Ting-Yu Lin
2f07ffd67b Bug 1277129 Part 1a - Move nsHTMLReflowState and nsCSSOffsetState into mozilla namespace. r=dbaron
MozReview-Commit-ID: DJfEQRCgNo3
2016-07-21 18:36:34 +08:00
Makoto Kato
82adc21cb9 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
2016-06-23 12:02:14 +01:00
Ralph Giles
86d44f2eb6 Bug 1275744 - Reference MOZ_LOG in layout comments. r=erahm
NSPR_LOG_MODULES is deprecated.

MozReview-Commit-ID: KGA9AzNUqnP
2016-05-26 11:40:17 -07:00
Matt Woodrow
61200a9c5c 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
6fb63a21d2 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
15df9934a9 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
62a468a6c1 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
8f4665f9af 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