Граф коммитов

83 Коммитов

Автор SHA1 Сообщение Дата
Nathan Froyd d9759d258f Bug 1295192 - part 1 - remove CPP_THROW_NEW on layout struct operator new overloads that forward to nsPresShell::AllocateByObjectID; r=dholbert
Structs in our style system use an arena-style allocation system,
managed by the presshell to which they belong.  All of the relevant
overloads that forward allocation requests to the presshell declare
themselves as CPP_THROW_NEW, which indicates that they do not throw
exceptions.  The C++ specification states that operator new overloads
that declare themselves to not throw exceptions require a null check on
their return value.  However, the relevant presshell allocation method,
AllocateByObjectID, is infallible and will never return a null pointer.

The callers of all of these methods are therefore doing useless
(compiler-generated) null checks.  Let's get rid of those useless checks
by removing the CPP_THROW_NEW annotations.  This change declares these
methods will return non-null pointers and throw exceptions in case of
errors--but as we don't use exceptions, and AllocateByObjectID will
abort on OOM, everything works out OK.
2016-08-17 15:28:45 -04:00
Wes Kocher 57773cd69e Backed out 4 changesets (bug 1295192) for being a possible cause of crashtest assertions CLOSED TREE
Backed out changeset 7f10779fe019 (bug 1295192)
Backed out changeset e683dce4197a (bug 1295192)
Backed out changeset 67d12eaa8074 (bug 1295192)
Backed out changeset 44f143a01f78 (bug 1295192)
2016-08-16 11:22:04 -07:00
Nathan Froyd fa4f709cfd Bug 1295192 - part 1 - remove CPP_THROW_NEW on layout struct operator new overloads that forward to nsPresShell::AllocateByObjectID; r=dholbert
Structs in our style system use an arena-style allocation system,
managed by the presshell to which they belong.  All of the relevant
overloads that forward allocation requests to the presshell declare
themselves as CPP_THROW_NEW, which indicates that they do not throw
exceptions.  The C++ specification states that operator new overloads
that declare themselves to not throw exceptions require a null check on
their return value.  However, the relevant presshell allocation method,
AllocateByObjectID, is infallible and will never return a null pointer.

The callers of all of these methods are therefore doing useless
(compiler-generated) null checks.  Let's get rid of those useless checks
by removing the CPP_THROW_NEW annotations.  This change declares these
methods will return non-null pointers and throw exceptions in case of
errors--but as we don't use exceptions, and AllocateByObjectID will
abort on OOM, everything works out OK.
2016-08-16 17:05:39 -04:00
Ting-Yu Lin 2f7ddb73d6 Bug 1227927 Part 4 - Add comment to nsFrameList::GetLength() to warn it's O(n). r=mats
--HG--
extra : commitid : H0nct5arwsJ
extra : rebase_source : c6810483931d49f730618815642e8a582c26e35f
2016-01-29 22:42:15 +08:00
Xidorn Quan 3b95c44999 Bug 1064843 part 6 - Add backdrop frame list. r=dholbert
--HG--
extra : source : 695a16ba1cbb4e0e4f0a7e6b8ebf5c55ec62dab5
2016-01-28 10:11:00 +11: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
Xidorn Quan 5ce6110994 Bug 1175485 part 3 - Remove unused operators, typedefs and IteratorTraits. r=waldo
--HG--
extra : source : c1d3256e987c25935cc8bd321c413a1e0c7586b3
2015-07-02 13:31:07 +10:00
Xidorn Quan f15e97fc12 Bug 1175485 part 1 - Allow inner iterator of ReverseIterator deref to any type, and change IntegerIterator, EnumeratedRange, and nsFrameList::Iterator to return value type instead of a reference. r=roc,waldo
--HG--
extra : source : 1e932a13595a1d3862f171e7e7435422d890fbf0
2015-07-02 13:31:07 +10:00
Nicholas Nethercote e6ec6218c6 Bug 1171282 - Avoid some unnecessary |operator new| null-checks in layout/. r=dholbert.
AllocateByObjectID() is infallible. Therefore the |operator new| of nsFrameList,
nsLineBox and nsRuleNode are too, as is nsRuleNode::CreateRootNode().

The patch also removes a couple of comments duplicated in both .h and .cpp
files.

--HG--
extra : rebase_source : 0b9e195fd547fdd53ddad7bb461ff5f5c2016fce
2015-06-03 23:45:11 -07:00
Xidorn Quan 2fbaf73148 Bug 1143513 - Make nsFrameList compatible with range-based syntax and utils. r=roc,waldo
--HG--
extra : source : 08caf763669386f0b5db4b5daaf4cd183380c051
2015-03-31 14:08:17 +11: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
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
Mats Palmgren 94d5d0fbbe Bug 508665 - part 6, Require a nsContainerFrame* for aParent in nsFrameList methods. r=roc 2014-05-24 22:20:40 +00:00
Ehsan Akhgari 2ecbad7b1c Bug 491863 - Remove IBMBIDI; r=roc 2014-04-23 21:15:29 -04:00
Kyle Huey d7764d686d Bug 981150: Use nsTArrayForwardDeclare.h more. r=ehsan 2014-03-15 12:00:17 -07:00
Timothy Nikkel 6fa728f68f Bug 978542. If paint dumping is enabled at build time also enable frame dumping so we can get frame names in display list dumps. r=mattwoodrow
Also makes DidComputeVisibility available during non-debug painting so we can use it.
2014-03-02 16:22:29 -06:00
Mats Palmgren e6ea29ce0d 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 290feb1ade 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
Ehsan Akhgari baf3a129ad Bug 907883 - Minimize #includes in layout/generic; r=roc
--HG--
extra : rebase_source : 5e87b764a12b05aff477c71547e2131be67ca93b
2013-08-22 14:32:52 -04:00
Mats Palmgren b3ddf199bb Bug 729519 - Allocate heap nsFrameLists from the shell arena. r=bzbarsky
"new nsFrameList()" becomes "new (shell) nsFrameList()".
"delete list" becomes "if (list) list->Delete(shell)" - note also that
an additional assertion was added that list is empty when deleted.

"nsAutoPtr<nsFrameList> list(StealSomeFrames())" becomes
"AutoFrameListPtr list(aPresContext, StealSomeFrames())"
2013-04-01 17:26:02 +02:00
Mats Palmgren 985f6f0f76 Bug 729519 - Allocate nsFrameList::sEmptyList from the .rodata segment, not the heap. r=bzbarsky 2013-04-01 17:26:02 +02:00
Mats Palmgren 8b24a5ee5f Bug 838706 - Remove Destroy/RemoveFrameIfPresent O(n) methods. All consumers are now using Start/ContinueRemoveFrame instead which are O(1). r=bzbarsky 2013-02-28 00:05:45 +01:00
Mats Palmgren 1b85e9545e Bug 838642 - Introduce nsFrameList::StartRemoveFrame/ContinueRemoveFrame that can be used in concert to remove a frame in O(1) time from a set of frame lists when its exact frame list is unknown. Use them to make nsContainerFrame::StealFrame O(1). r=bzbarsky 2013-02-28 00:05:44 +01:00
Ehsan Akhgari e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

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 "*.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 PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Aryeh Gregor d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Gervase Markham 82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Ehsan Akhgari 92064e6d3f Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu d2b70213ac Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Mats Palmgren 36202edfbd Bug 653649 - New way of getting child lists from frames. (part 1/5) r=roc sr=dbaron
Add types to represent identifiers for frame child lists, sets of those
identifiers, and iterators over the child lists of a frame.
Define a enumeration type FrameChildListID representing all of the types
of child lists that frames have (each with a unique bit), a class
FrameChildListIDs for representing any set of FrameChildListID, and a
class FrameChildListIterator for iterating over all of the child lists
of a frame.
2011-08-24 22:54:29 +02:00
Craig Topper ea484247b0 Bug 654369 - Part 5: Make nsFrameList::Init return void r=bz
--HG--
extra : rebase_source : 8e9aafbc53c9b7e6be24a15707c32f19d67b7c06
2011-05-01 23:32:59 -07:00
L. David Baron 1ac95d9fa8 Make nsFrameList::RemoveFramesAfter(nsnull) remove the whole list. (Bug 563584, patch 11.5) r=roc 2010-08-05 21:59:19 -07:00
Ehren Metcalfe a791e19cc4 Bug 556446: Remove dead code in layout. r=roc,bz 2010-04-03 07:36:19 -04:00
fantasai 3027a2127b Bug 508473 part III: Pass destruction root to frame destruction methods r=bz sr=roc 2009-12-24 00:21:15 -05:00
fantasai b27eacbc1d Bug 508473 Part II: Remove DeletingFrameSubtree r=bz sr=roc 2009-12-24 00:20:41 -05:00
Robert O'Callahan c0a2cfa103 Bug 526072. Guard super-expensive nsFrameList assertions with #ifdef DEBUG_FRAME_LIST so debug builds don't completely suck. r=bz 2009-11-04 07:39:41 +13:00
Boris Zbarsky ba8c31506f Bug 512336. Make frame lists doubly-linked. r=roc,fantasai 2009-10-02 12:27:37 -04:00
Boris Zbarsky 7761f7af77 Bug 512471. Make nsBlockFrame's mFrames track its principal child list. r=roc,fantasai 2009-09-29 15:47:05 -04:00
Mats Palmgren 0548da4b4b Remove unused methods. b=516976 r=bzbarsky 2009-09-20 23:37:30 +02:00
Mats Palmgren 2c137c2022 Bug 233463, patch 5 - Remove nsFrameList(nsIFrame*) ctor. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren c3fb633256 Bug 233463, patch 3 - Make Destroy/RemoveFrame() methods void and assert that the frame to remove is present. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren 1a7f096af8 Bug 233463, patch 2 - Introduce nsFrameList::mLastChild member for fast access to the last sibling frame. r=bzbarsky 2009-09-18 13:09:36 +02:00
Mats Palmgren 7a3be46e9e Bug 233463, patch 0 - Use nsFrameList methods instead of nsIFrame::SetNextSibling. r=bzbarsky 2009-09-18 13:09:35 +02:00
Boris Zbarsky 811394b5da Bug 281387. Make nsIFrame::Append/InsertFrames use nsFrameList. r=bernd,roc, sr=dbaron 2009-07-30 13:23:32 -04:00
Boris Zbarsky b4582131a5 Followup for bug 504221 to fix debug orange. Have to hold on to an object, not a reference, if the thing passed in might be a temporary. 2009-07-28 11:04:45 -04:00
Boris Zbarsky 4929e54f32 Bug 504972. Remove some redundant code. r=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky 1ef12b64a7 Bug 504221 part 12. Switch SetInitialChildList to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:20 -04:00
Boris Zbarsky 4af28abfeb Bug 504221 part 11. Switch the {ib}-split list munging to nsFrameList. r=fantasai,roc 2009-07-28 08:53:19 -04:00
Boris Zbarsky 37f7f1c5af Bug 504221 part 10. Switch the first-line frame list munging to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:53:19 -04:00
Boris Zbarsky 1d9375f5db Bug 504221 part 7. Make nsFrameItems inherit from nsFrameList. rfantasai, r+sr=roc 2009-07-28 08:53:18 -04:00
Boris Zbarsky 6f3f5929ed Bug 504221 part 3. Switch overflowFrames storage to nsFrameList. r=fantasai, r+sr=roc 2009-07-28 08:51:09 -04:00