Bug 154676

Summary: Webkit adds multiple   to HTML pasted into contenteditable element.
Product: WebKit Reporter: j.swiderski
Component: HTML EditingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: ahmad.saleem792, enrica, rniwa
Priority: P2    
Version: Safari 9   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Sample page which shows how browsers sees HTML. none

Description j.swiderski 2016-02-25 07:02:38 PST
Created attachment 272201 [details]
Sample page which shows how browsers sees HTML.

Safari Version       : 9.0.3 (11601.4.4)
Other browsers tested: 
     Chrome: Fail, version: 48.0.2564.116 m
    Firefox: OK 
         IE: OK
----

What steps will reproduce the problem?
1. Open attached sample in a browser.
2. Go to https://en.wikipedia.org/wiki/HTTPS and copy first paragraph (from HTTPS to https://en.wikipedia.org/wiki/HTTPS)
3. Paste it in editable element, click the "Get HTML" button and observe what HTML gets produced.

----

What is the expected result?

The expected HTML is without &nbsp; being inserted before closing and after opening span tag.

If I go to https://en.wikipedia.org/wiki/HTTPS and execute below in console everything seems to be in order 
console.log(document.getElementById('mw-content-text').getElementsByTagName('p')[0].innerHTML);
Also viewing HTML with dev-tools doesn't show any &nbsp;

----

What happens instead?

There are &nbsp being inserted before closing and after opening span tag.


Please provide any additional information below. Attach a screenshot if possible.
I have tested this on Windows 7 and Mac 10.11
Comment 1 j.swiderski 2016-02-25 07:10:11 PST
I have made one mistake:

copy first paragraph (from HTTPS to exchanged data)...
Comment 2 Ahmad Saleem 2022-12-18 05:39:13 PST
I am able to reproduce this across all browsers (Safari 16.2, Safari Technology Preview 160, Chrome Canary 111 and Firefox Nightly 110) by copying first paragraph and it shows 13 matches for "&nbsp;" across all browsers and all showing after start of span tag and also just before ending tag of span.

Either I am not reproducing it right (which might be the cause) or this is consistent for all.