w3c / epub-tests

Test repository for EPUB3, maintained by the EPUB3 WG
https://w3c.github.io/epub-tests/
Other
22 stars 20 forks source link

Add unique origin test #300

Closed GJFR closed 1 year ago

GJFR commented 1 year ago

Add test for checking whether the reading system assigns a unique origin to each EPUB publication (#299, spec).

iherman commented 1 year ago

@GJFR this looks increasingly good :-).

Please, push the "ready to review" button when you consider this done...

GJFR commented 1 year ago

I wanted to run more tests but ran into some issues:

I think it's best if these are discussed in separate issues because they might affect other tests?

iherman commented 1 year ago

I wanted to run more tests but ran into some issues:

  • Some reading systems only execute inline scripts within an iframe, some only external scripts, etc. So to make this test (and by extension all other tests that rely on scripting) as compatible as possible, a script should be included in multiple ways.

Let us not forget that the whole scripting feature set is optional. So we can add additional tests, but I would postpone that for later (my worry is to go to a PR stage with half finished things and that will be the target to problems...)

  • Some reading systems use an opaque or null origin. This is great from a security perspective, since it means that scripts and persistent data are isolated, but I'm not sure if this is desirable from a usability perspective (i.e. not sure if localStorage among the chapters of an EPUB is shared when origin is opaque or null).

From the spec perspective, what counts is the root url combined with the roog URL in the reading system. If that is correct then we are fine...

But I readily acknowledge that I am slightly (perhaps not slightly) out of my depth here, and I would like @rdeltour to look at this. He is the real expert (most of the text in those sections come from him, actually...)

  • Because web browsers do not allow a website to change its origin, web readers will not be able to comply with this requirement of having a unique origin for each EPUB publication. Or is there something I'm missing?

I guess this is a typical case where the test result should say "n/a". Web based RSs are simply a different thing altogether in this respect.

I think it's best if these are discussed in separate issues because they might affect other tests?

GJFR commented 1 year ago

Okay, thanks for the clarifications! I've updated the tolino-webreader report to n/a.

This should be ready to be merged.