Mats Palmgren
483a804512
Bug 1364805 part 3 - Implement Type() by indexing a static array using the mClass field. Remove the nsIFrame::mType field. r=jfkthame
...
In the nsWindowMemoryReporter.cpp / nsArenaMemoryStats.h I'm only
including the concrete frame classes now - we obviously never have
instances of the other IDs so there's no need to collect stats for them.
MozReview-Commit-ID: 48uFCZ3xKBC
2017-05-26 12:11:11 +02:00
Mats Palmgren
1242172259
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
L. David Baron
76b64757a7
Bug 1367190
patch 3 - Store nsPresArena::mFreeLists as an array. r=mats
...
MozReview-Commit-ID: DDJetJaJMb4
--HG--
extra : transplant_source : r%2C1%CA%1B%3B%816/%A7%1A%82%28%E3%B6%EDj%A2W%B1
2017-05-24 09:41:41 -04:00
Daniel Holbert
ec6d60e965
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
Ehsan Akhgari
883849ee32
Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
...
This patch was automatically generated using the following script:
function convert() {
echo "Converting $1 to $2..."
find . \
! -wholename "*/.git*" \
! -wholename "obj-ff-dbg*" \
-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 MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Ehsan Akhgari
81bc9cdcd9
Bug 1118427 - Mark virtual overridden functions as MOZ_OVERRIDE in layout; r=roc
2015-01-07 10:07:36 -05:00
Ehsan Akhgari
2b84010cb8
Bug 1048246
- Fix more bad implicit constructors in layout; r=roc
...
--HG--
extra : rebase_source : ed828993139bc70232508364a9f046e38b7d3e06
2014-08-07 19:48:38 -04:00
Ehsan Akhgari
2824b29025
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
Mats Palmgren
678b74f2e6
Bug 856243 - Add missing do_QueryFrame support and fix typo that caused most MathML frames to not QueryFrame to nsIMathMLFrame. Add static assertions to prevent those kinds of errors in the future. r=dholbert
2013-04-04 01:35:07 +02:00
Mats Palmgren
f0616a5dc8
Backout 5104a8653170 (bug 856243). r=me
2013-04-01 19:10:37 +02:00
Mats Palmgren
333122f564
Bug 856243 - Add missing do_QueryFrame support. r=dholbert
2013-04-01 18:45:19 +02:00
Aryeh Gregor
d0ad5a7d0c
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
Nathan Froyd
ab6ce0d0e8
Bug 674922 - make frame id lists reusable by other parts of the browser; r=roc
2012-06-05 11:10:28 -04:00
Vincent LAMOTTE
859886a242
Bug 657953 (1/2) - Implement the layout part of the meter element. r=roc
2012-05-16 17:47:10 +02:00
Gervase Markham
82ff7027aa
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Mats Palmgren
0f5b4c9982
Bug 750745 - Introduce AllocateByObjectID/FreeByObjectID for allocating non-frame objects from per-type lists in the PresArena. part=2/3 r=roc
2012-05-04 02:14:02 +02:00
Ehren Metcalfe
23b7cab793
Bug 738957 - Remove the nsMathMLForeignFrameWrapper class and related files. r=karlt
2012-03-26 09:59:54 +02:00
Mats Palmgren
78d0f2c7ca
Bug 515530 - Remove nsHTMLContainerFrame. r=roc
2011-12-27 21:18:48 +01:00
Robert Longson
dd31b4edbf
Bug 696078 - Move filter attribute processing to frame classes. r=jwatt
...
--HG--
rename : layout/svg/base/src/nsSVGLeafFrame.cpp => layout/svg/base/src/SVGFELeafFrame.cpp
extra : rebase_source : 74ac4d84da2f0a99272e83590a9adc1dc8511fce
2011-11-19 17:53:52 +00:00
Ehsan Akhgari
461fab9117
Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc
2011-04-29 19:02:33 -04:00
Jonas Sicking
7abc217fd4
Bug 664061: Remove isindex code from layout. r=dbaron
2011-07-19 17:22:01 -07:00
Neil Deakin
46aa977563
Bug 670148, remove nsIScrollbarFrame, r=roc
2011-07-11 10:05:09 -04:00
Ehsan Akhgari
2a3dbb4205
Back out bug 10209 and bug 656875 (its regression fix) from Aurora because the work on this bug has not been finished yet
...
--HG--
extra : transplant_source : t%9F%EB%2Aa%A4%C0%9Ab%A5%DDQ%3EMD%5E%01h%E7%2A
2011-06-01 16:18:15 -04:00
Simon Montagu
2fcf206e42
Bug 263359 part 1.5: remove nsDirectionalFrame. r=roc
2011-04-11 10:59:30 +03:00
Mounir Lamouri
9d45d86044
Bug 567872 - Layout part of the progress element. r=roc,dbaron
2011-05-10 14:59:07 +02:00
Shawn Wilsher
d616bf2fcb
Back out bug 514437, bug 567872, bug 568825, bug 633209, bug 633913, bug 634086, bug 634088, bug 634549, bug 634551, bug 638176, bug 641517, bug 641905, bug 641942, bug 642127, and bug 642667 to undo the performance regression tracked by bug 655860.
2011-05-09 15:48:39 -07:00
Mounir Lamouri
75a14a114e
Bug 567872 - Layout part of the progress element. r=roc,dbaron
2011-05-07 10:15:14 +02:00
Ehsan Akhgari
e66b9024c8
Bug 10209 - Part 2: Implement the absolute positioning support for all frames; r=roc
2011-04-29 19:02:33 -04:00
Craig Topper
74ee06a1c9
Bug 648885 - Part 2: Remove nsIImageFrame. r=roc
...
--HG--
extra : rebase_source : 3097ee732ab2ba3b7a79253f7f71c09eed22d033
2011-04-25 23:52:19 -07:00
Simon Montagu
f213cf876f
Back out bug 263359 and bug 624798 because of performance regressions (bug 650189)
2011-04-27 11:47:18 +03:00
Simon Montagu
030f555e66
Bug 263359 part 1.5: remove nsDirectionalFrame. r=roc
2011-04-11 10:59:30 +03:00
Ehsan Akhgari
119ec44c6b
Back out bug 263359 because it has caused bug 645119
2011-03-25 18:15:29 -04:00
Simon Montagu
53a261431c
Bug 263359 part 1.5: remove nsDirectionalFrame.
2011-03-24 11:28:44 +02:00
Ms2ger
b00453d727
Bug 531030 - Remove support for the spacer element; r=bzbarsky a=blocking-betaN
2010-08-20 08:05:05 +02:00
Craig Topper
a710a36a06
Remove QueryFrame support for nsICSSPseudoComparator. (Bug 576794) r=bzbarsky a2.0=bsmedberg
2010-07-30 16:48:57 -07:00
Frederic Wang
ef884ea7fd
Bug 556767 - (semantics) Improve/Complete implementation of <semantics/>. r=roc
2010-05-12 12:11:59 +02:00
Zack Weinberg
3415af3075
Bug 345681: Remove the vestigial nsICheckboxControlFrame and nsIRadioControlFrame interfaces. r=roc
2010-02-09 14:06:37 -08:00
Timothy Nikkel
6c427678c3
Bug 488771. Stop nsIScrollPositionListener from inheriting from nsISupports. r=roc
...
--HG--
extra : rebase_source : bb93c56b3347bc8df7fd843f08e2d5dfc4f3071b
2010-01-28 18:03:42 -06:00
Robert O'Callahan
6a5cc88a0d
Bug 526394. Part 18: Remove nsIScrollableViewProvider and its implementations, now that we've removed all its users. r=mats
2009-09-09 17:40:01 +12:00
Timothy Nikkel
545f872fcb
Bug 520425. (nsI)CanvasFrame related cleanup. r=roc
...
--HG--
rename : layout/generic/nsHTMLFrame.cpp => layout/generic/nsCanvasFrame.cpp
rename : layout/generic/nsHTMLFrame.h => layout/generic/nsCanvasFrame.h
extra : rebase_source : 4fa62ac7dee06bbdad394eae1ce6aba82853a410
2009-10-08 01:18:18 -05:00
Zack Weinberg
adeb8f5a6b
Bug 497495 (frame poisoning) part 4: Change nsPresArena to maintain separate free lists for every frame class, based on its FrameIID. Pass the necessary information in from AllocateFrame and FreeFrame. r=roc sr=dbaron
2009-09-16 10:00:04 +12:00
Justin Dolske
4a4ac8be36
Backed out changeset a3f33def2dca (bug 497495 part 4)
2009-09-14 17:26:08 -07:00
Boris Zbarsky
3ded15f4d3
Bug 497495 (frame poisoning) part 4: Change nsPresArena to maintain separate free lists for every frame class, based on its FrameIID. Pass the necessary information in from AllocateFrame and FreeFrame. r=roc sr=dbaron
2009-09-14 17:29:56 -04:00
Zack Weinberg
d47e0f433b
Bug 497495 part 3: Add methods to every nsFrame subclass that expose the as-allocated identity of every frame object. Also some cleanups to the QueryFrame implementation. r=dbaron sr=roc
2009-09-12 17:49:24 +01:00
Robert O'Callahan
4453cced60
Backed out changeset e2927bb26412
2009-08-26 14:49:18 -07:00
Zack Weinberg
64f6d4d0dd
Bug 497495 part 3a: rationalize the queryframe-implementation macro naming scheme, restructure the implementation to detect duplicate entries, and a couple fixes to the frame ID enumeration. r=dbaron sr=roc
...
Bug 497495 part 3b: update users of queryframe macros (strictly mechanical change). r=dbaron
--HG--
extra : rebase_source : ee672a17934227b408b83dc6b5cc4e4909652f72
2009-08-26 09:27:42 -07:00
Zack Weinberg
430c5ceb95
Bug 510651: Fold nsIFrameDebug into nsFrame. r=dbaron sr=mrbkap
2009-08-20 14:52:48 -07:00
Arpad Borsos
e7721484f4
Bug 495296 - kill nsISVGTextContentMetrics; r+sr=roc
2009-05-29 12:15:40 +02:00
Craig Topper
7901923474
Bug 474954. No frames need to implement nsISVGValue anymore. r+sr=roc
...
--HG--
extra : rebase_source : edd574369880b1745f0d5c33277fbcd5e5318dd3
2009-01-30 20:17:29 +13:00
Benjamin Smedberg
3498a5f86e
Bug 396185 - Make nsIFrame derivatives and helper abstract classes use a different dynamic-cast system than nsISupports:
...
* we know all types frames may be cast to at compile time, so instead of extensible GUID IIDs, use a big enum (see nsQueryFrame::FrameIID)
* eliminate all vestiges of refcounting, since frames aren't refcounted
Some frames (SVG frames in particular) still implement nsISupports-derived interfaces, for example nsISVGValue. There is a FrameIID for nsISVGValue that lets you go from a frame to the XPCOM interface, but you can't query back.
r+sr=roc
nsITextControlFrame didn't have an IID the first time around, but this wasn't a compile error because nsITextControlFrame::kFrameIID inherited from nsIFormControlFrame::kFrameIID. I've added a static analysis pass to verify the correct behavior, since I can't figure out a way to make the compiler do it.
--HG--
extra : rebase_source : 4894a2ca0278e2ab92f27459db77165f8348cf41
2009-01-12 14:20:59 -05:00