Граф коммитов

15371 Коммитов

Автор SHA1 Сообщение Дата
Ting-Yu Lin 90fffcd256 Bug 1488219 - Mark nsDateTimeControlFrame as a leaf frame. r=dholbert
nsDateTimeControlFrame should be a leaf like all the other <input> frames
like nsTextControlFrame, nsCheckboxRadioFrame, etc.

Differential Revision: https://phabricator.services.mozilla.com/D4985

--HG--
extra : moz-landing-system : lando
2018-09-05 00:27:43 +00:00
Miko Mynttinen 58f9cc4fc8 Bug 1483659 - Ensure that child overflow areas are included in perspective frame overflow areas r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D3515

--HG--
extra : moz-landing-system : lando
2018-09-04 16:25:54 +00:00
Miko Mynttinen 9cafe14554 Bug 1487020 - Do not reuse nsDisplayRemote if RenderFrameParent has been destroyed r=mattwoodrow
Reviewers: mattwoodrow

Tags: #secure-revision

Bug #: 1487020

Differential Revision: https://phabricator.services.mozilla.com/D4885

--HG--
extra : rebase_source : 3b98453d0b273fbf858e2736e531108a8f1732ed
extra : amend_source : 1a3ebfe814a13c7e386d61cb0cf0601388439e83
extra : source : f0594eca7bd49c18c84c88da920bdf69e1a4dc11
2018-08-31 21:08:01 +02:00
Masayuki Nakano 9ab2669f86 Bug 1487659 - Make Selection treat SelectionChangeListener as a concrete class rather than nsISelectionListener r=smaug
SelectionChangeListener is an nsISelectionListener class.  This is added only
to Selection for "normal" and added by nsFrameSelection::Init() after
AccessibleCaretEventHub.  So, we can make Selection directly treat
SelectionChangeListener.

Differential Revision: https://phabricator.services.mozilla.com/D4757

--HG--
extra : moz-landing-system : lando
2018-08-31 21:22:57 +00:00
Masayuki Nakano 9c349ade9b Bug 1487591 - Make Selection treat AccessibleCaretEventHub as concrete class rather than nsISelectionListener r=smaug
AccessibleCaretEventHub is an nsISelectionListener of Selection whose type is
"normal".  This is added only when nsFrameSelection::Init() is called and
accessible caret is enabled.  Additionally, nsFrameSelection::Init() is
always called immediately after creating nsFrameSelection.

Therefore, when AccessibleCaretEventHub is installed to Selection, this is
always second selection listener and won't be installed multiple times.  So,
Selection can store pointer of AccessibleCaretEventHub directly only when
it's enabled and the Selection needs to notify it of selection change.

This patch makes Selection stores AccessibleCaretEventHub with RefPtr, then,
makes Selection::NotifySelectionListeners() call its OnSelectionChange()
immediately after AutoCopyListener.

Unfortunately, this patch includes making of MOZ_CAN_RUN_SCRIPT_BOUNDARY and
MOZ_CAN_RUN_SCRIPT a lot since some methods of AccessibleCaretEventHub are
marked as MOZ_CAN_RUN_SCRIPT and including AccessibleCaretEventHub.h into
Selection.h causes compile the compile errors.

Differential Revision: https://phabricator.services.mozilla.com/D4733

--HG--
extra : moz-landing-system : lando
2018-08-31 21:19:44 +00:00
Andrew Osmond 740299988c Bug 1487120 - Invalidate nsImageBoxFrame properly for WebRender. r=jrmuizel
When the frame updates for an animated image, it will trigger
nsImageBoxFrame::OnFrameUpdate to be called. We did not change this for
WebRender, and thus it was missing similar checks added to
nsImageFrame::InvalidateSelf as originally added in bug 1382985. This
caused us to ignore the frame update, and thus the animation never
appeared to progress.
2018-08-30 14:51:27 -04:00
Masayuki Nakano be86e183fd Bug 1486370 - Change nsAutoCopyListener to a static class r=smaug
nsAutoCopyListener is a singleton class but refcountable and a selection
listener.  nsFrameSelection adds it to only normal Selection when it's on
macOS or it's enabled by the pref.  Additionally, it's always first selection
listener since it's added immediately after Selection instance is created.

So, we can make it a static class, and normal Selection instance should have
a bool to decide whether it should notify nsAutoCopyListener of its changes.
Then, we can save the cost of grabbing it with local RefPtr and the virtual
call.

Additionally, this patch renames nsAutoCopyListener to mozilla::AutoCopyListener
and optimizes constructor of nsFrameSelection (using bool var cache to retrieve
the pref, avoid retrieving the pref on macOS).

Differential Revision: https://phabricator.services.mozilla.com/D4504

--HG--
rename : layout/generic/nsAutoCopyListener.h => layout/generic/AutoCopyListener.h
extra : moz-landing-system : lando
2018-08-30 07:36:23 +00:00
Miko Mynttinen a6b4ae3b60 Bug 1486477 - Initialize nsDisplayCanvasThemedBackground properly r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D4438

--HG--
extra : moz-landing-system : lando
2018-08-30 00:01:45 +00:00
Emilio Cobos Álvarez 30e5e31b05 Bug 1486457 - Clear the float list if we weren't able to place a line. r=dbaron
We'll re-do the line anyway, and we'll forget about all the already-positioned
floats in the line DoReflowInlineFrames anyway.

Differential Revision: https://phabricator.services.mozilla.com/D4457

--HG--
extra : moz-landing-system : lando
2018-08-28 18:13:20 +00:00
arthur.iakab 5527acb8d8 Merge inbound to mozilla-central a=merge 2018-08-25 01:08:22 +03:00
Boris Chiou 63d06d8017 Bug 1246764 - Part 4: Rename mask flag and function name of xxxBasicShape to xxxBasicShapeOrPath. r=jwatt
This flag and function name are used for both basic shapes and path function,
so rename it. For now, we treat path() and other basic-shapes as the
different object (i.e. StyleSVGPath and StyleBasicShape), so I rename
these functions and mask flag.

Differential Revision: https://phabricator.services.mozilla.com/D3636
2018-08-24 11:37:57 -07:00
Cosmin Sabou 469b620e12 Merge mozilla-central to autoland. a=merge
--HG--
rename : testing/web-platform/tests/css/compositing/support/parsing-testcommon.js => testing/web-platform/tests/css/compositing/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-backgrounds/support/parsing-testcommon.js => testing/web-platform/tests/css/css-backgrounds/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-box/support/parsing-testcommon.js => testing/web-platform/tests/css/css-box/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-cascade/support/parsing-testcommon.js => testing/web-platform/tests/css/css-cascade/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-color/support/parsing-testcommon.js => testing/web-platform/tests/css/css-color/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-images/support/parsing-testcommon.js => testing/web-platform/tests/css/css-images/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-masking/support/parsing-testcommon.js => testing/web-platform/tests/css/css-masking/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-shapes/support/parsing-testcommon.js => testing/web-platform/tests/css/css-shapes/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-transforms/support/parsing-testcommon.js => testing/web-platform/tests/css/css-transforms/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-ui/support/parsing-testcommon.js => testing/web-platform/tests/css/css-ui/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-writing-modes/support/parsing-testcommon.js => testing/web-platform/tests/css/css-writing-modes/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/filter-effects/support/parsing-testcommon.js => testing/web-platform/tests/css/filter-effects/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/motion/support/parsing-testcommon.js => testing/web-platform/tests/css/motion/parsing/support/parsing-testcommon.js
rename : third_party/rust/crossbeam-deque/.cargo-checksum.json => third_party/rust/crossbeam-deque-0.2.0/.cargo-checksum.json
rename : third_party/rust/crossbeam-deque/.travis.yml => third_party/rust/crossbeam-deque-0.2.0/.travis.yml
rename : third_party/rust/crossbeam-deque/CHANGELOG.md => third_party/rust/crossbeam-deque-0.2.0/CHANGELOG.md
rename : third_party/rust/crossbeam-deque/Cargo.toml => third_party/rust/crossbeam-deque-0.2.0/Cargo.toml
rename : third_party/rust/bitflags-0.7.0/LICENSE-APACHE => third_party/rust/crossbeam-deque-0.2.0/LICENSE-APACHE
rename : third_party/rust/crossbeam-deque/README.md => third_party/rust/crossbeam-deque-0.2.0/README.md
rename : third_party/rust/crossbeam-deque/src/lib.rs => third_party/rust/crossbeam-deque-0.2.0/src/lib.rs
rename : third_party/rust/crossbeam-epoch/.cargo-checksum.json => third_party/rust/crossbeam-epoch-0.3.1/.cargo-checksum.json
rename : third_party/rust/crossbeam-epoch/.travis.yml => third_party/rust/crossbeam-epoch-0.3.1/.travis.yml
rename : third_party/rust/crossbeam-epoch/CHANGELOG.md => third_party/rust/crossbeam-epoch-0.3.1/CHANGELOG.md
rename : third_party/rust/crossbeam-epoch/Cargo.toml => third_party/rust/crossbeam-epoch-0.3.1/Cargo.toml
rename : third_party/rust/tokio-io/LICENSE-APACHE => third_party/rust/crossbeam-epoch-0.3.1/LICENSE-APACHE
rename : third_party/rust/crossbeam-epoch/README.md => third_party/rust/crossbeam-epoch-0.3.1/README.md
rename : third_party/rust/crossbeam-epoch/examples/sanitize.rs => third_party/rust/crossbeam-epoch-0.3.1/examples/sanitize.rs
rename : third_party/rust/crossbeam-epoch/src/atomic.rs => third_party/rust/crossbeam-epoch-0.3.1/src/atomic.rs
rename : third_party/rust/crossbeam-epoch/src/collector.rs => third_party/rust/crossbeam-epoch-0.3.1/src/collector.rs
rename : third_party/rust/crossbeam-epoch/src/default.rs => third_party/rust/crossbeam-epoch-0.3.1/src/default.rs
rename : third_party/rust/crossbeam-epoch/src/deferred.rs => third_party/rust/crossbeam-epoch-0.3.1/src/deferred.rs
rename : third_party/rust/crossbeam-epoch/src/epoch.rs => third_party/rust/crossbeam-epoch-0.3.1/src/epoch.rs
rename : third_party/rust/crossbeam-epoch/src/garbage.rs => third_party/rust/crossbeam-epoch-0.3.1/src/garbage.rs
rename : third_party/rust/crossbeam-epoch/src/guard.rs => third_party/rust/crossbeam-epoch-0.3.1/src/guard.rs
rename : third_party/rust/crossbeam-epoch/src/internal.rs => third_party/rust/crossbeam-epoch-0.3.1/src/internal.rs
rename : third_party/rust/crossbeam-epoch/src/lib.rs => third_party/rust/crossbeam-epoch-0.3.1/src/lib.rs
rename : third_party/rust/crossbeam-epoch/src/sync/list.rs => third_party/rust/crossbeam-epoch-0.3.1/src/sync/list.rs
rename : third_party/rust/crossbeam-epoch/src/sync/queue.rs => third_party/rust/crossbeam-epoch-0.3.1/src/sync/queue.rs
rename : third_party/rust/crossbeam-utils/.cargo-checksum.json => third_party/rust/crossbeam-utils-0.2.2/.cargo-checksum.json
rename : third_party/rust/crossbeam-utils/CHANGELOG.md => third_party/rust/crossbeam-utils-0.2.2/CHANGELOG.md
rename : third_party/rust/crossbeam-utils/Cargo.toml => third_party/rust/crossbeam-utils-0.2.2/Cargo.toml
rename : third_party/rust/bitflags-0.7.0/LICENSE-APACHE => third_party/rust/crossbeam-utils-0.2.2/LICENSE-APACHE
rename : third_party/rust/crossbeam-utils/src/atomic_option.rs => third_party/rust/crossbeam-utils-0.2.2/src/atomic_option.rs
rename : third_party/rust/crossbeam-utils/src/lib.rs => third_party/rust/crossbeam-utils-0.2.2/src/lib.rs
rename : third_party/rust/crossbeam-utils/src/scoped.rs => third_party/rust/crossbeam-utils-0.2.2/src/scoped.rs
rename : third_party/rust/bitflags-0.7.0/LICENSE-APACHE => third_party/rust/indexmap/LICENSE-APACHE
rename : third_party/rust/lazycell/.cargo-checksum.json => third_party/rust/lazycell-0.4.0/.cargo-checksum.json
rename : third_party/rust/lazycell/CHANGELOG.md => third_party/rust/lazycell-0.4.0/CHANGELOG.md
rename : third_party/rust/lazycell/Cargo.toml => third_party/rust/lazycell-0.4.0/Cargo.toml
rename : third_party/rust/bitflags-0.7.0/LICENSE-APACHE => third_party/rust/lazycell-0.4.0/LICENSE-APACHE
rename : third_party/rust/lazycell/LICENSE-MIT => third_party/rust/lazycell-0.4.0/LICENSE-MIT
rename : third_party/rust/lazycell/README.md => third_party/rust/lazycell-0.4.0/README.md
rename : third_party/rust/lazycell/src/lib.rs => third_party/rust/lazycell-0.4.0/src/lib.rs
rename : third_party/rust/bitflags-0.7.0/LICENSE-APACHE => third_party/rust/rand-0.3.22/LICENSE-APACHE
rename : third_party/rust/bitflags-0.7.0/LICENSE-MIT => third_party/rust/rand-0.3.22/LICENSE-MIT
rename : third_party/rust/rand/appveyor.yml => third_party/rust/rand-0.3.22/appveyor.yml
rename : third_party/rust/slab/.cargo-checksum.json => third_party/rust/slab-0.3.0/.cargo-checksum.json
rename : third_party/rust/slab/Cargo.toml => third_party/rust/slab-0.3.0/Cargo.toml
rename : third_party/rust/slab/README.md => third_party/rust/slab-0.3.0/README.md
rename : third_party/rust/slab/src/lib.rs => third_party/rust/slab-0.3.0/src/lib.rs
rename : third_party/rust/tokio-io/src/read_to_end.rs => third_party/rust/tokio-io/src/io/read_to_end.rs
rename : third_party/rust/tokio-io/src/read_until.rs => third_party/rust/tokio-io/src/io/read_until.rs
extra : rebase_source : 4c022c31e626832d12535d88e7caea452419ac2f
2018-08-24 00:44:17 +03:00
Cosmin Sabou 3211507dfb Merge mozilla-inbound to mozilla-central. a=merge 2018-08-24 00:40:14 +03:00
Emilio Cobos Álvarez 2340488c8b Bug 1485430 - Simplify PlaceBelowCurrentFloats. r=dbaron,mats
No reason to pass our own member as an argument.

Differential Revision: https://phabricator.services.mozilla.com/D4000

--HG--
extra : moz-landing-system : lando
2018-08-22 23:29:22 +00:00
Xidorn Quan 0e1bf45a08 Bug 1484521 - Prepend bullet frame in line layout. r=jfkthame
Bug 1478178 regressed this case because bullet frame is the last frame
added to line layout, rather than the first, so when we try to apply
justification, we end up giving it the accumulated offset of the whole
line.

Bullet frame has to be added after other frames in the line have been
placed, because its presence may depend on whether the line is empty.
However, bullet frame is logically the first frame in a line and
appending it to the end is somewhat counter-intuitive.

Thus, this patch tries to fix the issue via prepending bullet frame in
line layout, so that the order of frames there can be more reliable.

Differential Revision: https://phabricator.services.mozilla.com/D3760

--HG--
extra : moz-landing-system : lando
2018-08-24 10:44:04 +00:00
Emilio Cobos Álvarez b6a59eedfc Bug 488725: Don't position floats in a nowrap context until hitting a break opportunity. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D3900
2018-08-23 16:45:01 +02:00
Gerald Squelart e3df11afd8 Bug 1483946 - Fix CSS containment issue with scrollable elements - r=dholbert
Scrollable elements already trap all of their contents, nothing should spill
out, so there is no need for special handling of the `contain` CSS property.

Differential Revision: https://phabricator.services.mozilla.com/D3854

--HG--
extra : moz-landing-system : lando
2018-08-23 15:55:54 +00:00
Emilio Cobos Álvarez a52d435c07 Bug 1485525 - Land an XBL-free version of the crashtest for bug 401042. r=mats
So this keeps covered if XBL goes away.

Differential Revision: https://phabricator.services.mozilla.com/D4030

--HG--
extra : moz-landing-system : lando
2018-08-23 10:43:29 +00:00
Noemi Erli a3eb003ecf Merge inbound to mozilla-central. a=merge
--HG--
rename : testing/web-platform/tests/css/motion/offset-path-string.html => testing/web-platform/tests/css/motion/offset-path-string-001.html
2018-08-22 12:49:02 +03:00
Xidorn Quan 7119449f79 Bug 1484587 - Put the behavior that overflow-wrap: break-word affecting intrinsic size behind a pref and disable it by default. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D3749

--HG--
extra : moz-landing-system : lando
2018-08-22 06:55:13 +00:00
Ciure Andrei 40b18c41b7 Backed out 7 changesets (bug 1429298) for xpcshell failures properties-db.js CLOSED TREE
Backed out changeset 48214a8e1b6b (bug 1429298)
Backed out changeset cc2785ab879e (bug 1429298)
Backed out changeset c217209a3b04 (bug 1429298)
Backed out changeset 196fc7b48b84 (bug 1429298)
Backed out changeset 761e9bb54adb (bug 1429298)
Backed out changeset 0b9ec0d707b5 (bug 1429298)
Backed out changeset 38ad1cc1b0c8 (bug 1429298)

--HG--
rename : testing/web-platform/tests/css/motion/offset-path-string-002.html => testing/web-platform/tests/css/motion/offset-path-string.html
2018-08-22 08:01:49 +03:00
Boris Chiou 4171197c25 Bug 1429298 - Part 2: Define offset-path and implement it in style system. r=emilio
Define OffsetPath & SVGPathData on the servo-side, and StyleMotion &
StyleSVGPath on the gecko-side. We parse the SVG Path string into a
vector of PathCommand. To build the gfx::Path, we will convert it into
gfx::Path later in a different patch.

The basic flow is:
  - Parse SVG Path String into SVGPathData (in Rust).
  - Use cbindgen to make sure the layout of PathCommand and StylePathCommand, and then set the Box[PathCommand] into nsTArray<StylePathCommand>.
  - Try to convert nsTArray<StylePathCommand> into gfx::Path. (This part will be implemented in a different patch.)

Finally, we use the gfx::Path to create a motion path transform.
The layout implementation is in the later patch.

Depends on D2962

Differential Revision: https://phabricator.services.mozilla.com/D2963

--HG--
extra : moz-landing-system : lando
2018-08-22 01:24:13 +00:00
Tiberius Oros 05b46cf200 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-22 00:59:19 +03:00
Mike Conley 20644c9627 Bug 1485023 - Replace checks for PresShells when suppressing displayports with assertions. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D3905

--HG--
extra : moz-landing-system : lando
2018-08-21 21:45:07 +00:00
Mats Palmgren 2f53d4f281 Bug 1484559 - Ensure that the scroll frame deregister its refresh driver observers (mAsyncScroll & mAsyncSmoothMSDScroll) before it's destroyed. r=dholbert 2018-08-21 14:55:22 +02:00
Boris Chiou a8bd6dfc8a Bug 1429298 - Part 2: Define offset-path and implement it in style system. r=emilio
Define OffsetPath & SVGPathData on the servo-side, and StyleMotion &
StyleSVGPath on the gecko-side. We parse the SVG Path string into a
vector of PathCommand. To build the gfx::Path, we will convert it into
gfx::Path later in a different patch.

The basic flow is:
* Parse SVG Path String into SVGPathData (in Rust).
* Use cbindgen to make sure the layout of PathCommand and StylePathCommand,
  and then set the Box[PathCommand] into nsTArray<StylePathCommand>.
* Try to convert nsTArray<StylePathCommand> into gfx::Path. (This part
  will be implemented in a different patch.)

Finally, we use the gfx::Path to create a motion path transform.
The layout implementation is in the later patch.

Differential Revision: https://phabricator.services.mozilla.com/D2963
2018-08-21 22:41:38 -07:00
shindli 22e756d763 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-20 12:54:42 +03:00
Jonathan Kew f010447bbe Bug 1484094 - Don't allow the caret to be placed within a ligated emoji sequence. r=m_kato 2018-08-20 09:07:40 +01:00
Kashav Madan e3060a3711 Bug 1465616 - Use the larger viewport to layout and size fixed position elements. r=mstange
Since fixed position elements are now scrollable, we need to ensure that
they're drawn into the viewport that they're attached to.

MozReview-Commit-ID: ADQXkLjwIzR

--HG--
extra : rebase_source : 2a2ec4983e2ec7f69a3c18389661e00e47ac5277
2018-07-04 16:10:04 -04:00
Csoregi Natalia 3e61ab4489 Merge inbound to mozilla-central. a=merge 2018-08-18 12:46:20 +03:00
Ting-Yu Lin f90c2a2950 Bug 1484306 Part 4 - Use FunctionTypeTraits to yield better error message if aPredicate's signature is wrong. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D3684
2018-08-17 22:14:26 -07:00
Ting-Yu Lin 4347d6785b Bug 1484306 Part 2 - Add nsFrameList::Split(), and use it to replace the usage of FindFirstNonBlock(). r=dholbert
This API is similar to Vec::Split() in Rust.
https://doc.rust-lang.org/std/vec/struct.Vec.html#method.split

Differential Revision: https://phabricator.services.mozilla.com/D3644
2018-08-17 22:14:25 -07:00
Ting-Yu Lin f830c92c19 Bug 1484306 Part 1 - Add nsFrameList::FrameLinkEnumerator::Find(). r=dholbert
Use it to implement FindFirstBlock() and FindFirstNonBlock(). This is a
demonstration on how Find() is used. The usage of them will be overhauled in
Part 2 and 3.

Differential Revision: https://phabricator.services.mozilla.com/D3642
2018-08-17 22:14:25 -07:00
Timothy Guan-tin Chien 166aa2d738 Bug 1483972 - Allow videocontrols to initialize without style r=jaws,dholbert!,jaws!
This crash happens because nsVideoFrame didn't know what to do with two
children in the UA Widget Shadow Root.

The two children are both videocontrols, with the first one being the lingering
DOM inserted by first constructor call that throws.

The subsequent appendChild of the same element caused the videocontrols
to be initialized again, since the previous run didn't return a widget
instance to UAWidgetsChild.

The fix here removes the throw statement added in
https://hg.mozilla.org/mozilla-central/rev/dca187f7c72c#l3.15 ,
allowing the constructor to complete.

Without this statement, we will rely on assertion in the test here
https://hg.mozilla.org/mozilla-central/rev/4ddca5eb06c2#l2.18
to fail on slower platforms to ensure the stylesheet is loaded synchronously.

An alternative fix would be to wrap up the contructor in a try catch block
from UAWidgetsChild and make sure the DOM is cleaned up when the constructor
throw. That however will hide the error thrown so I decided to remove the throw
statement instead.

Differential Revision: https://phabricator.services.mozilla.com/D3560

--HG--
extra : moz-landing-system : lando
2018-08-17 20:43:46 +00:00
Xidorn Quan 94fec1b2c8 Bug 1475033 part 4 - Implement scrollbar-width: none. r=mstange
MozReview-Commit-ID: 97AOILxYSw0

--HG--
extra : rebase_source : 817fff46702f28b3ce5feae0c00bf45969326521
2018-08-06 09:23:33 +10:00
Xidorn Quan 681c592a20 Bug 1475033 part 2 - Add a ShowScrollbar enum to be used in ScrollReflowInput. r=mstange
Overflow properties have two semantics nowadays:
1. controlling whether the scrollbar should be shown;
2. controlling whether the content is scrollable.

However, with the scrollbar-width property being added, scrollability
and presence of scrollbar no longer binds together.

This change attempts to draw a boundary between value of overflow and
presence of scrollbar by making it clear that for ScrollReflowInput, we
only care about whether scrollbar should be shown. This should make it
easier to reason about further changes involving presence of scrollbar.

MozReview-Commit-ID: 2E964z0SkW4

--HG--
extra : rebase_source : e59eb078127a71de5bc9b0537d4fe8d540965ba2
2018-08-03 17:44:15 +10:00
Masayuki Nakano b808917841 Bug 1449564 - part 1: Disable object resizer and inline table editor in default r=m_kato
Gecko supports resizers of <img> elements and <table>, <td>, <th> elements and
has UI to remove existing table row or column in default.  However, the other
browsers don't have such UI and web apps need to disable this feature with
calling both:
document.execCommand("enableObjectResizing", false, false);
document.execCommand("enableInlineTableEditing", false, false);
for avoiding conflicting with their own features to edit such elements.

Therefore, it doesn't make sense to keep enabling them in default only on
Gecko.  If web apps want to keep using these features, they should call:
document.execCommand("enableObjectResizing", false, true);
document.execCommand("enableInlineTableEditing", false, true);
at initializing the editor.

And also this patch fixes bugs of
document.queryCommandState("enableObjectResizing") and
document.queryCommandState("enableInlineTableEditing").  They always return
false even after calling document.execCommand(..., false, true) since
nsSetDocumentStateCommand::GetCommandStateParams() sets bool value as
STATE_ATTRIBUTE.  However, nsHTMLDocument::QueryCommandValue() which is the
caller referring STATE_ATTRIBUTE doesn't treat it as bool value.  And also
those commands are related to state of document.  Therefore, they should be
return as bool value of STATE_ALL instead.  Then,
nsHTMLDocument::QueryCommandState() returns the state as expected.  Note that
those commands are supported only by Gecko.  So, we don't need to worry about
the compatibility.

Finally, this patch rewrites 2 existing tests to check basic behavior of
resizers and appearance of resizers.

Note that this patch does not add new tests to test inline table editor
since it's difficult to test the behavior with current API.  Perhaps, we
should add an API to nsIHTMLEditor to retrieve each anonymous elements in
another bug since it requires to add wrapping API of SpecialPowers.

MozReview-Commit-ID: 1FhYo5vcV60

--HG--
rename : editor/libeditor/tests/test_objectResizing.html => editor/libeditor/tests/test_resizers_appearance.html
rename : editor/libeditor/tests/test_bug640321.html => editor/libeditor/tests/test_resizers_resizing_elements.html
extra : rebase_source : a707de5a64ef1f8ce974cdf1be093d1b4f61c7bc
2018-04-02 17:26:46 +09:00
Margareta Eliza Balazs 48299c8cd6 Merge inbound to mozilla-central. a=merge 2018-08-16 12:24:26 +03:00
Mihir Iyer 299e679ae7 Bug 1472843 - Implement justify-content:left/right/start/end, align-content:start/end, align-self:self-start/self-end for flexbox. r=dholbert
This commit also removes some cases & warnings about unsupported values that
have now been removed from the css alignment spec.
Specifically: "justify-content:[last] baseline" and
"align-self/align-content: left/right".

--HG--
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-vert-001-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-wmvert-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-horiz-001a.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-wmvert-001.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-vert-002-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-vert-rtl-005-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-vert-002.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-vert-rtl-005.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-005-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-006-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-005.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-006.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-006-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001a.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-006.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-wmvert-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001a.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-wmvert-001.xhtml
extra : amend_source : 93cd04450f573fcfa11f3400ffd0ecb4cb3e6d90
2018-08-03 07:56:32 -07:00
Cameron McCormack 99d9013b12 Bug 1482782 - Part 5: Move CSS anonymous box atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3283

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3284
2018-08-15 15:46:39 +10:00
Cameron McCormack 4a23b5ff06 Bug 1482782 - Part 4: Move CSS pseudo-element atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3282

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3283
2018-08-15 15:46:00 +10:00
Narcis Beleuzu d20e8e7674 Backed out 8 changesets (bug 1483121, bug 1482782) for build bustages on nsDirectoryService.cpp. CLOSED TREE
Backed out changeset 0a8334bbcf45 (bug 1483121)
Backed out changeset cb2dcb859071 (bug 1482782)
Backed out changeset c834d4ca2eef (bug 1482782)
Backed out changeset 887de0efbb67 (bug 1482782)
Backed out changeset 018fdb50a6be (bug 1482782)
Backed out changeset 33a8aa8096c9 (bug 1482782)
Backed out changeset e3632354f16e (bug 1482782)
Backed out changeset 46f8319bee82 (bug 1482782)
2018-08-15 09:14:41 +03:00
Cameron McCormack d9edae8bde Bug 1482782 - Part 5: Move CSS anonymous box atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3283

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3284
2018-08-15 15:46:39 +10:00
Cameron McCormack cc6c806369 Bug 1482782 - Part 4: Move CSS pseudo-element atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3282

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3283
2018-08-15 15:46:00 +10:00
Andreea Pavel 5d75e43adc Merge mozilla-inbound to mozilla-central. a=merge 2018-08-14 19:15:33 +03:00
Henri Sivonen 3edc601325 Bug 1402247 - Use encoding_rs for XPCOM string encoding conversions. r=Nika,erahm,froydnj.
Correctness improvements:

 * UTF errors are handled safely per spec instead of dangerously truncating
   strings.

 * There are fewer converter implementations.

Performance improvements:

 * The old code did exact buffer length math, which meant doing UTF math twice
   on each input string (once for length calculation and another time for
   conversion). Exact length math is more complicated when handling errors
   properly, which the old code didn't do. The new code does UTF math on the
   string content only once (when converting) but risks allocating more than
   once. There are heuristics in place to lower the probability of
   reallocation in cases where the double math avoidance isn't enough of a
   saving to absorb an allocation and memcpy.

 * Previously, in UTF-16 <-> UTF-8 conversions, an ASCII prefix was optimized
   but a single non-ASCII code point pessimized the rest of the string. The
   new code tries to get back on the fast ASCII path.

 * UTF-16 to Latin1 conversion guarantees less about handling of out-of-range
   input to eliminate an operation from the inner loop on x86/x86_64.

 * When assigning to a pre-existing string, the new code tries to reuse the
   old buffer instead of first releasing the old buffer and then allocating a
   new one.

 * When reallocating from the new code, the memcpy covers only the data that
   is part of the logical length of the old string instead of memcpying the
   whole capacity. (For old callers old excess memcpy behavior is preserved
   due to bogus callers. See bug 1472113.)

 * UTF-8 strings in XPConnect that are in the Latin1 range are passed to
   SpiderMonkey as Latin1.

New features:

 * Conversion between UTF-8 and Latin1 is added in order to enable faster
   future interop between Rust code (or otherwise UTF-8-using code) and text
   node and SpiderMonkey code that uses Latin1.

MozReview-Commit-ID: JaJuExfILM9
2018-08-14 14:43:42 +03:00
Margareta Eliza Balazs 2b0e863a2c Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-14 12:36:35 +03:00
Margareta Eliza Balazs e53d398574 Merge inbound to mozilla-central. a=merge 2018-08-14 12:30:50 +03:00
Margareta Eliza Balazs 9575863d77 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-14 12:35:25 +03:00
Xidorn Quan 33b8a6dacd Bug 1483090 - Rename StyleUserInterface to StyleUI. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D3276

--HG--
extra : moz-landing-system : lando
2018-08-14 08:37:37 +00:00