зеркало из https://github.com/mozilla/gecko-dev.git
92ead719bd
If selection range is not in **one** text node, `RemoveInlinePropertyInternal()` collects target nodes with `SubtreeContentIterator`. It only collects topmost nodes which are **entirely** contained in the range (it's enough because their descendants will be handled by `RemoveStyleInside()` recursively). The reasons why it uses `SubtreeContentIterator` rather than `PreContentIterator` must be: 1. Performance reason. 2. Assuming there are no multiple text nodes. 3. Not expects that user removes text node styles come from parent block. The reason 2 is wrong because when removing a style, all browsers don't join text nodes which was in removing element with adjacent text nodes. (I.e., we cannot change this behavior for compatibility.) The reason 3 is of course wrong we're struggling with this scenario. Therefore, `RemoveInlinePropertyInternal()` needs to collect partially selected text nodes by itself (if there are). Then, we can merge the single text node selected case with the `for` loop. Differential Revision: https://phabricator.services.mozilla.com/D47864 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
awsy | ||
condprofile | ||
config | ||
crashtest | ||
extensions | ||
firefox-ui | ||
geckodriver | ||
gtest | ||
jsshell | ||
marionette | ||
mochitest | ||
modules | ||
mozbase | ||
mozharness | ||
profiles | ||
raptor | ||
runtimes | ||
specialpowers | ||
talos | ||
tools | ||
tps | ||
web-platform | ||
webdriver | ||
xpcshell | ||
README.txt | ||
addtest.py | ||
cppunittest.ini | ||
mach_commands.py | ||
moz.build | ||
parse_build_tests_ccov.py | ||
remotecppunittests.py | ||
runcppunittests.py | ||
testsuite-targets.mk |
README.txt
Common testing tools for mozilla codebase projects, test suite definitions for automated test runs, tests that don't fit anywhere else, and other fun stuff