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

63 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez d1a9b44ea6 Bug 1560188 - Fix and improve display list memory reporting. r=mattwoodrow,njn
I missed in bug 1487216 that the pres arena memory reporting assumes that the
entry indices are frame class ids, which means that we're reporting some display
list arena entries as frames, which is obviously wrong.

Cleanup a bit nsPresArena to remove the custom id concept, and report also
individual display item type memory usage.

Differential Revision: https://phabricator.services.mozilla.com/D35368

--HG--
extra : moz-landing-system : lando
2019-07-02 02:46:09 +00:00
Cameron McCormack faf479d778 Bug 1553731 - Part 1: Rename nsFrameIdList.h to FrameIdList.h. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D32603

--HG--
rename : layout/generic/nsFrameIdList.h => layout/generic/FrameIdList.h
extra : moz-landing-system : lando
2019-06-01 08:03:32 +00:00
Cosmin Sabou b93ad0326f Backed out 3 changesets (bug 1553731) for build bustages on nsIFrame.h CLOSED TREE
Backed out changeset 90ed9808e1c0 (bug 1553731)
Backed out changeset b8669aa5a820 (bug 1553731)
Backed out changeset 0d0bf5d84a3c (bug 1553731)

--HG--
rename : layout/generic/FrameIdList.h => layout/generic/nsFrameIdList.h
2019-06-01 04:23:49 +03:00
Cameron McCormack c4adc9d346 Bug 1553731 - Part 1: Rename nsFrameIdList.h to FrameIdList.h. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D32603

--HG--
rename : layout/generic/nsFrameIdList.h => layout/generic/FrameIdList.h
extra : moz-landing-system : lando
2019-06-01 01:04:44 +00:00
Masayuki Nakano 1c74a4dc50 Bug 253889 - part 2: Move all methods and public structs of nsIPresShell into mozilla::PresShell r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D29311

--HG--
extra : moz-landing-system : lando
2019-05-01 02:27:53 +00:00
Ting-Yu Lin 646fb37989 Bug 1527519 Part 1 - Make do_QueryFrame more const-friendly, and mark nsIFrame::IsBlockFrameOrSubclass() as a const method. r=mats
This patch makes do_QueryFrame() accept const frame pointer e.g.
"const nsIFrame*", and also helps eliminate a few const_cast in Part 3.

Note that the fast path of do_QueryFrame is const-correct, but the slow
path is not (due to nsIFrame::QueryFrame() returns void*).

For example:

```
const nsIFrame* f;
nsBlockFrame* a = do_QueryFrame(f); // fast path, compile error.
nsIAnonymousContentCreator* b = do_QueryFrame(f); // slow path, still compiles.
```

Differential Revision: https://phabricator.services.mozilla.com/D19860

--HG--
extra : moz-landing-system : lando
2019-02-15 01:38:04 +00:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Sylvestre Ledru aa37bde79b Bug 1489454 - Remove all trailing whitespaces (again) r=Ehsan
This also includes moving some files to the regular format.

Differential Revision: https://phabricator.services.mozilla.com/D5249

--HG--
extra : moz-landing-system : lando
2018-09-07 14:47:51 +00:00
Daniel Holbert 680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Mats Palmgren bb4a414d58 Bug 1364815 part 2 - Follow-up to fix a typo. r=me
MozReview-Commit-ID: 1sdmYFuIyUS
2017-09-10 02:10:03 +02:00
Mats Palmgren 7b8d4cf0a4 Bug 1364815 - Optimize away many (virtual) calls to QueryFrame. r=dholbert
do_QueryFrame from one frame type to another frame type
can compare mClass first, and if successful just downcast
the pointer to the target frame type.  If unsuccessful,
or for do_QueryFrame calls involving other types, we must
still call QueryFrame.

MozReview-Commit-ID: 5MVfmuOYwdE
2017-09-10 00:50:16 +02:00
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