searching for reviewer(m_kato)
006d54dad1f5172a681e4343cb596d8862941850: Bug 1563508 - part 7: Remove unnecessary code from window_composition_text_querycontent.xul r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 09 Jul 2019 06:47:42 +0000 - rev 481840
Push 113641 by rgurzau@mozilla.com at Tue, 09 Jul 2019 16:13:03 +0000
Bug 1563508 - part 7: Remove unnecessary code from window_composition_text_querycontent.xul r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D37063
047f80a81b168ab88d700e759c0895662911bb85: Bug 1563508 - part 6: Make `runPanelTest()` async r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 09 Jul 2019 05:40:32 +0000 - rev 481839
Push 113641 by rgurzau@mozilla.com at Tue, 09 Jul 2019 16:13:03 +0000
Bug 1563508 - part 6: Make `runPanelTest()` async r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D37062
45935cb1d49944b53b446ef6c5fb94d0784c3860: Bug 1563508 - part 5: Make `runRemoveContentTest()` async and fix an editor's bug which found by the test order change r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 09 Jul 2019 05:20:01 +0000 - rev 481838
Push 113641 by rgurzau@mozilla.com at Tue, 09 Jul 2019 16:13:03 +0000
Bug 1563508 - part 5: Make `runRemoveContentTest()` async and fix an editor's bug which found by the test order change r=m_kato Previously, `runRemoveContentTest()` was the last test which synthesizes composition in the `<textarea>`. However, new test order move it to middle of the other tests. Then, it hits an `MOZ_ASSERT()` in `TextComposition::EditorWillHandleCompositionChangeEvent()` that detects a bug. When editable element is removed from the DOM tree during a composition, editor cannot listen to `eCompositionEnd` event. Therefore, when the editor gets back, it still has destroyed `TextComposition` and keeps handling new composition with the old one. Therefore this patch makes `EditorBase::InstallEventListeners()` forget the destroyed composition. Differential Revision: https://phabricator.services.mozilla.com/D37061
0941d29ab5f326a65b5d349719fb44ce57ae0a28: Bug 1563508 - part 4: Make `runAsyncForceCommitTest()` async r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 09 Jul 2019 01:40:55 +0000 - rev 481837
Push 113641 by rgurzau@mozilla.com at Tue, 09 Jul 2019 16:13:03 +0000
Bug 1563508 - part 4: Make `runAsyncForceCommitTest()` async r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D37060
d3e054aa705fa036555afc9bd0b02a3ac83180af: Bug 1563508 - part 3: Make `runEditorReframeTests()` async r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 08 Jul 2019 10:33:31 +0000 - rev 481836
Push 113641 by rgurzau@mozilla.com at Tue, 09 Jul 2019 16:13:03 +0000
Bug 1563508 - part 3: Make `runEditorReframeTests()` async r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D37059
80398c8d943141f6f0824968edb45885bdd1f9ee: Bug 1563508 - part 2: Make `runIMEContentObserverTest()` async r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 08 Jul 2019 09:55:44 +0000 - rev 481835
Push 113641 by rgurzau@mozilla.com at Tue, 09 Jul 2019 16:13:03 +0000
Bug 1563508 - part 2: Make `runIMEContentObserverTest()` async r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D37058
012d470fdcd530913edb27cc062e9d7511ba31aa: Bug 1563508 - part 1: Make window_composition_text_querycontent.xul use `let` in functions instead of `var` r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 08 Jul 2019 01:47:02 +0000 - rev 481834
Push 113641 by rgurzau@mozilla.com at Tue, 09 Jul 2019 16:13:03 +0000
Bug 1563508 - part 1: Make window_composition_text_querycontent.xul use `let` in functions instead of `var` r=m_kato For making the scope of variants clearer, make it use `let` instead of `var`. Differential Revision: https://phabricator.services.mozilla.com/D37057
1c0bc8d1aa55fc87f1949524e17e53ce6d7402fd: Bug 1562796 - Pop BrowserParents of the previous window when raising/creating a window. r=m_kato
Henri Sivonen <hsivonen@hsivonen.fi> - Wed, 03 Jul 2019 06:06:26 +0000 - rev 481064
Push 113590 by csabou@mozilla.com at Wed, 03 Jul 2019 16:22:48 +0000
Bug 1562796 - Pop BrowserParents of the previous window when raising/creating a window. r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D36581
72adf0360e651f520277840ebd5a24029c9daf59: Bug 1560764 - intl/lwbrk/rulebrk.c: convert to utf-8 to mitigate a moz-phab issue r=m_kato
Sylvestre Ledru <sledru@mozilla.com> - Wed, 26 Jun 2019 04:21:10 +0000 - rev 480131
Push 113524 by shindli@mozilla.com at Wed, 26 Jun 2019 09:40:36 +0000
Bug 1560764 - intl/lwbrk/rulebrk.c: convert to utf-8 to mitigate a moz-phab issue r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D35621
424ecd7d140399c96eb1c13e8ff7e62b81d105b5: Bug 1557996 - Make `HTMLEditor::GetSelectedElement()` not treat an element as selected when it's followed by a <br> element r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 11 Jun 2019 07:59:07 +0000 - rev 478215
Push 113412 by rgurzau@mozilla.com at Tue, 11 Jun 2019 21:39:14 +0000
Bug 1557996 - Make `HTMLEditor::GetSelectedElement()` not treat an element as selected when it's followed by a <br> element r=m_kato Currently, `HTMLEditor::GetSelectedElement()` is not used in mozilla-central and mainly used for handling double clicks in the editor with its complicated path. In most cases, users don't want double clicks to cause showing property dialog in mail composer. Therefore, we must be able to stricter in the complicated path. This patch adds new check whether the selected range ends immediately before a `<br>` element. If it's end at a `<br>` element, we shouldn't treat found element as selected. Note that when `<a href="...">` element is double-clicked, the element itself is selected like `<img>` element. So, we don't need to worry about the case which is that users probably want to update a link with double-clicking since such case is handled by the first optimized path in the method. Differential Revision: https://phabricator.services.mozilla.com/D34335
547de698f9124f29cf04615f065b590ff5b327dc: Bug 1556235 - Make `HTMLEditRules::WillDeleteSelection()` remove empty parent blocks when it's called by drop handler r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 10 Jun 2019 10:31:13 +0000 - rev 478047
Push 113403 by nerli@mozilla.com at Mon, 10 Jun 2019 21:55:07 +0000
Bug 1556235 - Make `HTMLEditRules::WillDeleteSelection()` remove empty parent blocks when it's called by drop handler r=m_kato Chromium removes new empty blocks only when the content is removed by dragging. Before bug 1504910, we just removed the dragged range, i.e., kept the new empty blocks. However, now, we put `<br>` element from `HTMLEditRules::AfterEditInner()` because a D&D action was split to the deletion part and inserting part (It wasn't called after inserting the dropped content). Therefore, this patch adds new path for D&D into `HTMLEditRules::WillDeleteSelection()`. If parent blocks become empty, the path removes such blocks and collapse `Selection` to where the most ancestor empty block was. With this patch, we get same behavior as Chrome in most cases. You can check it in https://jsfiddle.net/d_toybox/9px07yLr/ Differential Revision: https://phabricator.services.mozilla.com/D34147
c487de34b03810777f966844b6b8d0b24bb02903: Bug 1555227 - Make GetInternalCommand() return new commands when the command is "cmd_align" without params r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 04 Jun 2019 10:01:31 +0000 - rev 476771
Push 113311 by btara@mozilla.com at Tue, 04 Jun 2019 16:10:59 +0000
Bug 1555227 - Make GetInternalCommand() return new commands when the command is "cmd_align" without params r=m_kato `cmd_align` is always with `nsCommandParams` when it's executed. However, when somebody checks whether the command is enabled or not, or retrieves the state, `GetInternalCommand()` is called without `nsCommandParams`. Therefore, even when `nsCommandParmas` is nullptr for `cmd_align`, `GetInternalCommand()` shouldn't warn it. Additionally, internal command supports to set `align` to empty string. Therefore, `GetInternalCommand()` also needs to support it. This patch adds `Command::FormatJustify` for the former case and `Command::FormatJustifyNone` for the latter case. Note that this does not affect to actual behavior since `AlignCommand` does not refer the result of `GetInternalCommand()`. Differential Revision: https://phabricator.services.mozilla.com/D33604
bce118e5008697bd366667c54b599d63baea9198: Bug 1555640 - Check if `aPointAfterInsertedString` is nullptr when `WSRunObject::InsertText()` sets its value r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 30 May 2019 10:32:44 +0000 - rev 476222
Push 113262 by nbeleuzu@mozilla.com at Thu, 30 May 2019 21:52:09 +0000
Bug 1555640 - Check if `aPointAfterInsertedString` is nullptr when `WSRunObject::InsertText()` sets its value r=m_kato `aPointAfterInsertedString` of `WSRunObject::InsertText()` is optional (i.e., may be nullptr). However, the fix for bug 1534394 makes it always set to original insertion point when `InsertTextWithTransaction()` is failed. This patch just make it check if `aPointAfterInsertedString` is nullptr before setting its value. Differential Revision: https://phabricator.services.mozilla.com/D33144
0553541318c4d5b7aba2a9b195470db9dc5c782e: Bug 1554843 - Make PuppetWidget::NotifyIMEOfFocusChange() notify TextEventDispatcher of IME notification requests change r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 29 May 2019 12:23:22 +0000 - rev 476049
Push 113243 by nerli@mozilla.com at Wed, 29 May 2019 16:02:35 +0000
Bug 1554843 - Make PuppetWidget::NotifyIMEOfFocusChange() notify TextEventDispatcher of IME notification requests change r=m_kato When user moves focus to an editable content in a content process, it posts IME-focus notification to the main process. Then, when the main process prepares IME/keyboard handling in editable content, it posts back IME notification requests to the content process. Then, the content process's `PuppetWidget` modifies its IME notification requests, but **not** modifying cache of IME notification requests in its `TextEventDispatcher`. Therefore, `IMEContentObserver` keep referring older IME notification requests which are initialized without IME-focus. Note that `IMEContentObserver` caches the *reference* of cached IME notification requests in `TextEventDispatcher`. So, we need to refresh only the cache of IME notification requests in `TextEventDispatcher`. Differential Revision: https://phabricator.services.mozilla.com/D32821
bfc4c1e72488413edd75a52da25bb88d3b9a0ba3: Bug 1533913 - Make HTMLEditRules::ApplyBlockStyle() stop handling it if target node is moved from expected container unexpectedly r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 29 May 2019 04:44:23 +0000 - rev 476006
Push 113240 by nerli@mozilla.com at Wed, 29 May 2019 09:56:33 +0000
Bug 1533913 - Make HTMLEditRules::ApplyBlockStyle() stop handling it if target node is moved from expected container unexpectedly r=m_kato `HTMLEditRules::ApplyBlockStyle()` stores `curBlock` and `newBlock` during its loop to keep handling from deeper child to ancestor, and may do two things for a `curNode`. If `curBlock` and/or `newBlock` is moved from expected container when it sets one of or both of them, this patch check whether mutation event listeners change the DOM tree. Additionally, this patch also checks whether `curNode' is moved by mutation event listener at first step of two jobs for it. Differential Revision: https://phabricator.services.mozilla.com/D32689
f1f333d752907c5c3e0c96846f0e669daa178233: Bug 1322992 - Implement locale-specific casing behavior for Lithuanian, and add more WPT tests for it. r=m_kato
Jonathan Kew <jkew@mozilla.com> - Mon, 27 May 2019 01:35:03 +0000 - rev 475762
Push 113228 by dluca@mozilla.com at Tue, 28 May 2019 09:48:00 +0000
Bug 1322992 - Implement locale-specific casing behavior for Lithuanian, and add more WPT tests for it. r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D32129
de1ede4b54c524ca6f20424db21fab6b1e4be2b8: Bug 1547897 - Make WSRunObject stop scanning outside of editing host r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 27 May 2019 12:10:23 +0000 - rev 475713
Push 113228 by dluca@mozilla.com at Tue, 28 May 2019 09:48:00 +0000
Bug 1547897 - Make WSRunObject stop scanning outside of editing host r=m_kato `WSRunObject` scans previous and next node of given point/range **without** checking editing host boundary. Therefore, its methods may return non-editable nodes or editable nodes in another editing host. In such cases, `HTMLEditRules` is confused. This patch makes it store editing host at initialization and it check the boundary. However, the former cost may appear in score of some benchmark tests, but we shouldn't allow attackers to use this entrance. Differential Revision: https://phabricator.services.mozilla.com/D32467
0475e2855e5c4b03dfce9da151fd4ac2bb1367c3: Bug 1534394 - Make WSRunObject::InsertText() set aPointAfterInsertedString by itself when HTMLEditor::InsertTextWithTransaction() returns error r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 23 May 2019 06:06:18 +0000 - rev 475151
Push 113193 by dvarga@mozilla.com at Thu, 23 May 2019 16:04:39 +0000
Bug 1534394 - Make WSRunObject::InsertText() set aPointAfterInsertedString by itself when HTMLEditor::InsertTextWithTransaction() returns error r=m_kato Oddly, `WSRunObject::InsertText()` returns `NS_OK` even when `HTMLEditor::InsertTextWithTransaction()` returns error. However, it fails if insertion point is not editable like `<noscript>` element. In such case, `aPointAfterInsertedString` isn't modified and its caller, `HTMLEditRules::WillInsertText()` keep handling inserting remaining text with non-positioned `EditorDOMPoint`. Therefore, at the next time, `WSRunObject` fails to do anything since it requires positioned `EditorDOMPoint`. For making uplift safer, this patch makes `WSRunObject::InsertText()` set `aPointAfterInsertedString` by itself when `HTMLEditor::InsertTextWithTransaction()` returns error. Differential Revision: https://phabricator.services.mozilla.com/D32131
476139ca9d4a5802cfd786fccb1fd87d088e78fa: Bug 1549661 - part 7: Make GetInternalCommand() take nsCommandParams instead of nsAString r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 21 May 2019 07:47:51 +0000 - rev 474698
Push 113168 by rmaries@mozilla.com at Tue, 21 May 2019 16:39:23 +0000
Bug 1549661 - part 7: Make GetInternalCommand() take nsCommandParams instead of nsAString r=m_kato `GetInternalCommand()` is currently used only by `EditorCommand` and it treats the additional parameter only when given command is `cmd_align`. However, the value is complicated since `AlignCommand` allows both `CString` value and `String` value. Therefore, `EditorCommand::DoCommandParams()` may fail to solve `cmd_align` to a `Command` value without checking both of them. Therefore, it must make sense that `GetInternalCommand()` take `nsCommandParams` as optional argument and check it only when given command matches `cmd_align`. Then, we don't need to waste unnecessary run-time cost. Note that this bug has been hidden since `AlignCommand` class does not refer the `Command` value but refers only `nsCommandParams`. However, the previous patch makes `EditorCommand::GetParamType()` not allow `Command::DoNothing`. Therefore, we need this follow-up fix now. Differential Revision: https://phabricator.services.mozilla.com/D30501
bd77dd67175d25744b092e18f4a074bb15971fe4: Bug 1549661 - part 6: Create `EditorCommand::DoCommandParam(Command aCommand, nsITransferable* aTransferableParam, TextEditor& aTextEditor)` r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 21 May 2019 07:47:49 +0000 - rev 474697
Push 113168 by rmaries@mozilla.com at Tue, 21 May 2019 16:39:23 +0000
Bug 1549661 - part 6: Create `EditorCommand::DoCommandParam(Command aCommand, nsITransferable* aTransferableParam, TextEditor& aTextEditor)` r=m_kato If `nsIControllerCommand::DoCommandParams()` is called without aParams or `nsITransferable` pointer, this patch sets nullptr to `aTransferableParam` for `DoCommandParam()`. This allows each implementation to choose ignore or return error. Differential Revision: https://phabricator.services.mozilla.com/D30500
ed3667be6075fb724afc34a3294285ec8d484e52: Bug 1549661 - part 5: Make commands for `MultiStateCommandBase` take both `CString` and `String` r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 21 May 2019 07:47:47 +0000 - rev 474696
Push 113168 by rmaries@mozilla.com at Tue, 21 May 2019 16:39:23 +0000
Bug 1549661 - part 5: Make commands for `MultiStateCommandBase` take both `CString` and `String` r=m_kato Only `MultiStateCommandBase::DoCommandParams()` allows `CString` param and `String` param (the former is preferred). This patch makes `EditorCommand::DoCommandParams()` aware of this case. Differential Revision: https://phabricator.services.mozilla.com/D30499
c3c796dd6070d4011e0f4f9a474c2134761ea419: Bug 1549661 - part 4: Create `EditorCommand::DoCommandParam(Command aCommand, const nsAString& aStringParam, TextEditor& aTextEditor)` r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 21 May 2019 07:45:55 +0000 - rev 474695
Push 113168 by rmaries@mozilla.com at Tue, 21 May 2019 16:39:23 +0000
Bug 1549661 - part 4: Create `EditorCommand::DoCommandParam(Command aCommand, const nsAString& aStringParam, TextEditor& aTextEditor)` r=m_kato If `nsIControllerCommand::DoCommandParams()` is called with `nullptr` for its `aParams`, this patch sets `VoidString()` to `DoCommandParam()` for making each implementation be able to consider whether the case is an error or treat it as specific default value. Differential Revision: https://phabricator.services.mozilla.com/D30498
7c1521b96d93706a984c57c81f44f1f4864317a8: Bug 1549661 - part 3: Create `EditorCommand::DoCommandParam(Command aCommand, const nsACString& aCStringParam, TextEditor& aTextEditor)` r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 21 May 2019 07:45:22 +0000 - rev 474694
Push 113168 by rmaries@mozilla.com at Tue, 21 May 2019 16:39:23 +0000
Bug 1549661 - part 3: Create `EditorCommand::DoCommandParam(Command aCommand, const nsACString& aCStringParam, TextEditor& aTextEditor)` r=m_kato If `nsIControllerCommand::DoCommandParams()` is called with `nullptr` for its `aParams`, this patch sets `VoidCString()` to `DoCommandParam()` for making each implementation be able to consider whether the case is an error or treat it as specific default value. Differential Revision: https://phabricator.services.mozilla.com/D30497
b9fd628d913acbb9d70eb04809e4f1008a61fc15: Bug 1549661 - part 2: Create `EditorCommand::DoCommandParam(Command aCommand, const Maybe<bool>& aBoolParam, TextEditor& aTextEditor)` r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 21 May 2019 07:44:39 +0000 - rev 474693
Push 113168 by rmaries@mozilla.com at Tue, 21 May 2019 16:39:23 +0000
Bug 1549661 - part 2: Create `EditorCommand::DoCommandParam(Command aCommand, const Maybe<bool>& aBoolParam, TextEditor& aTextEditor)` r=m_kato We should use `Maybe` for `bool` because some command may treat the default value when the parameter is omitted as `true` or `false. Although, current implementation does not do that. Differential Revision: https://phabricator.services.mozilla.com/D30496
cc344bcbf49d0f99d8a76fa15bdbb91a934728cb: Bug 1549661 - part 1: Create `EditorCommand::DoCommandParam(Command aCommand, TextEditor& aTextEditor)` and make it just call `DoCommand()` r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 21 May 2019 07:44:11 +0000 - rev 474692
Push 113168 by rmaries@mozilla.com at Tue, 21 May 2019 16:39:23 +0000
Bug 1549661 - part 1: Create `EditorCommand::DoCommandParam(Command aCommand, TextEditor& aTextEditor)` and make it just call `DoCommand()` r=m_kato Most `EditorCommand` classes don't require additional params for executing a command. All of them just calls their `DoCommand()` or returns same result. So, we can create new virtual method, `EditorCommand::DoCommandParam(Command aCommand, TextEditor& aTextEditor)`, which just delegates to `DoCommand()`. This patch adds some undeclared commands but which are handled by `EditorCommand` subclasses, and changes `CommandInt` type from `int8_t` to `uint8_t` since the count of `Command` items becomes over 128. Differential Revision: https://phabricator.services.mozilla.com/D30495
43952b7f9de845901b053a527efb2925f5247637: Bug 1011369 - Update metadata for WPT tests that now pass. r=m_kato
Jonathan Kew <jkew@mozilla.com> - Mon, 20 May 2019 20:47:51 +0000 - rev 474611
Push 113165 by dvarga@mozilla.com at Tue, 21 May 2019 04:23:23 +0000
Bug 1011369 - Update metadata for WPT tests that now pass. r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30789
b695489a68c4178622bf1efed9d8cf38f2cd175a: Bug 1011369 - Reduce the available width slightly in line-break-loose-017a because a couple of the target characters may be less then .2em wide. r=m_kato
Jonathan Kew <jkew@mozilla.com> - Mon, 20 May 2019 20:47:31 +0000 - rev 474610
Push 113165 by dvarga@mozilla.com at Tue, 21 May 2019 04:23:23 +0000
Bug 1011369 - Reduce the available width slightly in line-break-loose-017a because a couple of the target characters may be less then .2em wide. r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30810
2607e7773ed5c4616d09f9ea2645c9204568b34a: Bug 1011369 - Restrict some line-break behaviors to Chinese and Japanese contexts, as per spec. r=m_kato
Jonathan Kew <jkew@mozilla.com> - Mon, 20 May 2019 20:47:09 +0000 - rev 474609
Push 113165 by dvarga@mozilla.com at Tue, 21 May 2019 04:23:23 +0000
Bug 1011369 - Restrict some line-break behaviors to Chinese and Japanese contexts, as per spec. r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30788
436e3199c386c6a7a5e70cc8685dd1247827cb90: Bug 1011369 - Implement loose|normal|strict line-break values by remapping the linebreak class of affected characters. r=m_kato
Jonathan Kew <jkew@mozilla.com> - Mon, 20 May 2019 20:46:57 +0000 - rev 474608
Push 113165 by dvarga@mozilla.com at Tue, 21 May 2019 04:23:23 +0000
Bug 1011369 - Implement loose|normal|strict line-break values by remapping the linebreak class of affected characters. r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30787
f339909acbc30e4b1380e45318ccbe187a0d49ec: Bug 1011369 - Pass word-break and line-break properties to the line-breaker as two distinct enum class parameters. r=m_kato
Jonathan Kew <jkew@mozilla.com> - Mon, 20 May 2019 20:46:35 +0000 - rev 474607
Push 113165 by dvarga@mozilla.com at Tue, 21 May 2019 04:23:23 +0000
Bug 1011369 - Pass word-break and line-break properties to the line-breaker as two distinct enum class parameters. r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30786
c7feffe40029e833241baa952cec89346d649a06: Bug 1252310 - Don't mistakenly suppress key-up event when not required. r=geckoview-reviewers,m_kato
Jan Henning <jh+bitbucket@buttercookie.de> - Mon, 13 May 2019 06:48:30 +0000 - rev 473580
Push 113093 by apavel@mozilla.com at Mon, 13 May 2019 22:09:34 +0000
Bug 1252310 - Don't mistakenly suppress key-up event when not required. r=geckoview-reviewers,m_kato The problem from bug 1278581 was that hiding the URL bar in response to a key-down event (for the Enter key) would then lead to the corresponding key-up event then ending up in GeckoView, thereby confusing the "last user activity" tracking. It appears that this only happens with key events received through the regular OnKeyListener, but not with events coming from the OnKeyPreImeListener. On devices where pressing Enter in the URL bar would transmit the key event through the latter mechanism, this means that because the key-up event we wanted to suppress in BrowserApp never arrived, we would instead suppress whatever other key event would arrive next, e.g. possibly a press of the back button. This would lead to the observed behaviour where after entering an URL, the first subsequent press of the back button might then be ignored. Differential Revision: https://phabricator.services.mozilla.com/D30573
182cddeb1d5c3da2ad98d614dca215acc362eed5: Bug 1549925 - Mark all methods of nsIDocumentStateListener as can_run_script r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 09 May 2019 07:37:51 +0000 - rev 473184
Push 113068 by nerli@mozilla.com at Thu, 09 May 2019 15:38:15 +0000
Bug 1549925 - Mark all methods of nsIDocumentStateListener as can_run_script r=m_kato `nsIDocumentStateListener` is a scriptable interface and each method may run any script. So, we should mark them as `can_run_script`. Then, we need to mark a lot of editing methods because we need to mark `EditorBase::EndTransactionInternal()` and `EditorBase::DoTransactionInternal()` as `MOZ_CAN_RUN_SCRIPT`. Differential Revision: https://phabricator.services.mozilla.com/D30360
80c8ca102b81ddccf720129381d8669b88f61a17: Bug 1549319 - Make template methods marked as MOZ_CAN_RUN_SCRIPT take only EditorDOMPoint (i.e., not allow EditorRawDOMPoint) r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 08 May 2019 09:40:17 +0000 - rev 473047
Push 113063 by opoprus@mozilla.com at Wed, 08 May 2019 22:02:04 +0000
Bug 1549319 - Make template methods marked as MOZ_CAN_RUN_SCRIPT take only EditorDOMPoint (i.e., not allow EditorRawDOMPoint) r=m_kato It'd be better to change copy constructor of `EditorDOMPointBase` to explicit, but it'd require too many changes in editor code. So, this patch just changes each method callers only. Differential Revision: https://phabricator.services.mozilla.com/D30054
676e672cabe55841b8ec22fd12983a104e00bb9d: Bug 1549306 - Mark EditorBase::CreateNodeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 08 May 2019 07:00:45 +0000 - rev 473046
Push 113063 by opoprus@mozilla.com at Wed, 08 May 2019 22:02:04 +0000
Bug 1549306 - Mark EditorBase::CreateNodeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30052
9fcabe77196c1e35abbe19f7e3dd37abb351d25e: Bug 1549302 - Mark EditorBase::DeleteTextWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 08 May 2019 06:31:48 +0000 - rev 473045
Push 113063 by opoprus@mozilla.com at Wed, 08 May 2019 22:02:04 +0000
Bug 1549302 - Mark EditorBase::DeleteTextWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30049
8b9baadda0a72a67b359b2cbfad5de61565a4517: Bug 1549270 - part 3: Mark EditorBase::SetAttributeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 08 May 2019 06:26:25 +0000 - rev 473012
Push 113060 by dvarga@mozilla.com at Wed, 08 May 2019 11:21:39 +0000
Bug 1549270 - part 3: Mark EditorBase::SetAttributeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30047
7755efc24f6d991b81598fca36a126f0fb1f565d: Bug 1549270 - part 2: Mark EditorBase::RemoveAttributeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 08 May 2019 05:09:56 +0000 - rev 473011
Push 113060 by dvarga@mozilla.com at Wed, 08 May 2019 11:21:39 +0000
Bug 1549270 - part 2: Mark EditorBase::RemoveAttributeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30044
e9e1b9c2cab6cfa713c6119c5b32b1a928faa4f9: Bug 1549270 - part 1: Mark EditorBase::CloneAttributeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 08 May 2019 04:46:56 +0000 - rev 473010
Push 113060 by dvarga@mozilla.com at Wed, 08 May 2019 11:21:39 +0000
Bug 1549270 - part 1: Mark EditorBase::CloneAttributeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30043
efc64ba2b311e18d16820a00e98572807ee724a0: Bug 1549268 - Mark EditorBase::JoinNodesWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Wed, 08 May 2019 02:29:43 +0000 - rev 473000
Push 113060 by dvarga@mozilla.com at Wed, 08 May 2019 11:21:39 +0000
Bug 1549268 - Mark EditorBase::JoinNodesWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30041
93efde688b8c6869c30e2e50c9b755989d4e6e57: Bug 1549264 - Mark EditorBase::SplitNodeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 07 May 2019 22:34:28 +0000 - rev 472998
Push 113060 by dvarga@mozilla.com at Wed, 08 May 2019 11:21:39 +0000
Bug 1549264 - Mark EditorBase::SplitNodeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30039
36ab55f6cd91191eb913d95049996094789297d7: Bug 1549155 - Mark EditorBase::DeleteNodeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 07 May 2019 22:27:29 +0000 - rev 472997
Push 113060 by dvarga@mozilla.com at Wed, 08 May 2019 11:21:39 +0000
Bug 1549155 - Mark EditorBase::DeleteNodeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30038
0f42a24f44036244c0b5afc442529d88f5125c16: Bug 1549148 - Mark EditorBase::InsertTextIntoTextNodeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 07 May 2019 10:58:08 +0000 - rev 472899
Push 113059 by ncsoregi@mozilla.com at Wed, 08 May 2019 03:43:45 +0000
Bug 1549148 - Mark EditorBase::InsertTextIntoTextNodeWithTransaction() as MOZ_CAN_RUN_SCRIPT r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D30036
b103cb0209658d6cfc248502606520fd140de56c: Bug 1547898 - part 2: Make HTMLEditRules::NormalizeSelection() use EditorDOMPoint r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 07 May 2019 10:21:43 +0000 - rev 472875
Push 113051 by shindli@mozilla.com at Tue, 07 May 2019 15:19:30 +0000
Bug 1547898 - part 2: Make HTMLEditRules::NormalizeSelection() use EditorDOMPoint r=m_kato For guaranteeing the sets of container node, offset in it, and the node referred by the offset, the method should use `EditorDOMPoint` instead of managing them separately. Differential Revision: https://phabricator.services.mozilla.com/D30015
aea4f15b4cf2ef39ef4ca7b4377eb2961fd57b36: Bug 1547898 - part 1: The constructor of EditorDOMPointBase which takes all information should allow non-end point of text node r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 07 May 2019 07:44:04 +0000 - rev 472874
Push 113051 by shindli@mozilla.com at Tue, 07 May 2019 15:19:30 +0000
Bug 1547898 - part 1: The constructor of EditorDOMPointBase which takes all information should allow non-end point of text node r=m_kato This is a simple mistake of `MOZ_ASSERTION()` in it. When `mParent` is a node which can have children, `mChild` should be non-`nullptr` or `mOffset` should / be set to the end of `mParent`. But when `mParent` is not a container, any `mOffset` value should be allowed. Differential Revision: https://phabricator.services.mozilla.com/D30014
88ce0c2df4d2e3cd324ce99a48e43a55bb695051: Bug 1548751 - Make TextEditRules::WillSetText() use fast path even if it's for <textarea> element r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Tue, 07 May 2019 05:07:14 +0000 - rev 472848
Push 113051 by shindli@mozilla.com at Tue, 07 May 2019 15:19:30 +0000
Bug 1548751 - Make TextEditRules::WillSetText() use fast path even if it's for <textarea> element r=m_kato As far as I've tested, `TextEditor` has the following structure patterns: 1. If it's for a non-empty `<input>` element, it has only one text node. 2. If it's for an empty `<input>` element, it has only bogus node. 3. If it's for a non-empty `<textarea>` element, it has a text node and `moz-<br>` element. Additionally they are followed by `<scrollbar>` and `<resizer>` elements. 4. If it's for an empty `<textarea>` element, it has a `moz-<br>` element followed by `<scrollbar>` and `<resizer>` elements. Additionally, `TextEditRules::WillInsert()` always removes bogus node if there is. So, in the case #2, there is no children. Fortunately, we don't support XUL addons anymore on Firefox. However, in other products like Thunderbird, the tree may be changed as unexpected. Therefore, we still need to keep checking the tree, but we can use the fast path for `<textarea>` element too. Differential Revision: https://phabricator.services.mozilla.com/D30012
4e509c724417f6ed43df0f3a5a4f9dcefef5fd52: Bug 1546888 - Make editor public methods which may be canceled by clipboard event listener return NS_SUCCESS_DOM_NO_OPERATION when it's canceled r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Thu, 02 May 2019 08:39:53 +0000 - rev 472447
Push 113012 by dluca@mozilla.com at Fri, 03 May 2019 13:13:31 +0000
Bug 1546888 - Make editor public methods which may be canceled by clipboard event listener return NS_SUCCESS_DOM_NO_OPERATION when it's canceled r=m_kato This patch makes editors return new error code internally when clipboard event is dispatched and canceled by script. This is for making each caller stop handling the edit action. However, it's not actual failure. Therefore, making public methods return `NS_SUCCESS_DOM_NO_OPERATION` instead via `EditorBase::ToGenericNSResult()`. Differential Revision: https://phabricator.services.mozilla.com/D28935
a0c695448d6e69bfd315a233cef61147d9b75bdb: Bug 1546578 - part 10: Mark methods of editor command classes as far as possible r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Sat, 27 Apr 2019 07:37:19 +0000 - rev 471693
Push 112938 by dluca@mozilla.com at Sun, 28 Apr 2019 09:49:06 +0000
Bug 1546578 - part 10: Mark methods of editor command classes as far as possible r=m_kato Differential Revision: https://phabricator.services.mozilla.com/D28698
7c45189445aab81ca8032e963fd66ecf394157c2: Bug 1546578 - part 9: Make GetCurrentState() of editor command classes take nsCommandParams& instead of nsICommandParams* r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Sat, 27 Apr 2019 07:36:30 +0000 - rev 471692
Push 112938 by dluca@mozilla.com at Sun, 28 Apr 2019 09:49:06 +0000
Bug 1546578 - part 9: Make GetCurrentState() of editor command classes take nsCommandParams& instead of nsICommandParams* r=m_kato Now, all callers of `GetCurrentState()` have reference or pointer to `nsCommandParam`. So, taking the concrete class makes sense. Differential Revision: https://phabricator.services.mozilla.com/D28697
a90af6c1b7d1bf34cc34928da7cf5169f37837b0: Bug 1546578 - part 8: Make EditorCommand implement nsIControllerCommand::GetCommandStateParams() and call internal GetCommandStateParams() method which take TextEditor directly r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Sat, 27 Apr 2019 07:35:56 +0000 - rev 471691
Push 112938 by dluca@mozilla.com at Sun, 28 Apr 2019 09:49:06 +0000
Bug 1546578 - part 8: Make EditorCommand implement nsIControllerCommand::GetCommandStateParams() and call internal GetCommandStateParams() method which take TextEditor directly r=m_kato This patch makes `EditorCommand` implement `nsIControllerCommand::GetCommandStateParams()` and then, makes it call internal `GetCommandStateParams()` method which takes `TextEditor` or `nsIEditingSession` instead. This makes each implementation really simpler. Differential Revision: https://phabricator.services.mozilla.com/D28696
4e5609da308736145af7e211d3048a45df5c289b: Bug 1546578 - part 7: Make EditorCommand implement nsIControllerCommand::DoCommandParams() and call internal DoCommandParams() method which take TextEditor directly r=m_kato
Masayuki Nakano <masayuki@d-toybox.com> - Fri, 26 Apr 2019 15:32:06 +0000 - rev 471690
Push 112938 by dluca@mozilla.com at Sun, 28 Apr 2019 09:49:06 +0000
Bug 1546578 - part 7: Make EditorCommand implement nsIControllerCommand::DoCommandParams() and call internal DoCommandParams() method which take TextEditor directly r=m_kato This patch makes `EditorCommand` implement `nsIControllerCommand::DoCommandParams()` and then, makes it call internal `DoCommandParams()` method which takes `TextEditor` instead. This makes each implementation really simpler. Differential Revision: https://phabricator.services.mozilla.com/D28694