New issue
Advanced search Search tips

Issue 689807 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 3
Type: Bug

Blocking:
issue 651744



Sign in to add a comment

Setting identical string to CharacterData.data should mutate DOM

Project Member Reported by tkent@chromium.org, Feb 8 2017

Issue description

Chrome Version: 58 canary
OS: All-Blink

What steps will reproduce the problem?
(1) Open http://w3c-test.org/dom/ranges/Range-mutations-dataChange.html

What is the expected result?
No FAIL tests.

What happens instead?
450 FAIL tests

Please use labels and text to provide additional information.
CharacterData |data| setter doesn't conform to the DOM standard.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Feb 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d44dd6aa2f437590e4fb52bce5f5887f78548a83

commit d44dd6aa2f437590e4fb52bce5f5887f78548a83
Author: tkent <tkent@chromium.org>
Date: Wed Feb 08 06:29:18 2017

DOM: Do not skip 'replace data' operation on setting identical string to CharacterData.

According to the standard, we should not skip to replace the data.
https://dom.spec.whatwg.org/#dom-characterdata-data
https://dom.spec.whatwg.org/#concept-cd-replace

The new behavior matches to Edge, Firefox and Safari.
This CL might affect micro benchmarks, but it's expected.

BUG= 689807 

Review-Url: https://codereview.chromium.org/2686793002
Cr-Commit-Position: refs/heads/master@{#448921}

[modify] https://crrev.com/d44dd6aa2f437590e4fb52bce5f5887f78548a83/third_party/WebKit/LayoutTests/external/wpt/dom/ranges/Range-mutations-dataChange-expected.txt
[modify] https://crrev.com/d44dd6aa2f437590e4fb52bce5f5887f78548a83/third_party/WebKit/LayoutTests/fast/dom/HTMLElement/set-inner-outer-optimization.html
[modify] https://crrev.com/d44dd6aa2f437590e4fb52bce5f5887f78548a83/third_party/WebKit/Source/core/dom/CharacterData.cpp

Comment 2 by tkent@chromium.org, Feb 8 2017

Labels: M-58
Status: Fixed (was: Started)
Labels: TE-Verified-M58 TE-Verified-58.0.3012.0 OS-Linux OS-Mac OS-Windows
Tested the issue on windows 7, Mac 10.12.0, Linux Ubuntu 14.04 using chrome Dev#58.0.3012.0 with the steps mentioned in comment #0.
No failed tests observed which is working as intended.Hence adding TE-Verified labels.
Please find the attached screen cast for the same.
689807-Mac.mp4
945 KB View Download

Sign in to add a comment