fd36ee6e8307bfe6e5ff49adb1ac64ccca5cf3dc: Bug 1124973 (part 6) - Delete some incorrect comments about PL_DHashTableLookup. r=froydnj.
Nicholas Nethercote <nnethercote@mozilla.com> - Mon, 26 Jan 2015 15:13:56 -0800 - rev 239568
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1124973 (part 6) - Delete some incorrect comments about PL_DHashTableLookup. r=froydnj. The comments about PL_DHashTableLookup in nsContentList.cpp aren't quite correct -- Add() can OOM even if the looked-for key is already in the table. More generally, they don't seem worth correcting, so I just removed them.
332e69cd3273c05f1c75cb85d37d80dc3f69f1ce: Bug 1124973 (part 5) - Use PL_DHashTableSearch() in gfxFT2FontList.cpp. r=froydnj,jkew.
Nicholas Nethercote <nnethercote@mozilla.com> - Mon, 26 Jan 2015 14:25:13 -0800 - rev 239567
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1124973 (part 5) - Use PL_DHashTableSearch() in gfxFT2FontList.cpp. r=froydnj,jkew. Because PL_DHashTableLookup() never returns null, GetInfoForFile() features not one but *two* can-never-fail null checks on its result. Having said that, the code as written works, at least for non-zero-sized files, because |entry->mFileSize| will always be zero if the lookup fails (thanks to PLDHashTable always being zeroed at construction, and |mMap| using PL_DHashClearEntryStub which also zeroes). But for zero-sized files the current code will act like they don't exist. Maybe this can't happen in practice, but it seems dangerous and so I've changed it so the new code will treat zero-sized files just like non-zero-sized files.
fc7c269f2b7a7f2a9b55554c6961ccd156b475cf: Bug 1124973 (part 4) - Remove erroneous uses of PL_DHASH_ENTRY_IS_{BUSY,FREE} in nsJSNPRuntime.cpp. r=froydnj.
Nicholas Nethercote <nnethercote@mozilla.com> - Mon, 26 Jan 2015 14:05:06 -0800 - rev 239566
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1124973 (part 4) - Remove erroneous uses of PL_DHASH_ENTRY_IS_{BUSY,FREE} in nsJSNPRuntime.cpp. r=froydnj. The BUSY check is merely useless, because BUSY is always true for a non-null entry returned by PL_DHashTableAdd. The FREE check is downright dangerous because it dereferences |entry| and PL_DHashTableAdd() returns nullptr on OOM. A null check makes more sense here.
ec10af0d21816723e3fbae6949dd2f12eb1e3092: Bug 1124973 (part 3) - Use PL_DHashTableSearch() in nsHostResolver.cpp. r=froydnj,sworkman.
Nicholas Nethercote <nnethercote@mozilla.com> - Thu, 22 Jan 2015 21:25:44 -0800 - rev 239565
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1124973 (part 3) - Use PL_DHashTableSearch() in nsHostResolver.cpp. r=froydnj,sworkman. Currently nsHostResolver.cpp uses PL_DHashTableLookup() and fails to use PL_DHASH_ENTRY_IS_{FREE,BUSY} on the result the way it should. However, I think it gets away with this because it always does this on the result: if (!he || !he->rec) { /* do stuff with |he->rec| */ } The |!he| test is useless and always fails, but the |!he->rec| does the right thing because (a) entry storage is always zeroed when the table is created, (b) HostDB_ClearEntry() zeroes the |rec| field (via NS_RELEASE). So unused entries always have a null |rec| field. Furthermore, |he->rec| is never zero in a used entry because HostDB_InitEntry always assigns it with a nsHostRecord assigned with infallible new in nsHostRecord::Create (and there are existing assertions to this effect). All this means that when this patch switches PL_DHashTableLookup to PL_DHashTableSearch it can drop the |!he->rec| test and just do this: if (!he) { /* do stuff with |he->rec| */ } Finally, there's a comment about HostDB_InitEntry failing which is bogus because HostDB_InitEntry cannot fail. This patch fixes that too.
9e2dbe7f144bd4ebcacf6c8ef05912cf9efbcf37: Bug 1124973 (part 2) - Introduce PL_DHashTableSearch(), and replace most PL_DHashTableLookup() calls with it. r=froydnj.
Nicholas Nethercote <nnethercote@mozilla.com> - Thu, 22 Jan 2015 21:06:55 -0800 - rev 239564
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1124973 (part 2) - Introduce PL_DHashTableSearch(), and replace most PL_DHashTableLookup() calls with it. r=froydnj. It feels safer to use a function with a new name, rather than just changing the behaviour of the existing function. For most of these cases the PL_DHashTableLookup() result was checked with PL_DHASH_ENTRY_IS_{FREE,BUSY} so the conversion was easy. A few of them preceded that check with a useless null check, but the intent of these was still easy to determine. I'll do the trickier ones in subsequent patches.
1c86241afc93376e4068c10a07bd0f82d78e5095: Bug 1124973 (part 1) - Always use inheritance rather than composition for PLDHashTable entries. r=froydnj.
Nicholas Nethercote <nnethercote@mozilla.com> - Thu, 22 Jan 2015 21:05:52 -0800 - rev 239563
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1124973 (part 1) - Always use inheritance rather than composition for PLDHashTable entries. r=froydnj. Because (a) this is how it's usually done, (b) it allows static_cast<> instead of reinterpret_cast<>, and (c) it will make subsequent patches easier.
a70ae54bd3186d1fd0cad6b5167c27b404001419: Bug 1108547 - Part 3: Automated tests; r=jdm
Ehsan Akhgari <ehsan@mozilla.com> - Wed, 21 Jan 2015 21:02:13 -0500 - rev 239562
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1108547 - Part 3: Automated tests; r=jdm
70f043c2e6c8f33680caf40c2760c04e43485fe3: Bug 1108547 - Part 2: Create a dummy channel for accessing the document's cookie when we don't have one already; r=jdm
Ehsan Akhgari <ehsan@mozilla.com> - Wed, 21 Jan 2015 20:57:29 -0500 - rev 239561
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1108547 - Part 2: Create a dummy channel for accessing the document's cookie when we don't have one already; r=jdm This ensures that the cookie service can know which cookie database to query from. This is a gross hack, please see the discussion on the bug as to why we did this.
edbdf7aa292c8380667a602a20d58f77492fd75f: Bug 1108547 - Part 1: Inherit the correct private browsing status on new windows created for targeted navigations; r=jdm
Ehsan Akhgari <ehsan@mozilla.com> - Wed, 21 Jan 2015 21:01:19 -0500 - rev 239560
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1108547 - Part 1: Inherit the correct private browsing status on new windows created for targeted navigations; r=jdm
739b6b7ed6bcab0626e0f0c42ed1d14cb0000cf6: Bug 989012 - Part 2: Don't get stuck when seeing an image without a src or alt attribute; r=roc
Ehsan Akhgari <ehsan@mozilla.com> - Thu, 15 Jan 2015 11:59:13 -0500 - rev 239559
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 989012 - Part 2: Don't get stuck when seeing an image without a src or alt attribute; r=roc We do not want to traverse inside native anonymous elements, but we should still be able to skip over generated content, to avoid getting stuck on such images.
39c448409484df1357a6417f38c9a6965d60b51c: Bug 989012 - Part 1: Stop after passing over a non-selectable frame if one is found during the frame traversal; r=roc
Ehsan Akhgari <ehsan@mozilla.com> - Thu, 15 Jan 2015 11:24:49 -0500 - rev 239558
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 989012 - Part 1: Stop after passing over a non-selectable frame if one is found during the frame traversal; r=roc The caret movement code already handles unselectable text frames if we happen to land in the middle of one in nsTextFrame::PeekOffsetCharacter/Word. However, when performing frame traversal to find the next frame to jump to, we don't remember if we skipped over an unselectable frame, which causes us to jump one offset too much when the caret is on the boundary of selectable and unselectable content. The test cases demonstrate the scenario. Note that an <img alt=foo> is implemented by adding a generated content to the inline frame representing it, so as far as the caret movement code is concerned, both test cases are treated similarly. Note that we need to do this only when moving the selection, and not when extending it. We are adding an aExtend argument to nsPeekOffsetStruct's constructor in order to be able to special case that.
3256cb6f0bc92cff4b6377dc3b3f0e290649c217: Bug 1069416 - Part 8: Remove JS_HAS_SYMBOLS from Promise-backend.js. r=paolo
Tooru Fujisawa <arai_a@mac.com> - Wed, 28 Jan 2015 13:06:38 +0900 - rev 239557
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1069416 - Part 8: Remove JS_HAS_SYMBOLS from Promise-backend.js. r=paolo
5f3d5ec3d30b5bf5ca77cf1191488ad58ed84d3f: Bug 1069416 - Part 7: Remove JS_HAS_SYMBOLS from dom. r=smaug
Tooru Fujisawa <arai_a@mac.com> - Wed, 28 Jan 2015 13:06:38 +0900 - rev 239556
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1069416 - Part 7: Remove JS_HAS_SYMBOLS from dom. r=smaug
1c34cc2fa5d9d09feedb676976e7a59708c47170: Bug 1069416 - Part 6: Remove JS_HAS_SYMBOLS from devtools. r=fitzgen
Tooru Fujisawa <arai_a@mac.com> - Wed, 28 Jan 2015 13:06:38 +0900 - rev 239555
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1069416 - Part 6: Remove JS_HAS_SYMBOLS from devtools. r=fitzgen
670fb41e2cc46ee2f98fcd372da54308b152319f: Bug 1069416 - Part 5: Remove JS_HAS_SYMBOLS from CustomizableUI.jsm. r=Unfocused
Tooru Fujisawa <arai_a@mac.com> - Wed, 28 Jan 2015 13:06:37 +0900 - rev 239554
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1069416 - Part 5: Remove JS_HAS_SYMBOLS from CustomizableUI.jsm. r=Unfocused
5af5deffe0cfaafdd92e4a29e6165f43303743d2: Bug 1069416 - Part 4: Remove JS_HAS_SYMBOLS support from make_opcode_doc.py. r=Waldo
Tooru Fujisawa <arai_a@mac.com> - Wed, 28 Jan 2015 13:06:37 +0900 - rev 239553
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1069416 - Part 4: Remove JS_HAS_SYMBOLS support from make_opcode_doc.py. r=Waldo
ff4b721149af17ada758f1300359ca1c3af5025d: Bug 1069416 - Part 3: Remove std_iterator from js tests. r=evilpie
Tooru Fujisawa <arai_a@mac.com> - Wed, 28 Jan 2015 13:06:37 +0900 - rev 239552
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1069416 - Part 3: Remove std_iterator from js tests. r=evilpie
32e5ed282edbbc44131c6e1077dad64402219ae4: Bug 1069416 - Part 2: Remove JS_HAS_SYMBOLS from js tests. r=evilpie,mrbkap
Tooru Fujisawa <arai_a@mac.com> - Wed, 28 Jan 2015 13:06:37 +0900 - rev 239551
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1069416 - Part 2: Remove JS_HAS_SYMBOLS from js tests. r=evilpie,mrbkap
cad25450eff5dec73395b194b05d21ca27dc7344: Bug 1069416 - Part 1: Remove JS_HAS_SYMBOLS. r=evilpie
Tooru Fujisawa <arai_a@mac.com> - Wed, 28 Jan 2015 13:06:37 +0900 - rev 239550
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 1069416 - Part 1: Remove JS_HAS_SYMBOLS. r=evilpie
56011c2c814c515023ac071d83a5ab6d93340c67: Bug 621351 - Test that border widths and colors set by logical border shorthands can be transitioned. r=dbaron
Cameron McCormack <cam@mcc.id.au> - Wed, 28 Jan 2015 14:41:31 +1100 - rev 239549
Push 500 by joshua.m.grant@gmail.com at Thu, 29 Jan 2015 01:48:36 +0000
Bug 621351 - Test that border widths and colors set by logical border shorthands can be transitioned. r=dbaron
(0) -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip