Commit Graph

273 Commits

Author SHA1 Message Date
Arnaud Sourioux
d4e37270b8 Bug 919806: Get rid of NS_IMETHOD in nsIFrame.h and its implementations r=dholbert 2014-02-17 23:47:48 -08:00
David Zbarsky
77535232c8 Bug 952977: Convert SetBaseTransform to gfx::Matrix4x4 r=nical 2014-01-27 10:28:33 -05:00
Timothy Nikkel
c323a2dea7 Bug 962443. Make layout frame tree dumping code work better for Fennec and b2g. r=mats 2014-01-26 16:07:02 -06:00
Mats Palmgren
1a854bc937 Bug 956447 - Make it possible to get frame dumps in non-DEBUG builds. r=roc 2014-01-05 23:31:14 +00:00
Ehsan Akhgari
eaa7491d77 Bug 927728 - Part 1: Replace PRUnichar with char16_t; r=roc
This patch was automatically generated by the following script:

#!/bin/bash
# Command to convert PRUnichar to char16_t

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*modules/libmar*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name prtypes.h \
       ! -name Char16.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -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 PRUnichar char16_t
2014-01-04 10:02:17 -05:00
Jonathan Kew
1598f60cbd bug 735577 - pt 4.1 - use accessor functions for some physical-coordinate fields in nsHTMLReflowMetrics, in preparation for logicalization. r=smontagu 2013-12-27 17:59:52 +00:00
Jonathan Kew
58325cd45d bug 735577 - pt 3.2 - update the rest of layout code to use the new accessors on nsHTMLReflowState. r=smontagu 2013-12-27 17:59:21 +00:00
Robert O'Callahan
e65856150c Bug 919144. Part 9: Move FrameLayerBuilder::ContainerParameters to mozilla::ContainerLayerParameters. r=mattwoodrow
This is to avoid having to #include FrameLayerBuilder.h in nsLayoutUtils.h in the next patch.

--HG--
extra : rebase_source : 5f3c3ae2785267949766ae094414781133d4ce44
2013-09-27 18:01:16 +12:00
Masayuki Nakano
ef895616c5 Bug 920425 part.28 Use mozilla::WidgetEvent::AsMouseEvent() r=smaug 2013-10-22 17:55:20 +09:00
Masatoshi Kimura
8d661e8d96 Bug 922931 - Display a placeholder for broken images if the alt attribute is unset even in no-quirks mode. r=bz 2013-10-06 05:25:49 +09:00
Masayuki Nakano
b266c80d36 Bug 920377 part.32 Get rid of nsMouseEvent r=roc 2013-10-02 15:38:27 +09:00
Masayuki Nakano
0823bd31f1 Bug 920377 part.31 Get rid of nsEvent r=roc 2013-10-02 12:46:04 +09:00
Masayuki Nakano
096a701901 Bug 920377 part.30 Get rid of nsGUIEvent r=roc 2013-10-02 12:46:03 +09:00
Ehsan Akhgari
cfed39e52c Bug 921753 - Part 3: Avoid #including nsStyleStructInlines.h in nsHTMLReflowState.h; r=roc
This patch reduces the number of files that transitively #include
gfx/2d.h from 1362 to 1268.
2013-10-01 17:01:49 -04:00
Ehsan Akhgari
f720bbfbaa Bug 921876 - Stop #including nsIFrame.h in nsLayoutUtils.h; r=roc
This patch does the following:
* Move nsIFrame::IntrinsicSize to mozilla::IntrinsicSize so that it can
  be forward-declared.
* Move a number of templated inline nsLayoutUtils methods to nsIFrame.
* Use mozilla::layout::FrameChildListID instead of the
  nsIFrame::ChildListID typedef in nsLayoutUtils.h.
* Move nsReflowFrameRunnable to its only user, nsProgressMeterFrame.cpp.
* Make a number of functions requiring nsIFrame.h out-of-line.
* Remove the nsIFrame.h #include from nsLayoutUtils.h and add it to the
  places which require it implicitly.
2013-09-30 17:26:04 -04:00
Masayuki Nakano
ee772d1cbc Bug 912956 part.18 Remove nsGUIEvent.h r=roc 2013-09-25 20:21:22 +09:00
Masayuki Nakano
715f30b959 Bug 912956 part.14 mozilla/MouseEvents.h should be included directly r=roc 2013-09-25 20:21:18 +09:00
Daniel Holbert
e999460fd0 Bug 919871: Make .cpp files in layout/generic #include their corresponding .h file first. r=mats 2013-09-24 18:43:43 -07:00
Masayuki Nakano
224a14c928 Bug 912956 part.12 All event utils (macros and inline methods) should be methods of mozilla::WidgetEvent r=roc 2013-09-24 19:04:16 +09:00
Timothy Nikkel
6193557598 Bug 847223. Part 10. Make the new code work when we have the image visibility analysis prefed off. r=mats 2013-09-14 19:05:06 -05:00
Timothy Nikkel
5a0f35ceaa Bug 847223. Part 6. Use the first reflow of relevant image frames to add/remove them from the visible list. r=mats 2013-09-14 19:05:05 -05:00
Seth Fowler
c9627e154d Bug 825771 (Part 3) - Add support for image-orientation to nsImageFrame. r=dholbert 2013-08-28 15:39:07 -07:00
Seth Fowler
2c454b34e8 Bug 825771 (Part 2) - Make nsImageFrame hold a reference to its image container. r=dholbert 2013-08-28 15:39:06 -07:00
Ehsan Akhgari
f56168072d Bug 907883 - Minimize #includes in layout/generic; r=roc
--HG--
extra : rebase_source : 5e87b764a12b05aff477c71547e2131be67ca93b
2013-08-22 14:32:52 -04:00
Ehsan Akhgari
c2ce7e67ab Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
David Zbarsky
9dd8b1ad80 Bug 902732: Merge nsILink and dom::Link r=bz 2013-08-08 01:26:32 -04:00
Cameron McCormack
975a0a23c3 Bug 899894 - Don't null check nsStyleSet::ResolveBlah return values. r=dbaron 2013-08-03 14:11:06 +10:00
Ehsan Akhgari
085494b95d 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])

--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Scott Johnson
a5680b3063 Bug 743402, Part 4: Refactor ApplySkipSides() and GetSkipSides() to return the correct value during reflow by adding an optional nsHTMLReflowState parameter. [r=roc] 2013-07-25 10:34:27 -05:00
Ryan VanderMeulen
a692880c23 Backed out 6 changesets (bug 743402) for reftest failures on a CLOSED TREE.
Backed out changeset 19848fff857e (bug 743402)
Backed out changeset 049168537ae0 (bug 743402)
Backed out changeset 3098fea37f2d (bug 743402)
Backed out changeset ada93e976dca (bug 743402)
Backed out changeset c7907c54187f (bug 743402)
Backed out changeset 2edbbf6440c4 (bug 743402)
2013-07-24 15:14:04 -04:00
Scott Johnson
6003af5e8d Bug 743402, Part 4: Refactor ApplySkipSides() and GetSkipSides() to return the correct value during reflow by adding an optional nsHTMLReflowState parameter. [r=roc] 2013-07-24 12:47:17 -05:00
Seth Fowler
1d2edbfa2d Bug 695763. Part 7. Invalidate img's if they are not decoded and we are asked to do a sync decode. r=matt.woodrow 2013-06-26 11:43:27 -05:00
Ms2ger
7cdd3a5243 Bug 880340 - Remove the security checks on nsImageLoadingContent methods; r=bz 2013-06-12 09:00:09 +02:00
Joe Drew
d90b555d68 Bug 867770 - Add a pref as to whether we layerize animated images, disabled by default. r=mattwoodrow 2013-05-30 21:33:17 -04:00
Joe Drew
ac3b24a51f Bug 867770 - Layerize all animated images. r=mattwoodrow 2013-05-30 09:50:50 -04:00
Matt Woodrow
fa247b33af Bug 869133 - Recycle the ImageLayers created by nsDisplayImage/nsDisplayBackgroundImage instead of recreating them each time. r=roc 2013-05-30 14:42:28 +12:00
Bobby Holley
ba05c93769 Bug 868130 - Include nsCxPusher.h everywhere we need it, and stop including it from nsContentUtils.h. r=gabor 2013-05-22 10:05:26 -06:00
Mats Palmgren
cd2a9144a4 Bug 866785 - Move repeated nsIFrame::List implementations code to a new method, ListGeneric, for re-use. Cleanup and improve the code a bit. r=roc
Specifically:
* move all the frame dump methods to nsIFrame. Especially nsFrame::ListTag
  was annoying, often requiring a cast to nsFrame*.
* print common values in the same order for all types of frames
* print fluid continuations as "next-in-flow=%p" and non-fluid as
  "next-continuation=%p" (as before)
* print the style-context more compactly, e.g.
  "[sc=0x7faa6b60e0a0] pst=:first-line" becomes
  "[sc=0x7faa6b60e0a0:first-line]"
* suppress printing visual/scroll-overflow rects when they are identical
  to mRect and do the same for nsLineBox::List where it was especially
  hard to see which lines actually had real overflow
* fix a bug that printed the child list name at the far right when the
  principal list was empty (making it hard to see)
* print the address of child lists (other than the principal list) to
  help debug frame list property bugs
* s/NS_IMETHODIMP/void/
2013-04-30 20:38:52 +02:00
Takeshi Kurosawa
a3cfc14a35 Bug 338033 - No visible focus indicator on image map areas with black background r=roc 2013-04-27 17:54:36 +09:00
Joe Drew
730ac999c6 Bug 832400 - Add an imgIContainer flag HIGH_QUALITY_SCALING that controls whether to use the high quality scaler, and only use it when we're drawing to a window. r=tn 2013-04-25 18:08:58 -04:00
Robert O'Callahan
04e9887192 Bug 841192. Part 14: Convert all usage of nsDisplayClip(RoundedRect) to use DisplayListClipState/DisplayItemClip. r=mattwoodrow
This patch does several things. Sorry.

In BuildDisplayList implementations, instead of wrapping display items in nsDisplayClip, we
push clip state onto the nsDisplayListBuilder and give the display items an
explicit clip when they're created.

In FrameLayerBuilder, we use the explicit clips we find on display items instead of
computing our own.

We remove nsDisplayClip and everything that depends on it.

We remove ExplodeAnonymousChildLists. With nsDisplayClip gone, and
nsDisplayOptionEventGrabber removed in a previous patch, there are no
anonymous child lists.

nsDisplayItem::TryMerge implementations need to make sure they have the same
clip before being merged.

I ripped out the part of PruneDisplayListForExtraPage that adjusts clip rects.
As far as I can tell, it isn't actually necessary.

--HG--
extra : rebase_source : 6f3988b385d0ac54ab26fad10b12173884441f48
2013-03-04 22:56:02 +13:00
Cameron McCormack
1d87113442 Bug 842142 - Prevent odd text wrapping in SVG text. r=roc 2013-03-25 14:50:59 +11:00
Boris Zbarsky
462f47d89e Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
Seth Fowler
a7ffe81d52 Bug 842850 (Part 1) - Use an SVGImageContext class for overridden SVG properties. r=dholbert,joe sr=bz 2013-02-28 12:22:43 -08:00
Seth Fowler
5c32b0dad7 Bug 825720 - Don't use GetRootLayoutFrame to calculate the size of SVG images. r=joe 2013-01-10 19:38:34 -08:00
Ryan VanderMeulen
34cc5e3c2c Speculatively backout changeset e8d73b8ba1a1 (bug 825720) for Android armv6 reftest 2 timeouts. 2013-02-20 12:20:12 -05:00
Seth Fowler
704abaa919 Bug 825720 - Don't use GetRootLayoutFrame to calculate the size of SVG images. r=joe 2013-01-10 19:38:34 -08:00
L. David Baron
5ef4421fa5 Bug 781360 patch 3: Rename {nsIFrame,nsStyleContext,nsComputedDOMStyle}::GetStyle* to Style*, since they can never return null. r=dholbert
Except for the changes in:
  layout/generic/nsIFrame.h (part)
  layout/style/nsComputedDOMStyle.h (all)
  layout/style/nsRuleNode.cpp (part)
  layout/style/nsStyleContext.cpp (part)
  layout/style/nsStyleContext.h (part)
(see patch 3b in the bug), this patch was written with the sed script:
s/\<GetStyle\(Font\|Color\|List\|Text\|Visibility\|Quotes\|UserInterface\|TableBorder\|SVG\|Background\|Position\|TextReset\|Display\|Content\|UIReset\|Table\|Margin\|Padding\|Border\|Outline\|XUL\|SVGReset\|Column\)\>/Style\1/g
2013-02-16 13:51:02 -08:00
Robert O'Callahan
013943dc4f Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : de498510bf8d85d9b0b2fab0137ef3be01c9adfa
2013-02-15 00:12:27 +13:00
Robert O'Callahan
a2485753ff Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow
--HG--
extra : rebase_source : 50a3d6809ef76a25a3d02d91f2873d9ba11fdc56
2013-02-15 00:08:08 +13:00