Commit Graph

15846 Commits

Author SHA1 Message Date
Wes Kocher
46da1ae628 Backed out changeset cc88b920a387 (bug 1278957) for making browser_notifications.js permafail on linux64 debug a=backout CLOSED TREE 2016-08-10 15:36:45 -07:00
Carsten "Tomcat" Book
553a2da922 merge mozilla-inbound to mozilla-central a=merge 2016-08-10 15:54:26 +02:00
Nicholas Nethercote
e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Matt Woodrow
193414f9a8 Bug 1237102 - Make sure we don't generate invalidations for children of opacity:0 frames, even when plugins are present. r=tnikkel 2016-08-10 15:15:28 +12:00
Matt Woodrow
5c967cf2fc Bug 1237097 - Don't invalidate opacity:0 nsDisplayOpacity items. r=tnikkel 2016-08-10 15:12:27 +12:00
Lee Salzman
dfa9fefa78 Bug 1278957 - enable Skia content for Linux and Android. r=mchang
MozReview-Commit-ID: KFb81rVM0ik
2016-08-09 15:56:28 -04:00
Ting-Yu Lin
6346d9e755 Bug 1293950 - Update mozilla wiki link in AccessibleCaret headers. r=mtseng
Change only comments so DONTBUILD (NPOTB).

MozReview-Commit-ID: 3UOtYyOxg3

--HG--
extra : rebase_source : 242ed41c006ce13c3f148a4d165f5c64f43b7cbb
2016-08-10 15:46:27 +08:00
Sebastian Hengst
f887eec24a Backed out changeset adc1960091eb (bug 1291528) 2016-08-09 16:55:59 +02:00
Edwin Flores
8289246c56 Bug 1291528 - Fix gradient scaling in nsCSSRendering::PaintGradient - r=mstange 2016-08-09 12:58:00 +01:00
Hiroyuki Ikezoe
c4cce17f20 Bug 1292441 - Part 1: Avoid crashes when 'reftest-opaque-layer' is specified against an element having an display item which is not assigned to a PaintedLayer. r=mstange
MozReview-Commit-ID: HISvrzIwUZ2

--HG--
extra : rebase_source : da0c2e25d529ce6bf82d38f434301eb0f0f62503
2016-08-08 09:41:50 +09:00
Markus Stange
ecd527362a Bug 1259872 - Don't cull all layers under an opaque layer that covers the container if that layer has a scrolled clip. r=mattwoodrow
MozReview-Commit-ID: Abmm28HiLqR

--HG--
rename : layout/reftests/async-scrolling/bg-fixed-child-no-culling-ref.html => layout/reftests/async-scrolling/bg-fixed-child-no-culling-1-ref.html
rename : layout/reftests/async-scrolling/bg-fixed-child-no-culling.html => layout/reftests/async-scrolling/bg-fixed-child-no-culling-1.html
extra : rebase_source : e8008f9011459d0c28b6b914a9a0e23a953f1469
2016-08-04 22:40:56 -04:00
Cameron McCormack
bddd447666 Bug 1290013 - Add a pref to disable stylo. r=bholley
MozReview-Commit-ID: DG9Q61OYlvl
2016-08-05 17:45:58 +08:00
Decky Coss
b69450d2ea Bug 1287655 - place textarea/input cursor at end of text when initialized; r=smaug
MozReview-Commit-ID: 2srGXFmla07

--HG--
extra : transplant_source : %3Cn%D30%86%24%82%90%29%191%9C%8A%EB%0D%5D%E2%20%22%E5
2016-07-21 14:52:49 -04:00
Markus Stange
ebb461c874 Bug 1012752 - Snap scrolled area to layer pixels. r=tnikkel
We want the maximum scroll position to be aligned with layer pixels. That way
we don't have to re-rasterize the scrolled contents once scrolling hits the
edge of the scrollable area.

Here's how we determine the maximum scroll position: We get the scroll port
rect, snapped to layer pixels. Then we get the scrolled rect and also snap
that to layer pixels. The maximum scroll position is set to the difference
between right/bottom edges of these rectangles.
Now the scrollable area is computed by adding this maximum scroll position
to the unsnapped scroll port size.
The underlying idea here is: Pretend we have overflow:visible so that the
scrolled contents start at (0, 0) relative to the scroll port and spill over
the scroll port edges. When these contents are rendered, their rendering is
snapped to layer pixels. We want those exact pixels to be accessible by
scrolling.

This way of computing the snapped scrollable area ensures that, if you scroll
to the maximum scroll position, the right/bottom edges of the rendered
scrolled contents line up exactly with the right/bottom edges of the scroll
port. The scrolled contents are neither cut off nor are they moved too far.
(This is something that no other browser engine gets completely right, see the
testcase in bug 1012752.)

There are also a few disadvantages to this solution. We snap to layer pixels,
and the size of a layer pixel can depend on the zoom level, the document
resolution, the current screen's scale factor, and CSS transforms. The snap
origin is the position of the reference frame. So a change to any of these
things can influence the scrollable area and the maximum scroll position.
This patch does not make us adjust the current scroll position in the event
that the maximum scroll position changes such that the current scroll position
would be out of range, unless there's a reflow of the scrolled contents. This
means that we can sometimes render a slightly inconsistent state where the
current scroll position exceeds the maximum scroll position. We can fix this
once it turns out to be a problem; I doubt that it will be a problem because
none of the other browsers seems to prevent this problem either.

The size of the scrollable area is exposed through the DOM properties
scrollWidth and scrollHeight. At the moment, these are integer properties, so
their value is rounded to the nearest CSS pixel. Before this patch, the
returned value would always be within 0.5 CSS pixels of the value that layout
computed for the content's scrollable overflow based on the CSS styles of the
contents.
Now that scrollWidth and scrollHeight also depend on pixel snapping, their
values can deviate by up to one layer pixel from what the page might expect
based on the styles of the contents. This change requires a few changes to
existing tests.
The fact that scrollWidth and scrollHeight can change based on the position of
the scrollable element and the zoom level / resolution may surprise some web
pages. However, this also seems to happen in Edge. Edge seems to always round
scrollWidth and scrollHeight upwards, possibly to their equivalent of layout
device pixels.

MozReview-Commit-ID: 3LFV7Lio4tG

--HG--
extra : rebase_source : 3e4e0b60493397e61283aa1d7fd93d7c197dec29
extra : source : d43c2d5e87f31ff47d7f3ada66c3f5f27cef84a9
2016-08-04 23:51:58 -04:00
Markus Stange
840bf3bfdb Bug 1292395 - Tweak this assertion message. r=mattwoodrow
MozReview-Commit-ID: AARqrxI1Qwn

--HG--
extra : rebase_source : 0524667582af2a4a972ecf51ad912eef8a722ddc
2016-08-04 22:00:04 -04:00
David Anderson
456bcd0248 Move TileSize from gfxPlatform to gfxVars. (bug 1288259 part 3, r=jrmuizel)
--HG--
extra : rebase_source : 5a48bb72b10c8d9c1c5c96b8d2076a6d33cabc24
2016-08-04 11:33:43 -07:00
Carsten "Tomcat" Book
336c76b079 Merge mozilla-central to mozilla-inbound 2016-08-04 16:07:29 +02:00
Carsten "Tomcat" Book
389a3e0817 merge mozilla-inbound to mozilla-central a=merge
--HG--
rename : mobile/android/base/java/org/mozilla/gecko/GeckoAppShell.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java
rename : mobile/android/base/java/org/mozilla/gecko/gfx/GeckoLayerClient.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
rename : mobile/android/base/java/org/mozilla/gecko/gfx/LayerRenderer.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/gfx/LayerRenderer.java
rename : mobile/android/base/java/org/mozilla/gecko/gfx/PanningPerfAPI.java => mobile/android/geckoview/src/main/java/org/mozilla/gecko/gfx/PanningPerfAPI.java
2016-08-04 15:55:50 +02:00
Carsten "Tomcat" Book
03f2893f26 Backed out changeset 5b940f1bf535 (bug 1289829) for reftest failures 2016-08-04 09:58:10 +02:00
Sotaro Ikeda
4bf4a29dce Bug 1289829 - Change mask SurfaceSize calculation r=mattwoodrow 2016-08-03 19:00:19 -07:00
Bobby Holley
a84a0167e5 Bug 1291891 - Switch to NS_WARNING for various unimplemented incremental restyle methods. r=emilio
No need to bring the browser down.
2016-08-03 18:30:59 -07:00
Bobby Holley
83d2ff11d1 Bug 1291891 - Switch to NS_WARNING for unimplemented <style scoped>. r=emilio 2016-08-03 18:30:57 -07:00
Wes Kocher
ae855cdb28 Merge m-c to inbound, a=merge 2016-08-03 16:47:07 -07:00
Emilio Cobos Álvarez
5d8a772fcd Bug 1290335: Make ProcessRestyledFrames non static, and tidy up a bit. r=heycam
MozReview-Commit-ID: 4aALVtI5DXT
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
abbea0a9d6 Bug 1290335: Implement dumb versions of RestyleForAppend and RestyleForInsertOrChange. r=heycam
This lets us take rid of the delay-layout hack on the stylo branch.

MozReview-Commit-ID: 9fqhBCQnfYV
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
789c630dba Bug 1290335: Reuse the OverflowChangedTracker between both restyle managers. r=heycam
MozReview-Commit-ID: objnqfecZD
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
5011eb626b Bug 1290335: stylo: Assert the snapshot is taken in ServoRestyleManager::AttributeChanged. r=heycam
Also fixes an embarrassing typo in the implementation of
ServoElementSnapshot::AddAttrs.

MozReview-Commit-ID: 7LHZVLo6j60
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
7f36b64101 Bug 1290335: stylo: Allow processing change hints generated from Servo. r=heycam
MozReview-Commit-ID: Alc0wcXvHcD
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
5f6238d913 Bug 1290335: Hoist GetNextContinuationWithSameStyle to RestyleManagerBase. r=heycam
MozReview-Commit-ID: 3Jz9Od5xav0
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
95abaaa872 Bug 1290335: Hoist frame-construction logic in RestyleManager to static members in RestyleManagerBase. r=heycam
MozReview-Commit-ID: BqywJXZ0CYU
2016-08-03 15:11:15 -07:00
Emilio Cobos Álvarez
6973c87a4e Bug 1290335: stylo: Hoist OverflowChangedTracker to its own file. r=heycam
MozReview-Commit-ID: 8QZC1VgKiZs
2016-08-03 15:11:15 -07:00
Botond Ballo
9ee2ae8d53 Bug 1287075 - Back out bug 1273250, part 4 for regressing the rendering of the Australis submenus. r=mstange
MozReview-Commit-ID: 1m8lVoIX3qT

--HG--
extra : rebase_source : ff3a2c7d9025e3edc310b4c289a6149eb9d1b8d5
2016-08-03 13:48:10 -04:00
Myk Melez
4e07b6e29b Bug 1291889 - specify CPP_THROW_NEW on definition of function whose declaration specifies it r=tnikkel
MozReview-Commit-ID: 9a8hLbfJbkl

--HG--
extra : rebase_source : 114072d12c3f7ea619b0cdf2b1e81e48d68e721b
2016-08-03 14:22:06 -07:00
Alexandre Lissy
0af5b943b6 Bug 1284674 - Remove NUWA r=cyu
MozReview-Commit-ID: GyMRNzOBKw6

--HG--
extra : rebase_source : 293af1cd55f2035ce6a99f4ebf144059c32a2b8f
2016-08-02 14:54:00 +02:00
Carsten "Tomcat" Book
6b13b3cde6 Merge mozilla-central to autoland 2016-08-03 17:08:48 +02:00
Masayuki Nakano
78b4a701e3 Bug 1259665 part.3 Rename WidgetPointerEvent::isPrimary to mIsPrimary r=smaug
MozReview-Commit-ID: LfKzpwCjMcz

--HG--
extra : rebase_source : d4fd41db8ff4dc39a7156f2f509aae89d1c126a1
2016-08-03 17:34:53 +09:00
Masayuki Nakano
b38025c056 Bug 1259665 part.2 Rename WidgetPointerEvent::height to mHeight r=smaug
MozReview-Commit-ID: Ji4X53dByiH

--HG--
extra : rebase_source : 0e79a45d34142453e79f2412eddb7abc132e11d7
2016-08-03 17:23:56 +09:00
Masayuki Nakano
924e7f39e5 Bug 1259665 part.1 Rename WidgetPointerEvent::width to mWidth r=smaug
MozReview-Commit-ID: 3V5gyOvPuQi

--HG--
extra : rebase_source : 6adf7908e8a84bc2cfb86d8f7823662f1b72170f
2016-08-03 17:18:04 +09:00
Kartikaya Gupta
6d50a6b8e2 Bug 1195722 - Add a new pref to enable the accessible carets if touch events are supported, and enable the pref on nightly. r=tylin
MozReview-Commit-ID: 2eaVJ4fLqjt
2016-08-03 12:00:22 -04:00
Kartikaya Gupta
ea0f7627b9 Bug 1195722 - On desktop, allow the context menu to pop up concurrently with text selection. r=tylin
On desktop, the context menu is shown when the user lifts their finger after
a long press, but only if the eMouseLongTap event is not cancelled. So by
not cancelling it, we allow both the text selection and the context menu.

On Android, the context menu takes priority over text selection, so this
has no effect (i.e. if the context menu is shown, then the AccessibleCaret
code never even gets the eMouseLongTap event). Also on Android nothing
else relies on the cancellation of the eMouseLongTap event, so this change
is a no-op.

MozReview-Commit-ID: peFzB2afha
2016-08-03 12:00:19 -04:00
Olli Pettay
c8587c2d07 Bug 1274079, ensure that after dispatching beforeprint, we have still valid ContentViewer to print, r=bz
--HG--
extra : rebase_source : c07cf7794d48d4f9b52b2646c18099a33bbea788
2016-08-02 21:41:51 +03:00
Sotaro Ikeda
a6770561f9 Bug 1289829 - Change mask SurfaceSize calculation r=mattwoodrow 2016-08-04 06:09:25 -07:00
Stone Shih
f8f5ef1c1a Bug 1285128 - Should not generate pointer events for those synthesized events that are not dispatched to DOM. r=smaug 2016-07-07 15:28:11 +08:00
Kevin Chen
dc9ffec776 Bug 1285320 - Part 2: Purge border-image cache when hypothetical SVG viewport changes, if using SVG image with no aspect ratio. r=dholbert 2016-07-31 20:24:00 -04:00
Emilio Cobos Álvarez
9efb158ac7 Bug 1287951: followup: Know if a snapshot belongs to a HTML element in an HTML document at construction time. r=heycam
MozReview-Commit-ID: eN0j8vnesa
2016-07-30 15:03:31 -07:00
Carsten "Tomcat" Book
3c40ac6f0b merge mozilla-inbound to mozilla-central a=merge 2016-07-30 16:20:57 +02:00
Ethan Lin
3a8eda58a3 Bug 1289276 - Add gfxPlatform::CreateSimilarSoftwareDrawTarget to unify software fallback backend. r=mstange 2016-07-28 18:32:00 -04:00
Bobby Holley
6255cd0c72 Bug 1290214 - Remove NS_ERROR for {un,partially-}implemented ServoRestyleManager and ServoStyleSet methods. r=emilio
These are core methods that we know we need to implement, and I'm not worried that
we'll forget about them. The warnings should be enough here.
2016-07-28 17:25:53 -07:00
Bobby Holley
7e2a8f642f Bug 1290214 - Remove NS_ERROR for unhandled document state changes. r=emilio 2016-07-28 17:25:51 -07:00
Bobby Holley
ff7b93c2e8 Bug 1290214 - Remove NS_ERROR for XBL stylesheet management. r=emilio 2016-07-28 17:25:49 -07:00