Skip to content

[clipboard-apis] .write() for text/html doesn't define a canonical form #233

Open
@karlcow

Description

@karlcow

With an input

<!doctype html> <html> <head> <title>Title of the
                    document</title> </head> <body> <p>Hello World</p>
                    </body> </html>

All browsers return something different for navigator.clipboard.write([clipboardItem]);.

  • FAIL Safari returns <head> </head> <body> <p style=\"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;\">Hello World</p> </body>
  • PASS Firefox returns <head> <title>Title of the document</title> </head> <body> <p>Hello World</p> </body>
  • FAIL Chrome returns <head> <title>Title of the\n document</title> </head> <body> <p>Hello World</p> </body>

The spec currently is not mandating what should the be the serialization, which in returns makes it difficult to test:
web-platform-tests/wpt#50744
web-platform-tests/wpt@1023ea6

Even if a strict canonical form was not required.
It would be good to define what .write() means in the context of read/write operations. It is the exact copy of the data in read. is it the information visible to users (with another ambiguity about styling such as display: none element etc.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions