We should have CI Lint YAML files in the tree.
MozReview-Commit-ID: GN5pOJCXvnz
--HG--
extra : rebase_source : bc3b66985549ca52d47832753764bad5d556f388
We should have CI Lint YAML files in the tree.
MozReview-Commit-ID: F8hTBerSNIj
--HG--
extra : rebase_source : 2d1d3d8d98fd3f0abe3494c49ad01072181c4e08
We should have CI Lint YAML files in the tree.
MozReview-Commit-ID: ATX5IOK747y
--HG--
extra : rebase_source : 24583ac74033923f0e4bcf6053169f09ef76b833
We should have CI Lint YAML files in the tree.
MozReview-Commit-ID: IMOKGhxKFJW
--HG--
extra : rebase_source : a2e47f5c5517e999fe21bac4f86491611bd0cece
We should have CI Lint YAML files in the tree.
MozReview-Commit-ID: 758kdSddjJN
--HG--
extra : rebase_source : 8c8d55ea55737a5c2faca9f91478c72296c881b7
We should have CI Lint YAML files in the tree.
MozReview-Commit-ID: L83j6SODA3w
--HG--
extra : rebase_source : b5aee7a53c2fe25381116e45a4475d66ebba2903
We should have CI Lint YAML files in the tree.
MozReview-Commit-ID: HYVWXzNnnzG
--HG--
rename : tools/lint/flake8_/__init__.py => tools/lint/yamllint_/__init__.py
extra : rebase_source : 54460179e51f6263099a6837e1111dcce05a9331
Excluding Google due to it not being able to run in artifact builds.
MozReview-Commit-ID: B15iW1iC2Lk
--HG--
extra : rebase_source : 8fd72f92717b166fc03e9bd2111ce02979327502
EditorCommands implements common edit commands. So, we can use TextEditor even if the instance is HTMLEditor.
Then, EditorCommands can use non-virtual methods of the concrete classes.
MozReview-Commit-ID: DgKHqC0osRb
--HG--
extra : rebase_source : e9abd7ef8b48cfdc65bbeb56ebe81dc0548005dd
nsComposerCommands uses some simple getter methods. They can be simpler non-virtual methods. So, we should do it.
Note that this changes that EditorBase::GetIsSelectionEditable() won't return error. However, it has returned error only when selection controller isn't available. That means that the selection controller has been destroyed and the editor will be destroyed. So, this must not be problem since it returns false (non-editable) instead and won't break any behavior since the editor won't be editable by users nor JS anymore.
MozReview-Commit-ID: E9ccFspG6na
--HG--
extra : rebase_source : bcd1314cb386fcaf175adabfefde5885decd87c0
Compiler may can optimize to call virtual methods at build time if we call them with concrete classes because some of them may have final keyword.
Even if not so, we can optimize some methods with creating non-virtual methods.
MozReview-Commit-ID: K3bRlc0URml
--HG--
extra : rebase_source : 4a76635c7aed29501f71ae74f3f73e2b22ca219e
All SetState() methods in nsComposerCommands require HTMLEditor. So, it should take HTMLEditor* rather than nsIEditor*.
MozReview-Commit-ID: AVbnRsMsmeY
--HG--
extra : rebase_source : 23bcc585a045a39620102c4fef9c1a9e12b9ea37
Similar to GetCurrentState(), all ToggleState() methods require HTMLEditor. So, they should take HTMLEditor* instead of nsIEditor*.
MozReview-Commit-ID: BwM6WRKFn6Q
--HG--
extra : rebase_source : 425b7b405b5881b97e8113c3ab88e9d0514b6a07
All GetCurrentState() methods in nsComposerCommands require HTMLEditor but its argument is nsIEditor*. So, it should take HTMLEditor* and it shouldn't be called if given editor isn't HTMLEditor since it's virtual method.
MozReview-Commit-ID: HsvYJN8hIxN
--HG--
extra : rebase_source : f8f9c8de902af5311771b71a96c76d63325970a5
nsIEditor is still first contact with editor class for some modules. They should be accessible to the concrete classes without QI. Therefore, nsIEditor should have As*Editor() methods.
Additionally, this adds AsEditorBase(). That is always implemented but it might be necessary for some files for minimizing its include files.
MozReview-Commit-ID: 8WqkDJLiVDs
--HG--
extra : rebase_source : e51282df244efad62bc6fe04ab449e3beab440f9
If a range endpoint is in the middle of a text node, and you call
deleteContents() or extractContents(), the spec says to delete the data
from the node. In the case of extractContents(), the new text node
that's inserted into the DocumentFragment is a clone with its data set
to the bit that was deleted.
<https://dom.spec.whatwg.org/#dom-range-deletecontents>
<https://dom.spec.whatwg.org/#dom-range-extractcontents>
We don't do this. Instead, we split the text node. Then the bit to
delete is deleted naturally at a later stage together with all the other
nodes.
The result is the same, but on the way there we do a bunch more node
mutations. This causes extra mutation records, which cause us to fail a
WPT test. Chrome passes. Changing to match the spec actually reduces
our lines of code anyway.
MozReview-Commit-ID: FTTV5yNSj71
--HG--
extra : rebase_source : 8d5f36c68c71db0700f0b86d1a73462759f922e8
The original duration I wrote is calculated from the m3u8 file this is too accurate without error tolerant.
The state machine will update playback position periodically(UpdatePlaybackPositionPeriodically)
according to the clockTime or max end time from A/Vsink.
So the duration will be variant that I should consider to set the value to a more relaxed value.
MozReview-Commit-ID: GGwkhvzz8sI
--HG--
extra : rebase_source : c0465f7aef7a41e999e8c4c3429957fa56336239
Using namespace id fixes this issue because in Gecko, the pref of MathML
(as well as SVG) works in the way that we choose a different namespace
id (the disabled id) for the elements. Those ids are mapped to the same
namespace atom as normal ids, which means if we use the atom, we would
treat the elements like normal mathml elements.
MozReview-Commit-ID: 9YBBokbP04M
--HG--
extra : rebase_source : 397f09db41a22bfa34e4abe26ad10027dab83d0d
Using namespace id fixes this issue because in Gecko, the pref of MathML (as well as SVG) works in the way that we choose a different namespace id (the disabled id) for the elements. Those ids are mapped to the same namespace atom as normal ids, which means if we use the atom, we would treat the elements like normal mathml elements.
https://bugzilla.mozilla.org/show_bug.cgi?id=1388881
Source-Repo: https://github.com/servo/servo
Source-Revision: 1877cac477770c5908f4b9983adaf7108a361e6e
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5be2c9ddb0f8745f4c7e4f8905949800f4b63e76
When range is selected table element, Selection.addRange uses nsFrameSelection. If frame isn't constructed yet, addRange throws NS_ERROR_FAILURE even if table element isn't editable element.
When getting nsITableCellLayout, we should flush frame to construct cell frame.
MozReview-Commit-ID: 9qWwW46RYNL
--HG--
extra : rebase_source : 708e78af457a28bc273b83015f78950a5bee232e