- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix part of #5286.
- [x] These changes do not require tests because they are refactoring only.
Source-Repo: https://github.com/servo/servo
Source-Revision: 6d7fdb484b42a26f9d33217e163f157fd87b6742
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5e4293d1b059882936c916799bc78ca5fa564ae6
ContentEventHandler::ExpandToClusterBoundary() doesn't check the return value of nsTextFrame::PeekOffsetCharacter(). Therefore, it may set its result to reversed offset. (e.g., when aForward is true and offset is 6, the result may be 5. When aForward is false and offset is 5, the result may be 6.)
For avoiding that, ContentEventHandler::ExpandToClusterBoundary() should check the result and only when it returns nsIFrame::FOUND, it should compute the proper offset.
On the other hand, it's too bad for ContentEventHandler that nsTextFrame::PeekOffsetCharacter() to return nsIFrame::CONTINUE_UNSELECTABLE when the user-select style is "all" because IME doesn't expect such cases.
Therefore, this patch adds additional argument to nsIFrame::PeekOffsetCharacter(), aOptions which is a struct containing bool members. The reason why it's not a bit mask enum is, such struct doesn't cause simple mistake at checking the value and the code is shorter. When mIgnoreUserStyleAll of it is true, this patch makes nsTextFrame not return nsIFrame::CONTINUE_UNSELECTABLE.
MozReview-Commit-ID: ACNNBTP92YZ
--HG--
extra : rebase_source : bd85da902e7fb59135d15514cb20a5599a4a640b
This patch adds some automated tests for reproducing bug 1375825 and makes nsQuetyContentEventResult::GetText() work with eQueryTextRect event because ContentEventHandler sets it to the text which was used for computing the rect.
MozReview-Commit-ID: Gk8IV2Vln6V
--HG--
extra : rebase_source : 2d7127c09713358cf9a69fbbc180c325981794b2
When going back/forward through a tab's session history, the saved resolution from the LayoutHistoryState is set on the PresShell before first paint. On Fennec, this means that it is subsequently going to be overwritten by the MobileViewportManager's default zoom calculation.
To fix this, we make use of the MVM's feature to set a "restored" resolution that will then be taken into account on first paint.
MozReview-Commit-ID: 43o97M6fiaZ
--HG--
extra : rebase_source : 45d29057de137cb306617481311622c6ca620fa3
Support OSX Signed nightlies (in the complete.mar too)
MozReview-Commit-ID: 8krBMVOIuld
--HG--
extra : rebase_source : 84a44165017b548b4ed4014d59abb2cefb3d9906
extra : amend_source : a850b430bc0a0531c8014e12cd0533ef8a0444eb
extra : source : 45fedee5b283df0e3f2f8726da4885fceef4729c
Support OSX Signed nightlies (in the complete.mar too)
MozReview-Commit-ID: Zt04wLHyDW
--HG--
extra : rebase_source : 0afbff7d1f47eaa0d02a7ab91897dfbbb3cbb895
Support OSX Signed nightlies (in the complete.mar too)
MozReview-Commit-ID: HkGRRm7k2Ra
--HG--
extra : rebase_source : a8fc5c76bdc623e4217840b7b75c39d0aa0b9051
Support OSX Signed nightlies (in the complete.mar too)
MozReview-Commit-ID: HVJwMuXUixX
--HG--
extra : rebase_source : b05bca1a539e751e8a8a59c32a0a392752c95c73
Support OSX Signed nightlies (in the complete.mar too)
MozReview-Commit-ID: GnjEkcxabwr
--HG--
extra : rebase_source : e2196a22e3138a090202f42d92471edd51f07d17
Support OSX Signed nightlies (in the complete.mar too)
MozReview-Commit-ID: 9J3mLrb3fTJ
--HG--
extra : rebase_source : 1f2ca9b97c1ee68b09d34cc60e32a7dd19cd27c5
Support OSX Signed nightlies (in the complete.mar too)
MozReview-Commit-ID: 6iPrPhjj34g
--HG--
extra : rebase_source : 55a6bcf1910f1cae084cf32f6cf47ecf44b500aa
Support OSX Signed nightlies (in the complete.mar too)
MozReview-Commit-ID: HXiFGE14wYJ
--HG--
extra : rebase_source : 1d02b4714c8fafe6cdcd74e6d9b5612c44dcb3b4