bb679653777502d9099a403520ed8b17da936e3f: Bug 1209603 patch 11 - Assert that PeekStyle* results don't change during difference computation. r=heycam
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:29 -0700 - rev 301865
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1209603 patch 11 - Assert that PeekStyle* results don't change during difference computation. r=heycam This assertion catches the condition that led to the bug. I confirmed that without patch 10 on this bug, the assert fires on the reftest added in patch 4, but does not fire on slight modifications of that testcase that don't show the bug.
b2c58421d657b4de854528dcd1c81fda17acddc5: Bug 1209603 patch 10 - Make PeekStyle* exact, i.e., guaranteed to return null if we haven't computed the data for this context. r=heycam
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:29 -0700 - rev 301864
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1209603 patch 10 - Make PeekStyle* exact, i.e., guaranteed to return null if we haven't computed the data for this context. r=heycam This fixes the bug because it prevents a cache conditions check for a later PeekStyle* in nsStyleContext::CalcStyleDifference from computing a struct that was null when we checked it earlier in CalcStyleDifference. This, in turn, could allow the old context to be retained (and reparented to the new parent) even though it now has incorrect data in the font or visibility struct that was computed while checking the conditions for another struct. This should also improve performance in some cases of style changes on not-yet-presented frames because we have fewer change hints to process.
0f3e25c8e4b1a37d809d4e777edfa4d10df5cf60: Bug 1209603 patch 9 - Cache inherited style structs on the style context when we found already-cached data in the rule tree. r=heycam
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:29 -0700 - rev 301863
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1209603 patch 9 - Cache inherited style structs on the style context when we found already-cached data in the rule tree. r=heycam This means we obey the invariant that if we've requested an inherited struct on a context, that struct will be cached on the style context. I believe bug 527977 intended to do make us obey this invariant, but it missed the case where nsRuleNode::GetStyle* found cached data already on the rule node, and the case where nsRuleNode::WalkRuleTree found a usable struct higher in the rule tree. Without this change, patch 10 will not function correctly for inherited structs when we encounter this case, and will cause assertions in dom/base/test/test_bug560780.html due to triggering style change hints on text nodes that inherited a color struct from a parent on whose rule node the struct was stored. (It may also have caused some of the other test failures.) This should be a clear performance improvement, since the path that's being slowed down by the added work in this patch will, with the patch, now only execute once because of that work.
573bb4c9a1da8d44ebb8dfed37bdf47f449139b8: Bug 1209603 patch 8 - Record in mBits when we have gotten a reset style struct that is cached on the rule node. r=heycam
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:29 -0700 - rev 301862
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1209603 patch 8 - Record in mBits when we have gotten a reset style struct that is cached on the rule node. r=heycam I'm a little worried about the performance of the change to nsRuleNode::GetStyle*, which sets a bit on the style context every time a struct getter goes through it. It's not obvious how that compares to the performance benefit from patch 10.
514b6bfc3f3896ee44a5c75698c10ff94a6855b1: Bug 1209603 patch 7 - Add assertions that we don't ask the rule node for data when we have cached data on the style context. r=heycam
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:28 -0700 - rev 301861
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1209603 patch 7 - Add assertions that we don't ask the rule node for data when we have cached data on the style context. r=heycam These document an invariant that I depend on in the next patch.
fcd8749d260ccb60fe7f8e07303ce40391652a29: Bug 1209603 patch 6b - Rename nsStyleContext::HasCachedInheritedStyleData to HasCachedDependentStyleData. r=heycam
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:28 -0700 - rev 301860
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1209603 patch 6b - Rename nsStyleContext::HasCachedInheritedStyleData to HasCachedDependentStyleData. r=heycam
565c13fd9230597dd9cda4cb1c2fe66bc4f89f34: Bug 1209603 patch 6 - Prepare to use a different meaning of mBits when cached style data pointer is null. r=heycam
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:28 -0700 - rev 301859
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1209603 patch 6 - Prepare to use a different meaning of mBits when cached style data pointer is null. r=heycam We currently only use the style struct bits in mBits when the style context has the relevant struct cached. The bit being set indicates whether or not the context owns the struct. This patch conditions the necessary tests on a cached struct being present so that we can use (for reset structs, i.e., those with non-inherited properties) mBits to mean something different when the cached storage is null.
415be6e995fdac614a00a85554076e2f3073d1ec: Bug 1209603 patch 5 - Move inline method nsStyleContext::GetCachedStyleData into header file, and make it public. r=heycam
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:28 -0700 - rev 301858
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1209603 patch 5 - Move inline method nsStyleContext::GetCachedStyleData into header file, and make it public. r=heycam Moving it to the header allows its use by another method in the header file, in patch 6. Making it public allows its use in assertions in nsRuleNode in patch 7.
5eb95277f18cc839e3d18394a6d77cec626682e2: Bug 1209603 patch 4 - Add reftest for bug 1209603. r=heycam
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:28 -0700 - rev 301857
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1209603 patch 4 - Add reftest for bug 1209603. r=heycam
a8afd14e9d0b04c8be62695e5c6a22130544c7e8: Bug 1209603 patch 3 - Don't call SetFontSizeDependency for 0em. r=heycam
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:28 -0700 - rev 301856
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1209603 patch 3 - Don't call SetFontSizeDependency for 0em. r=heycam This should be a bit of an optimization for cases where '0em' is the only 'em' unit in a style struct.
b558ca528f4d0df37426d2b1080e94b19db1385e: Bug 1209603 patch 2 - Reduce calls to StyleVisibility() in WritingMode constructor. r=heycam
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:28 -0700 - rev 301855
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1209603 patch 2 - Reduce calls to StyleVisibility() in WritingMode constructor. r=heycam (I noticed this while writing patch 1.)
4e1743f410b1ccd427ace5e24e829849b5786f92: Bug 1209603 patch 1 - Add comments to RuleNodeCacheConditions.h . r=heycam
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:28 -0700 - rev 301854
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1209603 patch 1 - Add comments to RuleNodeCacheConditions.h . r=heycam
4d203aca24e3a471ab627fd5d919612ea9ab0e35: Bug 1214958 - Add operators &=, |=, and ^= to mozilla::DebugOnly. r=froydnj
L. David Baron <dbaron@dbaron.org> - Mon, 19 Oct 2015 20:42:28 -0700 - rev 301853
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1214958 - Add operators &=, |=, and ^= to mozilla::DebugOnly. r=froydnj
fa1abcf44453ef605a4e1b33cc5e99879a35af32: Bug 1216386 - Improve AnimatedGeometryRootLookup::Hash. r=roc.
Nicholas Nethercote <nnethercote@mozilla.com> - Mon, 19 Oct 2015 19:57:47 -0700 - rev 301852
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1216386 - Improve AnimatedGeometryRootLookup::Hash. r=roc. When someone types |sizeof(this)| they usually want |sizeof(*this)|.
551ecd4bb718f7f2d00df8716a143ac4f43d0dca: Bug 1186785 - Replace nsBaseHashtable::EnumerateRead() calls in toolkit/ with iterators. r=froydnj.
Nicholas Nethercote <nnethercote@mozilla.com> - Mon, 19 Oct 2015 15:46:46 -0700 - rev 301851
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1186785 - Replace nsBaseHashtable::EnumerateRead() calls in toolkit/ with iterators. r=froydnj.
92eb00ee19771b8ea7027d10acec971430a69143: Bug 1216020 - Comment all ALLOW_COMPILER_WARNINGS lines. r=glandium.
Nicholas Nethercote <nnethercote@mozilla.com> - Mon, 19 Oct 2015 18:05:20 -0700 - rev 301850
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1216020 - Comment all ALLOW_COMPILER_WARNINGS lines. r=glandium. DONTBUILD because it only changes comments. This will hopefully prevent confusion like that in bug 1215903.
81c18a4b672f8ac003f531294bf0f160c5420ce5: Bug 1193070 - Implement GetFramebufferAttachmentParameter. r=jgilbert
Dan Glastonbury <dglastonbury@mozilla.com> - Thu, 06 Aug 2015 16:31:00 +1000 - rev 301849
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1193070 - Implement GetFramebufferAttachmentParameter. r=jgilbert
26e8885719b643380d55131391eea42f5d669736: Bug 1215899 - Suppress clang and gcc warnings in gfx/skia. r=gw280
Chris Peterson <cpeterson@mozilla.com> - Fri, 16 Oct 2015 22:24:19 -0700 - rev 301848
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1215899 - Suppress clang and gcc warnings in gfx/skia. r=gw280
dc567e5e1576845e45bdc4abfda4e32a8343b37c: Bug 1195167: Followup to fix test which I forgot to change
Jonas Sicking <jonas@sicking.cc> - Mon, 19 Oct 2015 19:18:19 -0700 - rev 301847
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1195167: Followup to fix test which I forgot to change
d8e39b8847377d9030138b70952cc2421528a800: Bug 1189536 - Make fetch-request-xhr.https.html pass; r=bkelly
Ehsan Akhgari <ehsan@mozilla.com> - Mon, 19 Oct 2015 16:15:33 -0400 - rev 301846
Push 5392 by raliiev@mozilla.com at Mon, 14 Dec 2015 20:08:23 +0000
Bug 1189536 - Make fetch-request-xhr.https.html pass; r=bkelly
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip