Commit Graph

544 Commits

Author SHA1 Message Date
Ting-Yu Lin
2f177a0a73 Bug 1299753 Part 3 - Reuse ConstructScrollableBlock to build scrollable DetailsFrame. r=bz
MozReview-Commit-ID: 1yAhuKqurHf

--HG--
extra : rebase_source : 2a77db937d09f98b81dd73e61419ebde82a3ad48
2016-09-08 15:38:06 +08:00
Ting-Yu Lin
13f0d4632f Bug 1299753 Part 2 - Create block formatting context for DetailsFrame if needed. r=bz
nsCSSFrameConstructor::ConstructNonScrollableBlock() has logic to
determine whether to create a block formatting context for a block
frame. I refactor the function to make it reusable by
nsCSSFrameConstructor::ConstructDetailsFrame().

Also, make NS_NewBlockFrame() accept two arguments as other frame
factory functions so that it could be pointed by BlockFrameCreationFunc.
NS_NewBlockFormattingContext is changed accordingly.

The construction for a scrollable DetailsFrame will be further revised
in Part 3.

MozReview-Commit-ID: 8TwG9YMyGva

--HG--
extra : rebase_source : fffdd974df81a809a607491d2534aa8dd2d13ab1
2016-09-07 14:45:42 +08:00
Emilio Cobos Álvarez
619cb14d87 Bug 1299066: Make NS_STYLE_DISPLAY_* an enum class. Prefer indexing instead of linear search in the frame constructor r=heycam,bz
The main renaming was generated with the following python script:

```

import sys
import re

CAMEL_CASE_REGEX = re.compile(r"(^|_|-)([A-Z])([A-Z]+)")
DISPLAY_REGEX = re.compile(r"\bNS_STYLE_DISPLAY_([^M][A-Z_]+)\b")

def to_camel_case(ident):
  return re.sub(CAMEL_CASE_REGEX,
                lambda m: m.group(2) + m.group(3).lower(), ident)

def constant_to_enum(constant):
  return "StyleDisplay::" + to_camel_case(constant) + ("_" if constant == "NONE" else "")

def process_line(line):
  return re.sub(DISPLAY_REGEX,
                lambda m: constant_to_enum(m.group(1)), line)

lines = []
with open(sys.argv[1], "r") as f:
  for line in f:
    lines.append(process_line(line))

with open(sys.argv[1], "w") as f:
  for line in lines:
    f.write(line)
```

And the following shell commands:

```
find . -name '*.cpp' -exec python display.py {} \;
find . -name '*.h' -exec python display.py {} \;
```

MozReview-Commit-ID: 91xYCbLC2Vf
2016-09-01 20:41:17 -07:00
Xidorn Quan
928683d762 Bug 1291707 part 4 - Not recalc quotes and counters in EndUpdate. r=bz
It will be called in the next flush, so no need to do it eagerly.

MozReview-Commit-ID: 1B8pzn0dqBO

--HG--
extra : rebase_source : 79a4203d13a2b9d48cd9c9d6fa5c5e08974d4765
extra : source : 162b17483adb18d3d05d866853fb8f841dee846d
2016-08-23 10:31:26 +10:00
Emilio Cobos Álvarez
7f36b64101 Bug 1290335: stylo: Allow processing change hints generated from Servo. r=heycam
MozReview-Commit-ID: Alc0wcXvHcD
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
95abaaa872 Bug 1290335: Hoist frame-construction logic in RestyleManager to static members in RestyleManagerBase. r=heycam
MozReview-Commit-ID: BqywJXZ0CYU
2016-08-03 15:11:15 -07:00
Astley Chen
1fcb0ee95d Bug 1277131 : Part 1 - rename nsTableOuterFrame to nsTableWrapperFrame. r=heycam
MozReview-Commit-ID: KrSHLbmovTM

--HG--
rename : layout/tables/nsTableOuterFrame.cpp => layout/tables/nsTableWrapperFrame.cpp
rename : layout/tables/nsTableOuterFrame.h => layout/tables/nsTableWrapperFrame.h
extra : rebase_source : 730a73b8439f1f5c5ccdb32b241deda5224c321c
2016-06-16 13:14:08 +01:00
Nathan Froyd
5672bb749c Bug 1259733 - use forward declarations for nsIDocument in a few places; r=dholbert
This is sufficient for nsCSSFrameConstructor.h's needs, and the
corresponding C++ file already includes nsIDocument.h.
2016-04-27 14:48:36 -04:00
Daniel Holbert
8b9d86b0ef Bug 1236400 part 2: Extend NeedsAnonFlexOrGridItem() & related code to wrap all inline-level -webkit-box children in an anonymous flex item. r=mats
MozReview-Commit-ID: LK4VW0xSI5m
2016-03-24 09:55:11 -07:00
Cameron McCormack
89cac5abd1 Bug 1248864 - Part 3: Use RestyleManagerHandle instead of concrete restyle manager class. r=dholbert 2016-02-24 18:01:12 +11:00
Boris Chiou
e436478f26 Bug 1244049 - Part 2: Replace nsCSSPseudoElements::Type with CSSPseudoElementType. r=dbaron
Also, try to use forward declaraions for CSSPseudoElementType;

--HG--
extra : rebase_source : c00eb9753e8f618a33aa711538ac45c0132b353c
2016-02-17 21:37:00 +01:00
Ting-Yu Lin
ea65853708 Bug 591737 - Construct details and summary in nsCSSFrameConstructor. r=bz
--HG--
extra : commitid : 7tnA5fqdD6L
extra : rebase_source : 452368859fb99183605edcf47fd48ff026bf3a50
2016-02-02 17:39:49 +08:00
Xidorn Quan
3006d3929b Bug 1064843 part 10 - Create and render backdrop frame for top layer frames. r=dbaron
--HG--
extra : source : 744e89b823a925df685d4d5e94b5e2bec4bedd6f
2016-01-28 10:11:00 +11:00
Xidorn Quan
40e6a8ba55 Bug 1064843 part 9 - Change nsCSSFrameConstructor::CreatePlaceholderFrameFor to accept parent style context. r=dbaron
--HG--
extra : source : 60c4b5e2ef34d1b917b9ee33359860843f4238e2
2016-01-28 10:11:00 +11:00
Nicholas Nethercote
fd7ca876ef Bug 1232852 (part 4) - Remove some unused parameters in and around layout/base/. r=heycam.
--HG--
extra : rebase_source : 68642322a9fc78bb7eace1501b75003241a44507
2016-01-05 16:08:17 -08:00
Nicholas Nethercote
3ba02d7a9b Bug 1232852 (part 3) - Remove unused parameters from some accessibility code. r=tbsaunde.
--HG--
extra : rebase_source : 7cdef8244e2b44b89e8061f66d45d40cbf245041
2015-12-15 21:24:06 -08:00
Nicholas Nethercote
16cd9db041 Bug 1230863 - Remove unused nsPresContext args from many functions. r=roc. 2015-12-06 17:15:53 -08:00
Cameron McCormack
edcec9eefe Bug 1223228 - Remove unused nsFrameManagerBase::mStyleSet. r=dholbert 2015-11-10 12:27:47 +11:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Xidorn Quan
0e00ba39ac Bug 1201798 part 1 - Move PropagateScrollToViewport() from nsCSSFrameConstructor to nsPresContext as a public method. r=roc
--HG--
extra : source : bfbd88293e3701653f3f7ab393239f69265561a8
2015-09-30 10:48:41 +10:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Mats Palmgren
57c61bb7d9 Bug 1009214 part 1 - [css-grid] Don't wrap placeholders in an anonymous grid item. r=dholbert 2015-05-05 21:53:22 +00:00
Andrea Marchesini
085da9302a Bug 1156632 - Remove unused forward class declarations - patch 5 - rdf, parser, layout and something else, r=ehsan 2015-04-22 08:29:22 +02:00
Ehsan Akhgari
4354953b4f Bug 1118486 - Part 1: Use = delete instead of MOZ_DELETE directly; r=Waldo
Most of this patch (with the exception of dom/bindings/Codegen.py) was
generated by the following bash script:

#!/bin/bash

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "*/.git*" \
       ! -wholename "obj-*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_DELETE '= delete'
2015-01-08 23:19:05 -05:00
Nicholas Nethercote
c7fe36c369 Bug 1113010 (part 2) - Shrink FrameConstructionItem by using bitfields. r=dholbert.
This reduces its size from 168 bytes to 160 bytes on 64-bit platforms.

--HG--
extra : rebase_source : de9bb482ccbdb85efa79f82083fa8f35bb629078
2014-12-18 14:15:18 -08:00
Nicholas Nethercote
77cbf48a56 Bug 1113010 (part 1) - Shrink FrameConstructionItem by reordering some fields. r=dholbert.
This reduces its size from 176 bytes to 168 bytes on 64-bit platforms.

--HG--
extra : rebase_source : 89b4f1c6e618eb1ab75989162c26308753a59d56
2014-12-18 14:14:58 -08:00
Nicholas Nethercote
208ab0c4e1 Bug 1113010 (part 0) - Remove impossible path in AddFrameConstruct(). r=dholbert.
Infallible new ensures that |item| is always non-null. And even if it didn't,
AppendItem() dereferences |item| before this code is reached.

--HG--
extra : rebase_source : 9abb8704ba03f455d6b77c5735fcb6cde4f8fef8
2014-12-18 14:14:31 -08:00
Xidorn Quan
56d367a884 Bug 1088489 - Implement ruby pseudo box generation. r=bz
--HG--
extra : rebase_source : 3d722db5a9f896a7083d385e65f0d1d7b694d9e2
extra : source : c7f276c6f764aa28e8b178230f0a9f12372f1db0
2014-12-08 21:45:56 +11:00
Xidorn Quan
de448565ef Bug 1088489 - Add const overload of item() & add assertion in them. r=bz
--HG--
extra : rebase_source : 352b5fde0b0e35fa9474a4afaddc4da13c535383
2014-12-14 09:19:46 +11:00
Xidorn Quan
6213868258 Bug 1088489 - Separate wrapping frame construction items into a method. r=bz
--HG--
extra : rebase_source : bee1cea6a9f11399369fbebc0b17d96e0165841e
extra : source : 9950c01c8d222d2df50667ba44d0d821c321574c
2014-12-08 21:45:56 +11:00
Mats Palmgren
a222d49570 Bug 1108104 part 1 - Remove mFixedContainingBlock. Make GetAbsoluteContainingBlock() check for an ancestor with the right frame type instead. r=roc 2014-12-14 17:22:06 +00:00
Xidorn Quan
0574ed0fc4 Bug 1083004 - Create anonymous ruby base container when necessary. r=bz 2014-11-26 15:52:07 +11:00
Mats Palmgren
96ad0f2c46 Bug 907396 - Frame constructor changes for display:contents. r=bzbarsky 2014-11-20 18:24:09 +00:00
Carsten "Tomcat" Book
ed5d6b9e18 Backed out changeset 61fa2ff606b8 (bug 1083004) 2014-11-12 11:25:51 +01:00
Xidorn Quan
f06648f619 Bug 1083004 - Create anonymous ruby base container when necessary. r=bz 2014-11-12 17:31:37 +11:00
Mats Palmgren
3f61e03687 Bug 1083855 - part 6, Make RecreateFramesForContent params non-optional. r=bz 2014-10-23 13:19:26 +00:00
Mats Palmgren
3be9dbfbb8 Bug 1083855 - part 3, Implement nsIPresShell::DestroyFramesFor/CreateFramesFor. r=bz 2014-10-23 13:19:25 +00:00
Mats Palmgren
565da376d4 Bug 1083855 - part 2, Add a REMOVE_DESTROY_FRAMES value to RemoveFlags. Make RecreateFramesForContent skip recreating the frames when aFlags has that value. r=bz 2014-10-23 13:19:25 +00:00
Mats Palmgren
250b34decf Bug 1083855 - part 1, Add an aDestroyedFramesFor out param to ContentRemoved and propagate it (and aFlags) to RecreateFramesForContent etc. (idempotent change) r=bz 2014-10-23 13:19:25 +00:00
Kearwood (Kip) Gilbert
66cbd490cf Bug 1010538 - Part 2 - Add scroll-behavior to ScrollbarStyles. r=mstange
- ScrollbarStyles extended to support the scroll-behavior CSS property
- Corrected naming of parameters to ScrollbarStyles CTOR
2014-09-15 12:30:00 -07:00
Ehsan Akhgari
60360fc645 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
Daniel Holbert
171665617d Bug 1054563: Remove unnecessary nsresult return value from BuildScrollFrame, and de-indent it. r=tn 2014-08-15 20:22:09 -07:00
Susanna Bowen
bf06af5d74 Bug 1021952 - Generate anonymous boxes to preserve proper ruby structure r=bz 2014-07-22 19:08:08 -07:00
Mats Palmgren
32fe7d9bf6 Bug 767593 - Don't call SetUndisplayedContent() when aState.mCreatingExtraFrames is true because we should have already done that. r=bz 2014-07-16 14:10:48 +00:00
Xidorn Quan
c011970f03 Bug 966166 - Part 3: Link to other parts. r=dbaron 2014-06-11 21:12:00 -04:00
Jonathan Watt
730ae601c6 Bug 1016680, part 3 - DeCOMify nsGenConNode::mText. r=dholbert 2014-06-11 23:11:15 +01:00
Phoebe Chang
a37fc5efe4 Bug 924692 - Part 1: Add touch caret rendering support; r=roc 2014-06-03 15:08:25 +08:00
Mats Palmgren
2831fb8a6a Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames. r=roc 2014-05-24 22:20:40 +00:00
Mats Palmgren
273ad272f1 Bug 508665 - part 3, Change GetContentInsertionFrame() to return a nsContainerFrame*, and return null for leaf frames. Deal with GetContentInsertionFrame() returning null in a couple of places. r=roc 2014-05-24 22:20:39 +00:00
Mats Palmgren
31ebc7ec9b Bug 508665 - part 2, Move nsCSSFrameConstructor::GetFrameFor to a static function in nsCSSFrameConstructor.cpp. r=roc 2014-05-24 22:20:39 +00:00