Commit Graph

249 Commits

Author SHA1 Message Date
Trevor Saunders
182f3ee366 bug 825419 - outparamdel nsIDocShell::GetPresShell() r=smaug 2012-12-28 20:56:42 -05:00
Robert O'Callahan
ae130ef998 Bug 825866. Part 8: Mass-rename of nsIView to nsView. r=tnikkel
This was autogenerated by basically replacing all occurrences of the word "nsIView" with nsView.
2013-01-04 02:23:11 +13: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
Alexander Surkov
7b6a8051eb Bug 810572, part2 - remove 'Accessible' postfix from AccTypes constants, r=tbsaunde, sr=roc 2012-12-12 19:04:12 +09:00
Scott Johnson
0efbfb5758 Bug 812372: Rename DocumentViewerImpl to nsDocumentViewer for consistency. [r=ehsan] 2012-11-28 18:26:39 -06:00
Matt Woodrow
4f008927c4 Bug 810592 - Make nsSubDocumentFrames that are actively scrolling build their own layer. r=roc 2012-11-22 18:33:33 +13:00
Ed Morley
4eacb90320 Backout d30b99cfd933 (bug 802385), 58ce0ddf7611 (bug 810275), 1c96b4a67d38 (bug 810592) for reftest failures 2012-11-22 09:59:23 +00:00
Matt Woodrow
4b843498ae Bug 810592 - Make nsSubDocumentFrames that are actively scrolling build their own layer. r=roc 2012-11-22 18:33:33 +13:00
Vivien Nicolas
7e095245e9 Bug 808724 - Application with embed-apps permission can not use the mozpasspointerevents attribute. r=roc 2012-11-09 22:46:28 +01:00
Robert O'Callahan
b963766cf8 Bug 796452. Add mozpasspointerevents attribute for IFRAMEs in chrome windows. r=mats 2012-11-02 23:42:59 +13:00
Trevor Saunders
ef05b16386 bug 542039 - accessible object types r=surkov, roc 2012-09-28 17:53:44 -04:00
Kyle Huey
0ee82049a5 Bug 760331: Coalesce data for inline style across nodes. r=bz
This patch enables sharing of an nsAttrValue's MiscContainer between nodes for style rules.  MiscContainers of type eCSSStyleRule are now refcounted (with some clever struct packing to ensure that the amount of memory allocated for MiscContainer remains unchanged on 32 and 64 bit).  This infrastructure can be used to share most MiscContainer types in the future if we find advantages to sharing other types than just eCSSStyleRuley.  A cache mapping strings to MiscContainers has been added to nsHTMLCSSStyleSheet.  MiscContainers can be shared between nsAttrValues when one nsAttrValue is SetTo another nsAttrValue or when there is a cache hit in this cache.  This patch also adds the ability to tell a style rule that it belongs to an nsHTMLCSSStyleSheet, with appropriate accessor functions to separate that from the existing case of belonging to an nsCSSStyleSheet.

The primary use case is to reduce memory use for pages that have lots of inline style attributes with the same value.  This can happen easily with large pages that are automatically generated.  An (admittedly pathological) testcase in Bug 686975 sees over 250 MB of memory savings with this change.  Reusing the same MiscContainer for multiple nodes saves the overhead of maintaining separate copies of the string containing the serialized value of the style attribute and of creating separate style rules for each node.  Eliminating duplicate style rules enables further savings in layout through style context sharing.  The testcase sees the amount of memory used by style contexts go from over 250 MB to 10 KB.

Because the cache is based on the text value of the style attribute, it will not handle attributes that have different text values but are parsed into identical style rules.  We also do not attempt to share MiscContainers when the node's base URI differs from the document URI.  The effect of these limitations is expected to be low.
2012-09-30 09:40:24 -07:00
Matt Woodrow
19164d9447 Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc 2012-08-29 17:47:18 +12:00
Matt Woodrow
e813da3696 Bug 539356 - Part 9c - Remove old invalidation code. r=bz 2012-08-29 17:39:31 +12:00
Matt Woodrow
cea1d78aac Bug 539356 - Part 9b - Add new frame invalidation API. r=roc 2012-08-29 17:39:01 +12:00
Ed Morley
ed4fe023b5 Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE 2012-09-27 16:34:46 +01:00
Matt Woodrow
24eaff95c9 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-08-29 17:38:58 +12:00
Chris Lord
8cbb24d8a8 Bug 788202 - Add optional subdocument traversal to nsIFrame::List. r=bz
Add subdocument frame traversal to nsIFrame::List, controlled via an optional
flag.
2012-09-19 15:36:35 +01:00
Chris Lord
8090b0471d Backout bug 788202 for build failures. 2012-09-19 14:05:26 +01:00
Chris Lord
471684499c Bug 788202 - Add optional subdocument traversal to nsIFrame::List. r=bz
Add subdocument frame traversal to nsIFrame::List, controlled via an optional
flag.
2012-09-19 12:39:53 +01:00
Matt Woodrow
8e7c8ce3c8 Bug 788044 - Make transformed frames the reference frame for their display list tree. r=roc 2012-09-16 22:32:59 +12:00
Robert O'Callahan
f6fc141707 Bug 787089. Rip out mUpdatePluginGeometryForFrame optimization. It's not known to be a significant win, and creates problems when prescontext ancestor chains are broken; the complexity probably isn't worthwhile. Also, soon (or now) we can rework plugin bounds computation to be use the display list built for rendering. r=matspal 2012-09-05 22:30:10 +12:00
Boris Zbarsky
e9d5ff9cce Bug 787131. Move management of primary content state stuff from the nsSubDocumentFrame into the nsFrameLoader, so it works on display:none elements. r=jlebar 2012-09-04 23:00:26 -04:00
Chris Pearce
1ba9eca420 Bug 781279 - Forget update plugin geometry frame when presentation detaches. r=roc 2012-08-24 23:12:21 +12:00
Jonathan Kew
9142450a3d bug 784837 - call SetPrimaryFrame earlier during nsSubDocumentFrame::Init. r=roc 2012-08-24 10:16:15 +01:00
Ehsan Akhgari
243c878d26 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
Chris Pearce
fb91a84f10 Bug 783824 - Don't stash the presentation (discard it if it was stashed) when subdoc frames are destroyed if the presentation is being destroyed. r=roc 2012-08-21 17:07:03 +12:00
Chris Pearce
cb71c1044f Bug 775965 - Ensure presentation persists across nsSubDocumentFrame reframes. r=roc 2012-08-14 16:06:44 +12:00
Ed Morley
02a9c15d06 Backout bcac58cbf328 & 9c75f0428f8a (bug 775965) for causing bug 782981 2012-08-15 18:10:55 +01:00
Chris Pearce
e61883756c Bug 775965 - Ensure presentation persists across nsSubDocumentFrame reframes. r=roc 2012-08-14 16:06:44 +12:00
Ms2ger
c8ea20cf42 Bug 780387 - Part b: Stop using PRIntn; r=bsmedberg 2012-08-09 09:09:40 +02:00
Aryeh Gregor
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Ehsan Akhgari
d07e155f48 Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions 2012-07-03 20:24:55 -04:00
David Zbarsky
9050aef271 Bug 763350 - Clean up some includes in content/ and dom/ r=smaug 2012-07-01 16:45:59 -07:00
Matt Woodrow
145d424c02 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt 2012-06-30 15:06:11 +12:00
Ryan VanderMeulen
d68a5d2975 Re-land bug 757362 since it wasn't at fault for OSX orange. 2012-06-20 22:54:56 -04:00
Ryan VanderMeulen
7664392e64 Backout 5ba4c3a2338c (bug 757362) for OSX reftest orange. 2012-06-20 21:53:31 -04:00
Timothy Nikkel
7588c0bebb Bug 757362. Use the displayport for the dirty rect (if one is set) when building the display list for a subdocument so that position: fixed items are correctly included. r=roc 2012-06-20 17:35:54 -05:00
Kartikaya Gupta
00beebe88c Bug 763570 - Part 1 - Back out 18b206c111cd from bug 747493 as we have a better solution that also fixes other broken frameset behaviours. r=tnikkel 2012-06-15 17:49:46 -04:00
Ed Morley
d3a378b75a Backout 61fd66629c4f, 7c8121f8d3af & 2a2e9cf8fd41 (bug 539356), e31a5e6545d3 (bug 761884), 85fa80bd9792, a284ccb25b83, 2865904db9fc, 34e07b09c426, e9b3d41e0360, cef00ebcd6c8, f943b729ac14 & 783f298401b6 (bug 539356), 330a086f1570 (bug 741682), d80219c8842c (bug 739671), e8c96b4fd4da, 313af486e68d, 0adc41ff56dc, 0cd288a38085, f1d43208825c, 4859876972f3, eec8ef3ebe48, f7f29fcd1845, 6079b229d306, f23c3a7e7ce0, 9824458a41e2 & 6748b5496059 (bug 539356) for mochitest-4 orange & talos regressions on multiple platforms 2012-06-11 10:08:32 +01:00
Matt Woodrow
d046341aa0 Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
* * *
Bug 539356 - Part 9a - Add new display list invalidation API to nsDisplayItem and implement it. r=roc
* * *
Bug 539356 - Part 9b - Add new frame invalidation API. r=roc
* * *
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
* * *
Bug 539356 - Part 9d - Make SVG support the new invalidation model. r=jwatt
* * *
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
* * *
Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc
* * *
Bug 539356 - Part 9g - Modify MozAfterPaint code to work with the new invalidation model. r=roc
2012-06-11 16:45:30 +12:00
Timothy Nikkel
60a67224bb Bug 747493. Give frameset documents a basic scroll layer so we can communicate the document's metrics to the compositor and frontend. r=roc,mats 2012-06-09 19:26:57 -05:00
Trevor Saunders
b9aec915ac bug 759033 - nsAccessible -> Accessible and nsAccessibleWrap -> AccessibleWrap r=surkov 2012-05-28 21:18:45 -04:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Robert O'Callahan
a0a4b6c4d6 Bug 737784. Create mInnerView eagerly to ensure that its bounds will always be correctly set in Reflow. r=tnikkel 2012-03-22 16:15:19 +13:00
Daniel Holbert
3dbcc8aba7 Bug 732610 - Make nsIFrame::ComputeSize take a bitfield 'aFlags' instead of a bool 'aShrinkWrap'. r=dbaron 2012-03-16 11:01:05 -07:00
Timothy Nikkel
a735b25668 Bug 714346. Part 2. When we create the display clip item that contains a subdocument we use the prescontext of the child document to snap the clip's bounds. This is wrong when the parent and child documents don't have the same app units per dev pixel ratio. Leave the presshell before creating the clip item. r=mats 2012-02-28 23:53:52 -06:00
Timothy Nikkel
0f0c9fffbd Bug 714346. Part 1. Make some code stop checking useless return values because it makes the control flow more complicated then needed. r=mats 2012-02-28 23:53:37 -06:00
Robert O'Callahan
e97f1ce459 Bug 699351. Part 3: Fix clipping to subdocument to not use subdocument root view bounds. r=tnikkel 2011-12-06 01:39:43 +13:00
Robert O'Callahan
3b84648234 Bug 699351. Add nsIFrameLoader::clipSubdocument API to allow XUL <iframe> and <browser> to not clip the subdocument. r=tnikkel,sr=bzbarsky 2011-12-06 01:38:46 +13:00