Commit Graph

539153 Commits

Author SHA1 Message Date
Ben Kelly
e89c30f6c4 Bug 1363829 P9 Make docshell chrome tests wait for next paint to avoid races. r=smaug 2017-05-31 17:13:19 -07:00
Ben Kelly
9a57bd14ec Bug 1363829 P8 Remove TimeoutManager back pressure mechanism. r=smaug 2017-05-31 17:13:19 -07:00
Ben Kelly
e3fc94e5a9 Bug 1363829 P7 Remove the Timeout nsITimer code. r=ehsan 2017-05-31 17:13:19 -07:00
Ben Kelly
f698e87bfb Bug 1363829 P6 Use the TimeoutExecutor in TimeoutManager. r=ehsan 2017-05-31 17:13:19 -07:00
Ben Kelly
e9e20536c7 Bug 1363829 P5 Add an executor class to represent the single timer executing timers for a window. r=ehsan 2017-05-31 17:13:19 -07:00
Ben Kelly
9c58cbc4d3 Bug 1363829 P4 Store the scheduled delay on Timeout instead of relying on the nsITimer to hold it. r=ehsan 2017-05-31 17:13:18 -07:00
Ben Kelly
5a9cd2b6fb Bug 1363829 P3 Improve Timeout ref counting to avoide bare AddRef/Release calls. r=ehsan 2017-05-31 17:13:18 -07:00
Ben Kelly
953ad6f162 Bug 1363829 P2 Removing the Timeout argument to TimeoutManager::RunTimeout(). r=ehsan 2017-05-31 17:13:18 -07:00
Ben Kelly
055afe6bd3 Bug 1363829 P1 Remove some deadcode in TimeoutManager related to processing pending timers. r=ehsan 2017-05-31 17:13:18 -07:00
Jonathan Watt
2c73aaa051 Bug 1368428 - Convert browser/skin/tabbrowser/tab-audio.svg to use context paint and avoid filtering to improve performance. r=dao 2017-05-08 14:55:27 +01:00
Jonathan Watt
fc611e41ec Bug 1368425 - Convert browser/skin/panel-icons.svg to use context paint and avoid filtering to improve performance. r=dao 2017-05-08 12:47:19 +01:00
Ryan VanderMeulen
b9137ac890 Backed out changeset 9a7debda755d (bug 1368839) for bustage. 2017-05-31 19:38:19 -04:00
Brendan Dahl
c2eeb53896 Bug 1367227 - Part 2 - Trigger fullscreen the same way Firefox does. r=ato 2017-05-31 16:29:20 -07:00
Brendan Dahl
9541cf8db0 Bug 1367227 - Part 1 - Match headless fullscreen behavior to other widget backends. r=jrmuizel
Restore size mode after leaving fullscreen. Also, trigger fullscreen
and size mode changed events during MakeFullScreen.
2017-05-31 16:29:10 -07:00
Ralph Giles
0ac20d1d1a Bug 1368839 - Add av1 to MediaSource.isTypeSupported. r=gerald
When av1 video playback is enabled, declare it as supported
in the webm container in MediaSource.IsTypeSupported.

Also support special mime types of the form

  video/webm; codecs=vp9.experimental.<git-commit-id>

so test sites can verify playback support of particular encodings
while the av1 bitstream is under development.

MozReview-Commit-ID: GS4n7cPxfQ7
2017-05-31 16:24:07 -07:00
Dragana Damjanovic
24bb626cb2 Bug 1367393 - Turn TFO off. r=jduell 2017-05-24 05:22:00 -04:00
Dylan Roeh
1e27aa9833 Bug 1360068 - Overhaul WebAppActivity to use GeckoView rather than GeckoApp. r=jchen,daleharvey 2017-05-31 16:59:50 -05:00
Dylan Roeh
7c456e1289 Bug 1356346 - Overhaul CustomTabsActivity.java to use GeckoView rather than GeckoApp. r=jchen, walkingice 2017-04-25 11:48:05 -05:00
Dylan Roeh
3ee02fbbea Bug 1365599 - Make Tabs use the window event dispatcher rather than global in some instances. r=jchen 2017-05-31 16:58:54 -05:00
Florian Quèze
0adcd1d3e9 Bug 1358798 - add a test preventing us from loading scripts unintentionally during startup, r=mconley,mccr8. 2017-05-31 23:00:43 +02:00
L. David Baron
07c2f2dc49 Bug 1352889 - Ensure that PLDHashTable's second hash doesn't have padding with 0 bits for tables with capacity larger than 2^16. r=njn
PLDHashTable takes the result of the hash function and multiplies it by
kGoldenRatio to ensure that it has a good distribution of bits across
the 32-bit hash value, and then zeroes out the low bit so that it can be
used for the collision flag.  This result is called hash0.  From hash0
it computes two different numbers used to find entries in the table
storage:  hash1 is used to find an initial position in the table to
begin searching for an entry; hash2 is then used to repeatedly offset
that position (mod the size of the table) to build a chain of positions
to search.

In a table with capacity 2^c entries, hash1 is simply the upper c bits
of hash0.  This patch does not change this.

Prior to this patch, hash2 was the c bits below hash1, padded at the low
end with zeroes when c > 16.  (Note that bug 927705, changeset
1a02bec165e16f370cace3da21bb2b377a0a7242, increased the maximum capacity
from 2^23 to 2^26 since 2^23 was sometimes insufficient!)  This manner
of computing hash2 is problematic because it increases the risk of long
chains for very large tables, since there is less variation in the hash2
result due to the zero padding.

So this patch changes the hash2 computation by using the low bits of
hash0 instead of shifting it around, thus avoiding 0 bits in parts of
the hash2 value that are significant.

Note that this changes what hash2 is in all cases except when the table
capacity is exactly 2^16, so it does change our hashing characteristics.
For tables with capacity less than 2^16, it should be using a different
second hash, but with the same amount of random-ish data.  For tables
with capacity greater than 2^16, it should be using more random-ish
data.

Note that this patch depends on the patch for bug 1353458 in order to
avoid causing test failures.

MozReview-Commit-ID: JvnxAMBY711

--HG--
extra : transplant_source : 2%D2%C2%CE%E1%92%C8%F8H%D7%15%A4%86%5B%3Ac%0B%08%3DA
2017-05-31 13:44:02 -07:00
L. David Baron
f22aab91c2 Bug 1352888 - Don't set the collision flag when adding to PLDHashTable if we've already found the entry we're going to add. r=njn
PLDHashTable's entry store has two types of unoccupied entries:  free
entries and removed entries.  The search of a chain of entries
(determined by the hash value) in the entry store to search for an entry
can stop at free entries, but it continues across removed entries,
because removed entries are entries that may have been skipped over when
we were adding the value we're searching for to the hash, but have since
been removed.  For live entries, we also maintain this distinction by
using one bit of storage for a collision flag, which notes that if the
hashtable entry is removed, its place in the entry store must become a
removed entry rather than a free entry.

When we add a new entry to the table, Add's semantics require that we
return an existing entry if there is one, and only create a new entry if
no existing entry exists.  (Bug 1352198 suggests the possibility of a
faster alternative Add API where the caller guarantees that the key is
not already in the hashtable.)  When we search for the existing entry,
we must thus continue the search across removed entries, even though we
record the first removed entry found to return if the search for an
existing entry fails.

The existing code adds the collision flag through the entire table
search during an Add.  This patch changes that behavior so that we only
add the collision flag prior to finding the first removed entry.  Adding
it after we find the first removed entry is unnecessary, since we are
not making that entry part of a path to a new entry.  If it is part of a
path to an existing entry, it will already have the collision flag set.

This patch effectively puts an if (!firstRemoved) around the else branch
of the if (MOZ_UNLIKELY(EntryIsRemoved(entry))), and then refactors that
condition outwards since it is now around the contents of both the if
and else branches.

MozReview-Commit-ID: CsXnMYttHVy

--HG--
extra : transplant_source : %80%9E%83%EC%CCY%B4%B0%86%86%18%99%B6U%21o%5D%29%AD%04
2017-05-31 13:44:02 -07:00
Mats Palmgren
6a061ca6cf Bug 1369037 - Make the assertions about NS_FRAME_PART_OF_IBSPLIT stricter and update the associated frame properties in nsContainerFrame::DestroyFrom instead of nsFrame::DestroyFrom. r=jfkthame
MozReview-Commit-ID: G8NQ70xzkQU
2017-05-31 21:29:49 +02:00
Mats Palmgren
26214cbd6f bug 1369015 - Remove a useless do_QueryFrame() call. r=jfkthame
GetParent() already returns a nsContainerFrame* so there's no need to
do_QueryFrame that to a nsContainerFrame* !

MozReview-Commit-ID: B8CwGkUWIoT
2017-05-31 21:29:49 +02:00
Mats Palmgren
357e4b9560 bug 1368547 part 2 - Remove nsFrameManager/PresShell methods dealing with placeholders and introduce a nsIFrame::GetPlaceholderFrame() convenience method. r=jfkthame
MozReview-Commit-ID: GBUiUBqJxhQ
2017-05-31 21:29:49 +02:00
Mats Palmgren
2cecf134ac bug 1368547 part 1 - Remove nsFrameManagerBase::mPlaceholderMap and store the placeholder on a frame property on the out-of-flow instead. r=jfkthame
MozReview-Commit-ID: 6AOxc2XgtO1
2017-05-31 21:29:49 +02:00
Mats Palmgren
f03ef6fe25 Bug 1368802 - nsFrameIterator::GetPlaceholderFrame should only try to get the placeholder for out-of-flow frames, because in-flow frames never have a placeholder. r=jfkthame
MozReview-Commit-ID: CcAlCWMHQQX
2017-05-31 21:29:49 +02:00
Mats Palmgren
a1f37b1e8f Bug 1349835 - Create accessibles for <input type=checkbox/radio> with -moz-appearance:none. r=surkov
MozReview-Commit-ID: Cot3jyZBdpU
2017-05-31 21:29:49 +02:00
Andrea Marchesini
f9b3992646 Bug 1368941 - Remove gonk specific code from ProcessPriorityManager, r=gsvelto 2017-05-31 21:23:52 +02:00
Andrea Marchesini
c3889f808d Bug 1368955 - Split URL.cpp in URLMainThread.{cpp,h} and URLWorker.{cpp,h}, r=qdot
--HG--
rename : dom/url/URL.cpp => dom/url/URLMainThread.cpp
rename : dom/url/URL.cpp => dom/url/URLMainThread.h
rename : dom/url/URL.cpp => dom/url/URLWorker.cpp
rename : dom/url/URL.cpp => dom/url/URLWorker.h
2017-05-31 21:18:56 +02:00
Andrea Marchesini
d7289f085d Bug 1368950 - Remove URL Constructor with a URL base argument, r=qdot 2017-05-31 21:18:19 +02:00
Andrea Marchesini
4c5700d3ed Bug 1369010 - Remove dead code in ContentParent.{cpp,h}, r=qdot 2017-05-31 21:17:24 +02:00
Andrea Marchesini
d3f074c19a Bug 1368065 - Add a test for WebSocket and non-ascii char, r=qdot 2017-05-31 21:16:42 +02:00
Andrea Marchesini
d5b5f35f62 Bug 1369073 - Expose MessagePort/MessageChannel to xpcshell tests, r=bholley 2017-05-31 21:16:03 +02:00
Andrea Marchesini
da7aba03b1 Bug 1368712 - Get rid of nsIBrowserElementAPI.{set,get}Visible, r=kanru 2017-05-31 21:15:23 +02:00
Christoph Kerschbaumer
0944826c8a Bug 1363975 - Have loadOneTab() provide the correct triggeringPrincipal. r=gijs,smaug 2017-05-31 20:59:02 +02:00
Christoph Kerschbaumer
7c190eb1cc Bug 1363975 - Have loadOneTab() tests provide the correct triggeringPrincipal. r=gijs 2017-05-31 20:36:43 +02:00
Christoph Kerschbaumer
d0c653622f Bug 1357386: Gather telemetry for toplevel data: URI loads. r=dveditz,francois 2017-05-31 20:24:17 +02:00
Jonathan Kew
0bd0cd9cd7 Bug 1368369 - pt 2 - Move internal FrameProperties methods to the header as inlines, for better optimization opportunities. r=mats 2017-05-31 19:52:56 +01:00
Jonathan Kew
db627c3bfb Bug 1368369 - pt 1 - Use nsTArray instead of AutoTArray in FrameProperties, and embed the FrameProperties object directly in nsIFrame. r=mats 2017-05-31 19:52:53 +01:00
Jonathan Kew
81a12a010e Bug 1368654 - pt 2 - (Partially) fix SizeOf method in FrameProperties. r=mats 2017-05-31 19:52:50 +01:00
Jonathan Kew
20b8376ffd Bug 1368654 - pt 1 - Implement memory reporter support for FrameProperties. r=mats 2017-05-31 19:52:47 +01:00
Lee Salzman
28e4ba1a1b Bug 1364627 - fix leaking of Cairo scaled font when creating ScaledFontFontconfig from a recording. r=jrmuizel
MozReview-Commit-ID: FspSjKzhrR2
2017-05-31 14:46:04 -04:00
Jessica Jong
e259344438 Bug 1365399 - Handle selectedness and dirtiness correctly in Option constructor. r=smaug
This bug fixes this statement in the spec (https://html.spec.whatwg.org/#dom-option):
  If selected is true, then set option's selectedness to true; otherwise set its
  selectedness to false (even if defaultSelected is true).
And also reset the dirtiness.

This patch also reverts the changes in Bug 927796 and 942648, which was added
because IsSelected() returned inaccurately (called from SelectSomething()).
Verified that the tests added in Bug 927796 and 942648 do pass.

MozReview-Commit-ID: 8PVgvCIHPj4
2017-05-26 01:59:00 -04:00
Tobias Schneider
ca72a8397e Bug 1335644 - (intersection-observer) Always send an initial notification after .observe() is called. r=mstange
--HG--
extra : rebase_source : 022d43ae4351831e625660ebab023b4ca632939e
2017-05-24 17:20:57 -07:00
Honza Bambas
d02e6da08f Bug 1356538 - Carry class-of-service flags to redirected channels. r=mcmanus
--HG--
extra : rebase_source : a0688aa4f470fe377de3cc377f2eb8a2c67bef0c
2017-05-31 05:06:00 -04:00
David Parks
1c495d8974 Bug 1368033 - Ignore return value of SetCursorPos in TestDllInterceptor. r=dmajor
It's unclear why SetCursorPos is occasionally failing in automation but it sometimes returns FALSE so we ignore its return value in TestDllInterceptor.  The majority of the value of these tests is simply in the execution of the method so the return value wasn't providing much anyway.

--HG--
extra : rebase_source : e6852c2cc10fec878ef7711ab9b4302a80c9655b
2017-05-30 23:04:48 -07:00
Jonathan Watt
544adcccd0 Bug 1368412 - Convert skin/classic/global/icons/menubutton-dropmarker.svg to use context paint and avoid filtering to improve performance. r=dao 2017-05-05 18:06:39 +01:00
Jonathan Watt
5ccae642ae Bug 1368411 - Convert content/browser/usercontext.svg to use context paint and avoid filtering to improve performance. r=dao 2017-05-05 11:43:16 +01:00
Jonathan Watt
5f9419c7ea Bug 1368862 - Remove unused NS_DELAY_FOR_WINDOW_CREATION define. r=baku 2017-05-04 10:40:13 +01:00