Commit Graph

2510 Commits

Author SHA1 Message Date
Jonathan Watt
fea6ae5816 Bug 889736, part 4 - Remove nsSVGTextContainerFrame. r=heycam 2013-11-18 14:29:53 +00:00
Jonathan Watt
f79b8d3d83 Bug 889736, part 3 - Remove nsSVGTSpanFrame. r=heycam 2013-11-18 14:29:52 +00:00
Jonathan Watt
4b7ddde2fd Bug 889736, part 2 - Remove nsSVGTextPathFrame. r=heycam 2013-11-18 14:29:52 +00:00
Jonathan Watt
bb7921650c Bug 889736, part 1 - Remove nsSVGTextFrame and nsSVGGlyphFrame. r=heycam 2013-11-18 14:29:51 +00:00
Cameron McCormack
351cf805dc Bug 933044 - Push style scopes even if we would skip pushing ancestors when there is no ancestor filter. r=bz 2013-11-17 17:51:04 +11:00
Robert O'Callahan
360b743a54 Bug 931464. Part 1: GetFieldSetBlockFrame needs to drill down through a scrollframe if necessary. r=mats 2013-11-05 23:04:00 -08:00
Robert O'Callahan
950676b15b Bug 261037. Support scrolled fieldsets. r=mats 2013-10-23 00:46:40 +02:00
Ed Morley
2c0100cb21 Backed out changeset ce20f4b16d56 (bug 261037) for reftest failures in 478811-1.html on a CLOSED TREE 2013-10-24 10:28:44 +01:00
Robert O'Callahan
d0bbb07e6f Bug 261037. Support scrolled fieldsets. r=mats
The main change here is to have nsCSSFrameConstructor able to construct
a scrollframe for nsFieldSetFrame's inner frame.
To make this work properly (as much like normal scrolled elements, and
to be consistent with Chrome), we need another major change, which is to move
the padding from the nsFieldSetFrame to its inner frame. We do this by copying
the padding to the inner frame and ignoring the padding on the outer frame.
To get this right for percentage padding and intrinsic widths is a little
tricky. For that, we need nsLayoutUtils::IntrinsicForContainer to be able to
ignore the padding on a frame so we don't add it twice.
Overriding nsFieldSetFrame::GetScrollTargetFrame makes setting scrollTop/
scrollLeft on a <fieldset> work as expected.
* * *
Bug 261037 - A fieldset overflow:auto reftest.
2013-10-23 00:46:40 +02:00
Ed Morley
999109bcd6 Backed out changeset ffd9c7bbd2fe (bug 261037) for compilation failures in nsCSSFrameConstructor on a CLOSED TREE 2013-10-23 15:44:19 +01:00
Robert O'Callahan
d5734f7960 Bug 261037. Support scrolled fieldsets. r=mats
The main change here is to have nsCSSFrameConstructor able to construct
a scrollframe for nsFieldSetFrame's inner frame.
To make this work properly (as much like normal scrolled elements, and
to be consistent with Chrome), we need another major change, which is to move
the padding from the nsFieldSetFrame to its inner frame. We do this by copying
the padding to the inner frame and ignoring the padding on the outer frame.
To get this right for percentage padding and intrinsic widths is a little
tricky. For that, we need nsLayoutUtils::IntrinsicForContainer to be able to
ignore the padding on a frame so we don't add it twice.
Overriding nsFieldSetFrame::GetScrollTargetFrame makes setting scrollTop/
scrollLeft on a <fieldset> work as expected.
* * *
Bug 261037 - A fieldset overflow:auto reftest.
2013-10-23 00:46:40 +02:00
Daniel Holbert
a8e86d7486 Bug 875275 part 3: Make nsColorControlFrame inherit from nsHTMLButtonControlFrame instead of nsBlockFrame. r=jwatt f=arnaud.bienner 2013-10-22 17:29:20 +02:00
Arnaud Bienner
b5be97b0f6 Bug 875275 part 1: Implement layout support for <input type="color">. r=dbaron,dholbert 2013-07-10 00:25:27 +02:00
Olli Pettay
f01407bfec Bug 928403 - optimize nsFrameConstructorState::ProcessFrameInsertions, r=roc 2013-10-22 15:06:01 +03:00
Robert Longson
61c6971c98 Bug 919371 - Make sure marker frames get the right parent. r=cam 2013-10-13 10:15:53 +01:00
Jonathan Watt
9910708fc7 Bug 917386 - Make frame construction handle trees of nsIAnonymousContentCreator::ContentInfo objects, including support for associating CSS pseudo-elements with deeply nested anonymous elements. r=bz 2013-10-01 22:51:29 +01:00
Ehsan Akhgari
7c63dd132d Bug 921753 - Part 1: Avoid #including nsStyleStructInlines.h in nsIFrame.h; r=roc
This patch reduces the number of files that transitively #include
gfx/2d.h from 1782 to 1582.
2013-10-01 17:00:38 -04:00
Cameron McCormack
c84ab692ca Bug 918176 - Silence uninitialized variable warning in nsRuleNode::ComputeContentData. r=dholbert 2013-09-20 11:24:04 +10:00
Mats Palmgren
636e2bb841 Bug 919318 - Drop the Get prefix on the frame methods GetFirstContinuation, GetLastContinuation, GetFirstInFlow, GetLastInFlow and also on nsLayoutUtils::GetLastContinuationWithChild, because they never return null. r=dholbert 2013-09-25 11:42:34 +00:00
Jonathan Watt
6c47df18ba Bug 920158 - Make nsCSSFrameConstructor::ConstructFrameFromItemInternal handle frames that should suppress floating of descendants. r=bz 2013-09-24 21:29:29 +01:00
Jonathan Watt
6390351f3f Bug 920154 - Rename nsIContent's SetNativeAnonymous method to SetIsNativeAnonymousRoot to be clear that it should only be called for the root native anonymous element. r=bz 2013-09-24 21:29:27 +01:00
Jonathan Watt
c8b2552206 Bug 920146 - Rename NODE_IS_ANONYMOUS to NODE_IS_ANONYMOUS_ROOT to avoid misinterpretation and for symmetry with NODE_IS_NATIVE_ANONYMOUS_ROOT. r=bz 2013-09-24 20:28:32 +01:00
Robert O'Callahan
d81ffcf627 Bug 918185. When Range.getBoundingClientRect/getClientRects needs a textframe for a node, create one if the textframe was optimized away. r=bz 2013-09-19 16:23:48 +12:00
Cameron McCormack
3dd9d16ec9 Bug 874507 - Make clip-path, filter, mask and opacity work on <marker> elements. r=longsonr 2013-09-16 15:06:29 +10:00
Ehsan Akhgari
bc7822c462 Bug 904695 - #include fewer headers in nsContentUtils.h; r=jst 2013-08-21 15:28:26 -04:00
Ehsan Akhgari
45b9b9b617 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
James Kitchener
c87d3ae49f Bug 827713 - Use mmultiscripts to handle all script shift elements. r=fredw 2013-08-19 09:11:50 -04:00
Mats Palmgren
c676250649 Bug 898913 - Look for the floating first-letter frame to remove on the kPushedFloatsList too. r=dholbert 2013-08-10 23:00:46 +00:00
Corey Ford
fc8acb7477 Bug 901610 - Use nsStyleDisplay::IsRelativelyPositioned in constructing frames for IB splits. r=dbaron 2013-08-07 16:30:34 -07:00
Cameron McCormack
47a3c63c59 Bug 899894 - Don't null check nsStyleSet::ResolveBlah return values. r=dbaron 2013-08-03 14:11:06 +10:00
David Zbarsky
c1e202fadc Bug 893117: Remove nsIDOMHTMLLegendElement r=bz 2013-08-01 15:24:24 -07:00
David Zbarsky
f49349041b backout Bug 893117 for mochitest failure 2013-08-01 01:54:09 -07:00
David Zbarsky
bf9d021321 Bug 893117: Remove nsIDOMHTMLLegendElement r=bz 2013-07-31 23:12:40 -07:00
Nicholas Cameron
f1aa20fe03 Bug 895873 - backout bug 893117 for Win8 mc bustage 2013-07-30 23:32:35 -04:00
David Zbarsky
c384755d68 Bug 893117: Remove nsIDOMHTMLLegendElement r=bz 2013-07-30 14:55:12 -07:00
Ehsan Akhgari
1ab9c7bcb4 Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:

# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.mm" \) | \
    xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
                   media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
                   modules/libmar/src/mar_private.h \
                   modules/libmar/src/mar.h


# assert_replacer.py
#!/usr/bin/python

import sys
import re

pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")

def replaceInPlace(fname):
  print fname
  f = open(fname, "rw+")
  lines = f.readlines()
  for i in range(0, len(lines)):
    while True:
      index = re.search(pattern, lines[i])
      if index != None:
        index = index.start()
        lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
        for j in range(i + 1, len(lines)):
          if lines[j].find("                 ", index) == index:
            lines[j] = lines[j][0:index] + lines[j][index+4:]
          else:
            break
      else:
        break
  f.seek(0, 0)
  f.truncate()
  f.write("".join(lines))
  f.close()

argc = len(sys.argv)
for i in range(1, argc):
  replaceInPlace(sys.argv[i])
2013-07-18 13:59:53 -04:00
Ryan VanderMeulen
ea40a56f20 Backed out 6 changesets (bug 827713) for reftest failures.
Backed out changeset 014cc3de08fb (bug 827713)
Backed out changeset 4113172193aa (bug 827713)
Backed out changeset 27a5c8dd5ff7 (bug 827713)
Backed out changeset 6448c7e05f11 (bug 827713)
Backed out changeset b67a72618c66 (bug 827713)
Backed out changeset 1279664e0d41 (bug 827713)
2013-07-29 15:19:34 -04:00
James Kitchener
9145440ea1 Bug 827713 - Part 3: Use mmultiscripts to handle all script shift elements. r=fredw 2013-07-29 12:37:50 -04:00
L. David Baron
03e7bf4a60 Bug 896138 patch 7: Remove unused aFrameManager parameters to some functions. r=heycam 2013-07-20 12:14:25 -07:00
L. David Baron
82f7e7134b Bug 896138 patch 6: Move restyle management code from nsFrameManager to RestyleManager. r=heycam
This is the second of two big chunks of code moved into the new
RestyleManager class from another sources.

Note that the undisplayed map remains in nsFrameManager, although it
could perhaps have moved.
2013-07-20 12:14:25 -07:00
L. David Baron
bb2688431e Bug 896138 patch 4: Move restyle management code from nsCSSFrameConstructor to RestyleManager. r=heycam
This moves restyling management out of nsCSSFrameConstructor (thus
reducing its size), and keeps the restyling code closer together.

This is the first of two big chunks of code moved in this patch series.
A later patch in this series will move related code from nsFrameManager
into the same destination file.
2013-07-20 12:14:25 -07:00
William Chen
21071ccf55 Bug 796061 - Part 2: Remove mInsertionParentTable from nsBindingManager. r=mrbkap 2013-07-17 09:05:06 -07:00
Cameron McCormack
d41b45f15c Bug 890782 - Part 2: Make NS_STATE_SVG_NONDISPLAY_CHILD a global state bit and rename it. r=jwatt 2013-07-12 17:13:07 +10:00
Blake Kaplan
e023385196 Bug 890775 - Not all xbl:children elements should be treated specially. r=peterv 2013-07-11 17:52:49 -04:00
Blake Kaplan
f48e997fa6 Bug 891088 - Rename nsXBLChildrenElement -> mozilla::dom::XBLChildrenElement. r=peterv 2013-07-01 15:09:37 -07:00
Robert O'Callahan
e0098a874b Bug 722923. Part 4: Don't walk continuation chain in SyncViewsAndInvalidateDescendants since DoApplyRenderingChangeToTree already does that. r=matspal 2013-07-06 23:53:42 +12:00
Robert O'Callahan
29f5321f27 Bug 722923. Part 3: Rename UpdateViewsForFrame and document it properly. r=matspal 2013-07-06 23:53:40 +12:00
Cameron McCormack
2d185977b0 Bug 842181 - Prevent text zoom from affecting SVG text. r=dbaron 2013-06-29 13:28:50 +10:00
William Chen
199ee64ccb Bug 653881 - Push <xbl:children> in ancestor filter. r=bz,dbaron 2013-05-30 17:39:08 -07:00
Blake Kaplan
d8846cdcec Bug 653881 - Rework XBL insertion points and clean up related code to more closely follow the Web Components model. Instead of maintaining a hashtable of insertion points in bindings (and removing insertions points from the tree) leave the insertion points in the tree as explicit placeholders and teach all other relevant code how to walk the explicit children of elements via two iterators (ExplicitChildIterator and FlattenedChildIterator). Note that this patch does not maintain 100% compatibility with the previous code: there are bug fixes and behavior changes included. For example, by having explicit insertion points in the bindings, it is now easier to handle dynamic changes to the bound element correctly (as well as, eventually, handling dynamic changes to the binding correctly). Patch originally by sicking. r=bzbarsky 2013-05-01 15:50:08 -07:00