Commit Graph

662 Commits

Author SHA1 Message Date
Ehsan Akhgari
6cf84bf2d9 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
c23797df63 Bug 912956 part.18 Remove nsGUIEvent.h r=roc 2013-09-25 20:21:22 +09:00
Masayuki Nakano
4a5dc45e59 Bug 912956 part.14 mozilla/MouseEvents.h should be included directly r=roc 2013-09-25 20:21:18 +09:00
Daniel Holbert
e881abc90a 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
f49ebd4fdc 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
31a7c49565 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
32d525513d 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
c19b2ccd33 Bug 825771 (Part 3) - Add support for image-orientation to nsImageFrame. r=dholbert 2013-08-28 15:39:07 -07:00
Seth Fowler
561f1e248a 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
06d49ffd4d Bug 907883 - Minimize #includes in layout/generic; r=roc 2013-08-22 14:32:52 -04:00
Ehsan Akhgari
45b9b9b617 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
David Zbarsky
74cc0da896 Bug 902732: Merge nsILink and dom::Link r=bz 2013-08-08 01:26:32 -04:00
Cameron McCormack
47a3c63c59 Bug 899894 - Don't null check nsStyleSet::ResolveBlah return values. r=dbaron 2013-08-03 14:11:06 +10: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
Scott Johnson
4006c68438 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
12fbc93e27 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
1c74186f48 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
cea374f538 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
e6a1befae2 Bug 880340 - Remove the security checks on nsImageLoadingContent methods; r=bz 2013-06-12 09:00:09 +02:00
Joe Drew
f0c8d82f62 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
fd705e0ee9 Bug 867770 - Layerize all animated images. r=mattwoodrow 2013-05-30 09:50:50 -04:00
Matt Woodrow
cfe172974f 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
c3247a55cf 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
377ee51cc1 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
e3d40ee121 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
55c26fe19b 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
29d310bf8a 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.
2013-03-04 22:56:02 +13:00
Cameron McCormack
3e1ca6bed4 Bug 842142 - Prevent odd text wrapping in SVG text. r=roc 2013-03-25 14:50:59 +11:00
Boris Zbarsky
c0d4537026 Bug 852428 part 2. Make nsIFrame::Init infallible. r=dholbert 2013-03-19 21:47:48 -04:00
Seth Fowler
47e3e67b60 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
78839f9fa5 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
350d45fa3f Speculatively backout changeset e8d73b8ba1a1 (bug 825720) for Android armv6 reftest 2 timeouts. 2013-02-20 12:20:12 -05:00
Seth Fowler
927789d896 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
ca6c366dc6 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
b18cd55753 Bug 840902. Part 2: Remove nsresults from various display list methods. r=mattwoodrow 2013-02-15 00:12:27 +13:00
Robert O'Callahan
3ac2cf9858 Bug 840902. Part 1: Stop checking the results of various display list methods. r=mattwoodrow 2013-02-15 00:08:08 +13:00
L. David Baron
3c5d51984d Bug 841789, patch 1: Rename nsIFrame::GetStyleContext() to nsIFrame::StyleContext() since it can never return null. r=dholbert
This makes it conform to our convention that getters returning pointers
that can never be null do not begin with "Get".
2013-02-15 21:38:33 -08:00
Boris Zbarsky
dda01249c9 Bug 831780. Only count the broken-image placeholder in the visual overflow, not the scrollable overflow. r=mattwoodrow 2013-01-17 23:17:41 -05:00
Mats Palmgren
7532b4e736 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Ryan VanderMeulen
deee26fea4 Backed out changeset c8fe09ac1842 (bug 825720) on suspicion of making bug 772443 nearly perma-orange. 2013-01-12 21:00:30 -05:00
Seth Fowler
96d6076ee3 Bug 825720 - Don't use GetRootLayoutFrame to calculate the size of SVG images. r=joe 2013-01-10 19:38:34 -08:00
Alexander Surkov
9ab34aa2a6 Bug 810572, part 2.5 - rename AccType constants again, r=tbsaunde, sr=roc 2012-12-18 10:25:52 +09:00
Jeff Walden
8a6657de57 Bug 820570 - Move mozilla::DebugOnly into DebugOnly.h to pare down the grab-baggish Util.h. r=Ms2ger 2012-12-14 18:58:45 -05:00
Jeff Muizelaar
170a207cce Bug 801061. Switch from imgIRequest to imgRequestProxy. r=joe
This doesn't switch all of the users yet, but is a step in the right
direction.
2012-10-12 08:43:01 -04:00
Alexander Surkov
7b6a8051eb Bug 810572, part2 - remove 'Accessible' postfix from AccTypes constants, r=tbsaunde, sr=roc 2012-12-12 19:04:12 +09:00
Mats Palmgren
47ab901d4e Bug 814677 - Replace XP_IS_SPACE with dom::IsSpaceCharacter and add form-feed to match DOM spec. r=bz 2012-11-30 17:04:11 +01:00
Matt Woodrow
461ccd7830 Bug 815593 - Remove unused variable. r=bustage 2012-11-29 19:01:48 +13:00
Robert O'Callahan
43c1261b3a Bug 815593. Don't layerize images that exceed MaxTextureSize. r=mattwoodrow 2012-11-28 15:34:45 +13:00
Matt Woodrow
0902037b15 Bug 811927 - Allow conversion of nsDisplayBackgroundImage into ImageLayers. r=roc 2012-11-19 16:28:18 +13:00
Jeff Muizelaar
b2c721fe38 Bug 794957. Use imgLoader instead of imgILoader. r=joe
This makes use of imgLoader instead of imgILoader in more places.
2012-11-16 10:24:58 -08:00