Re: [html-tests] tests for overwriting win.opener and accessing it x-domain (#999)

# Firefox #
Testing revision d0d120a2e7ec93c5fd420911c0d04acc68aadba7
Starting 10 test iterations
All results were stable

## All results ##

### /html/browsers/the-window-object/accessing-other-browsing-contexts/window-opener-in-nested-frames.html ###
|                     Subtest                     | Results |
|-------------------------------------------------|---------|
|                                                 | OK      |
| window.opener is null inside frames and IFRAMEs | PASS    |
### /html/browsers/the-window-object/accessing-other-browsing-contexts/window-opener-persistence-same-origin-navigation.html ###
|                        Subtest                         | Results |
|--------------------------------------------------------|---------|
|                                                        | OK      |
| window.opener persists across navigation (same-origin) | PASS    |
### /html/browsers/the-window-object/accessing-other-browsing-contexts/window-opener-persistence-cross-origin-navigation.html ###
|                         Subtest                         | Results |
|---------------------------------------------------------|---------|
|                                                         | OK      |
| window.opener persists across navigation (other-origin) | PASS    |
### /html/browsers/the-window-object/security-window/overwriting-popup-opener.html ###
|                                     Subtest                                     | Results |
|---------------------------------------------------------------------------------|---------|
|                                                                                 | OK      |
| popup.opener = null - setting_succeeds                                          | PASS    |
| popup.opener = number - stringified from popup after navigation                 | PASS    |
| popup.opener = number - stringified from opener before navigation               | PASS    |
| popup.opener = window - stringifying from popup after navigation throws         | PASS    |
| popup.opener = null - stringified from opener before navigation                 | PASS    |
| popup.opener = object - stringifying from opener before navigation throws       | PASS    |
| popup.opener = null - stringifying from popup after navigation throws           | PASS    |
| popup.opener = empty string - stringified from opener before navigation         | PASS    |
| popup.opener = object - stringified from popup before navigation                | PASS    |
| popup.opener = window - stringifying from popup before navigation throws        | PASS    |
| popup.opener = empty string - stringifying from opener before navigation throws | PASS    |
| popup.opener = window - stringifying from opener before navigation throws       | PASS    |
| popup.opener = object - setting_throws                                          | PASS    |
| popup.opener = null - stringifying from popup before navigation throws          | PASS    |
| popup.opener = undefined - stringified from opener before navigation            | PASS    |
| popup.opener = window - stringified from opener before navigation               | PASS    |
| popup.opener = number - stringifying from opener before navigation throws       | PASS    |
| popup.opener = number - stringifying from opener after navigation throws        | PASS    |
| popup.opener = empty string - stringifying from popup before navigation throws  | PASS    |
| popup.opener = window - setting_throws                                          | PASS    |
| popup.opener = empty string - stringified from popup after navigation           | PASS    |
| popup.opener = object - stringifying from opener after navigation throws        | PASS    |
| popup.opener = empty string - setting_throws                                    | PASS    |
| popup.opener = object - stringifying from popup before navigation throws        | PASS    |
| popup.opener = object - stringifying from popup after navigation throws         | PASS    |
| popup.opener = undefined - stringified from opener after navigation             | PASS    |
| popup.opener = window - stringified from popup before navigation                | PASS    |
| popup.opener = number - setting_succeeds                                        | PASS    |
| popup.opener = null - stringified from popup before navigation                  | PASS    |
| popup.opener = window - stringified from popup after navigation                 | PASS    |
| popup.opener = number - stringified from opener after navigation                | PASS    |
| popup.opener = null - stringified from popup after navigation                   | PASS    |
| popup.opener = window - stringified from opener after navigation                | PASS    |
| popup.opener = undefined - stringifying from opener before navigation throws    | PASS    |
| popup.opener = undefined - stringifying from popup before navigation throws     | PASS    |
| popup.opener = empty string - stringifying from opener after navigation throws  | PASS    |
| popup.opener = empty string - stringified from popup before navigation          | PASS    |
| popup.opener = undefined - stringifying from opener after navigation throws     | PASS    |
| popup.opener = number - setting_throws                                          | PASS    |
| popup.opener = object - setting_succeeds                                        | PASS    |
| popup.opener = window - setting_succeeds                                        | PASS    |
| popup.opener = null - setting_throws                                            | PASS    |
| popup.opener = undefined - stringifying from popup after navigation throws      | PASS    |
| popup.opener = undefined - setting_succeeds                                     | PASS    |
| popup.opener = undefined - stringified from popup after navigation              | PASS    |
| popup.opener = object - stringified from opener after navigation                | PASS    |
| popup.opener = empty string - stringified from opener after navigation          | PASS    |
| popup.opener = undefined - setting_throws                                       | PASS    |
| popup.opener = number - stringified from popup before navigation                | PASS    |
| popup.opener = window - stringifying from opener after navigation throws        | PASS    |
| popup.opener = object - stringified from popup after navigation                 | PASS    |
| popup.opener = number - stringifying from popup before navigation throws        | PASS    |
| popup.opener = empty string - stringifying from popup after navigation throws   | PASS    |
| popup.opener = null - stringifying from opener before navigation throws         | PASS    |
| popup.opener = null - stringifying from opener after navigation throws          | PASS    |
| popup.opener = empty string - setting_succeeds                                  | PASS    |
| popup.opener = undefined - stringified from popup before navigation             | PASS    |
| popup.opener = number - stringifying from popup after navigation throws         | PASS    |
| popup.opener = object - stringified from opener before navigation               | PASS    |
| popup.opener = null - stringified from opener after navigation                  | PASS    |
### /html/browsers/the-window-object/security-window/overwriting-window-opener.html ###
|                                                                Subtest                                                                | Results |
|---------------------------------------------------------------------------------------------------------------------------------------|---------|
|                                                                                                                                       | OK      |
| window with var - after navigation, stringifying throws                                                                               | PASS    |
| object with var - after navigation, stringifying throws                                                                               | PASS    |
| window with var - after navigation, window.opener read from popup is not self (even when opener was set to self before navigation)    | PASS    |
| empty string with var getting redefined property (from opener, different origin) returns original value                               | PASS    |
| window without var setting succeeds                                                                                                   | PASS    |
| object with var - after navigation, win.opener read from opener after navigation is self                                              | PASS    |
| object without var getting redefined property (from opener, different origin) returns original value                                  | PASS    |
| undefined without var - setting should not throw                                                                                      | PASS    |
| empty string without var getting redefined property (from opener, different origin) returns original value                            | PASS    |
| number with var setting succeeds                                                                                                      | PASS    |
| empty string without var - setting should not throw                                                                                   | PASS    |
| window with var setting succeeds                                                                                                      | PASS    |
| null with var getting redefined property (from opener, different origin) returns original value                                       | PASS    |
| number without var setting succeeds                                                                                                   | PASS    |
| window with var getting redefined property (from opener, different origin) returns original value                                     | PASS    |
| null with var setting succeeds                                                                                                        | PASS    |
| undefined with var - setting should not throw                                                                                         | PASS    |
| empty string with var - setting should not throw                                                                                      | PASS    |
| number without var getting redefined property (from opener, different origin) returns original value                                  | PASS    |
| undefined with var getting redefined property (from opener, different origin) returns original value                                  | PASS    |
| null without var setting succeeds                                                                                                     | PASS    |
| undefined without var - after navigation, stringifying throws                                                                         | PASS    |
| null without var getting redefined property (from opener, different origin) returns original value                                    | PASS    |
| object without var - setting should not throw                                                                                         | PASS    |
| null with var - after navigation, stringifying throws?                                                                                | PASS    |
| window with var - after navigation, win.opener read from opener after navigation is self                                              | PASS    |
| empty string without var - after navigation, stringifying throws                                                                      | PASS    |
| window without var - after navigation, win.opener read from opener after navigation is self                                           | PASS    |
| null with var - setting should not throw                                                                                              | PASS    |
| empty string with var setting succeeds                                                                                                | PASS    |
| object without var setting succeeds                                                                                                   | PASS    |
| window without var getting redefined property (from opener, different origin) returns original value                                  | PASS    |
| window without var - setting should not throw                                                                                         | PASS    |
| number without var - after navigation, stringifying throws                                                                            | PASS    |
| undefined without var setting succeeds                                                                                                | PASS    |
| object without var - after navigation, win.opener read from opener after navigation is self                                           | PASS    |
| object with var - setting should not throw                                                                                            | PASS    |
| empty string with var - after navigation, stringifying throws                                                                         | PASS    |
| object with var getting redefined property (from opener, different origin) returns original value                                     | PASS    |
| undefined without var getting redefined property (from opener, different origin) returns original value                               | PASS    |
| null without var - setting should not throw                                                                                           | PASS    |
| undefined with var setting succeeds                                                                                                   | PASS    |
| empty string with var - after navigation, win.opener read from opener after navigation is self                                        | PASS    |
| window with var - setting should not throw                                                                                            | PASS    |
| object with var setting succeeds                                                                                                      | PASS    |
| number with var - after navigation, stringifying throws                                                                               | PASS    |
| number with var - after navigation, win.opener read from opener after navigation is self                                              | PASS    |
| window without var - after navigation, stringifying throws                                                                            | PASS    |
| null without var - after navigation, stringifying throws?                                                                             | PASS    |
| empty string without var setting succeeds                                                                                             | PASS    |
| object without var - after navigation, stringifying throws                                                                            | PASS    |
| undefined with var - after navigation, stringifying throws                                                                            | PASS    |
| number without var - after navigation, win.opener read from opener after navigation is self                                           | PASS    |
| undefined with var - after navigation, win.opener read from opener after navigation is self                                           | PASS    |
| number with var - setting should not throw                                                                                            | PASS    |
| window without var - after navigation, window.opener read from popup is not self (even when opener was set to self before navigation) | PASS    |
| number with var getting redefined property (from opener, different origin) returns original value                                     | PASS    |
| null with var - after navigation, win.opener read from opener is null                                                                 | PASS    |
| undefined without var - after navigation, win.opener read from opener after navigation is self                                        | PASS    |
| number without var - setting should not throw                                                                                         | PASS    |
| null without var - after navigation, win.opener read from opener is null                                                              | PASS    |
| empty string without var - after navigation, win.opener read from opener after navigation is self                                     | PASS    |
### /html/browsers/the-window-object/security-window/overwriting-window-opener-samedomain.html ###
|                                                                Subtest                                                                | Results |
|---------------------------------------------------------------------------------------------------------------------------------------|---------|
|                                                                                                                                       | OK      |
| window with var - after navigation, stringifying throws                                                                               | PASS    |
| object with var - after navigation, stringifying throws                                                                               | PASS    |
| window with var - after navigation, window.opener read from popup is not self (even when opener was set to self before navigation)    | PASS    |
| window without var setting succeeds                                                                                                   | PASS    |
| object with var - after navigation, win.opener read from opener after navigation is self                                              | PASS    |
| undefined with var setting succeeds                                                                                                   | PASS    |
| undefined with var - after navigation, stringifying throws                                                                            | PASS    |
| undefined without var - setting should not throw                                                                                      | PASS    |
| number with var setting succeeds                                                                                                      | PASS    |
| empty string without var - setting should not throw                                                                                   | PASS    |
| window with var setting succeeds                                                                                                      | PASS    |
| window with var getting redefined property (from opener, same origin) returns set value                                               | PASS    |
| number without var setting succeeds                                                                                                   | PASS    |
| empty string without var setting succeeds                                                                                             | PASS    |
| null with var setting succeeds                                                                                                        | PASS    |
| undefined with var - setting should not throw                                                                                         | PASS    |
| number without var - after navigation, win.opener read from opener after navigation is self                                           | PASS    |
| empty string with var - setting should not throw                                                                                      | PASS    |
| object without var getting redefined property (from opener, same origin) returns set value                                            | PASS    |
| null with var getting redefined property (from opener, same origin) returns set value                                                 | PASS    |
| undefined without var - after navigation, stringifying throws                                                                         | PASS    |
| window without var getting redefined property (from opener, same origin) returns set value                                            | PASS    |
| object without var - setting should not throw                                                                                         | PASS    |
| null with var - after navigation, stringifying throws?                                                                                | PASS    |
| window with var - after navigation, win.opener read from opener after navigation is self                                              | PASS    |
| empty string with var getting redefined property (from opener, same origin) returns set value                                         | PASS    |
| empty string without var - after navigation, stringifying throws                                                                      | PASS    |
| window without var - after navigation, win.opener read from opener after navigation is self                                           | PASS    |
| null with var - setting should not throw                                                                                              | PASS    |
| empty string with var setting succeeds                                                                                                | PASS    |
| window without var - setting should not throw                                                                                         | PASS    |
| number without var - after navigation, stringifying throws                                                                            | PASS    |
| undefined without var setting succeeds                                                                                                | PASS    |
| object with var getting redefined property (from opener, same origin) returns set value                                               | PASS    |
| object without var - after navigation, win.opener read from opener after navigation is self                                           | PASS    |
| object with var - setting should not throw                                                                                            | PASS    |
| number with var getting redefined property (from opener, same origin) returns set value                                               | PASS    |
| empty string with var - after navigation, stringifying throws                                                                         | PASS    |
| object without var setting succeeds                                                                                                   | PASS    |
| null without var - setting should not throw                                                                                           | PASS    |
| undefined without var getting redefined property (from opener, same origin) returns set value                                         | PASS    |
| empty string without var getting redefined property (from opener, same origin) returns set value                                      | PASS    |
| empty string with var - after navigation, win.opener read from opener after navigation is self                                        | PASS    |
| window with var - setting should not throw                                                                                            | PASS    |
| object with var setting succeeds                                                                                                      | PASS    |
| number with var - after navigation, stringifying throws                                                                               | PASS    |
| number with var - after navigation, win.opener read from opener after navigation is self                                              | PASS    |
| window without var - after navigation, stringifying throws                                                                            | PASS    |
| null without var - after navigation, stringifying throws?                                                                             | PASS    |
| number without var getting redefined property (from opener, same origin) returns set value                                            | PASS    |
| object without var - after navigation, stringifying throws                                                                            | PASS    |
| null without var setting succeeds                                                                                                     | PASS    |
| undefined with var getting redefined property (from opener, same origin) returns set value                                            | PASS    |
| undefined with var - after navigation, win.opener read from opener after navigation is self                                           | PASS    |
| number with var - setting should not throw                                                                                            | PASS    |
| window without var - after navigation, window.opener read from popup is not self (even when opener was set to self before navigation) | PASS    |
| null without var getting redefined property (from opener, same origin) returns set value                                              | PASS    |
| null with var - after navigation, win.opener read from opener is null                                                                 | PASS    |
| undefined without var - after navigation, win.opener read from opener after navigation is self                                        | PASS    |
| number without var - setting should not throw                                                                                         | PASS    |
| null without var - after navigation, win.opener read from opener is null                                                              | PASS    |
| empty string without var - after navigation, win.opener read from opener after navigation is self                                     | PASS    |
### /html/browsers/the-window-object/security-window/overwriting-popup-opener-samedomain.html ###
|                                     Subtest                                     | Results |
|---------------------------------------------------------------------------------|---------|
|                                                                                 | OK      |
| popup.opener = null - setting_succeeds                                          | PASS    |
| popup.opener = number - stringified from popup after navigation                 | PASS    |
| popup.opener = number - stringified from opener before navigation               | PASS    |
| popup.opener = window - stringifying from popup after navigation throws         | PASS    |
| popup.opener = null - stringified from opener before navigation                 | PASS    |
| popup.opener = object - stringifying from opener before navigation throws       | PASS    |
| popup.opener = null - stringifying from popup after navigation throws           | PASS    |
| popup.opener = empty string - stringified from opener before navigation         | PASS    |
| popup.opener = object - stringified from popup before navigation                | PASS    |
| popup.opener = window - stringifying from popup before navigation throws        | PASS    |
| popup.opener = empty string - stringifying from opener before navigation throws | PASS    |
| popup.opener = window - stringifying from opener before navigation throws       | PASS    |
| popup.opener = object - setting_throws                                          | PASS    |
| popup.opener = null - stringifying from popup before navigation throws          | PASS    |
| popup.opener = undefined - stringified from opener before navigation            | PASS    |
| popup.opener = window - stringified from opener before navigation               | PASS    |
| popup.opener = number - stringifying from opener before navigation throws       | PASS    |
| popup.opener = number - stringifying from opener after navigation throws        | PASS    |
| popup.opener = empty string - stringifying from popup before navigation throws  | PASS    |
| popup.opener = window - setting_throws                                          | PASS    |
| popup.opener = empty string - stringified from popup after navigation           | PASS    |
| popup.opener = object - stringifying from opener after navigation throws        | PASS    |
| popup.opener = empty string - setting_throws                                    | PASS    |
| popup.opener = object - stringifying from popup before navigation throws        | PASS    |
| popup.opener = object - stringifying from popup after navigation throws         | PASS    |
| popup.opener = undefined - stringified from opener after navigation             | PASS    |
| popup.opener = window - stringified from popup before navigation                | PASS    |
| popup.opener = number - setting_succeeds                                        | PASS    |
| popup.opener = null - stringified from popup before navigation                  | PASS    |
| popup.opener = window - stringified from popup after navigation                 | PASS    |
| popup.opener = number - stringified from opener after navigation                | PASS    |
| popup.opener = null - stringified from popup after navigation                   | PASS    |
| popup.opener = window - stringified from opener after navigation                | PASS    |
| popup.opener = undefined - stringifying from opener before navigation throws    | PASS    |
| popup.opener = undefined - stringifying from popup before navigation throws     | PASS    |
| popup.opener = empty string - stringifying from opener after navigation throws  | PASS    |
| popup.opener = empty string - stringified from popup before navigation          | PASS    |
| popup.opener = undefined - stringifying from opener after navigation throws     | PASS    |
| popup.opener = number - setting_throws                                          | PASS    |
| popup.opener = object - setting_succeeds                                        | PASS    |
| popup.opener = window - setting_succeeds                                        | PASS    |
| popup.opener = null - setting_throws                                            | PASS    |
| popup.opener = undefined - stringifying from popup after navigation throws      | PASS    |
| popup.opener = undefined - setting_succeeds                                     | PASS    |
| popup.opener = undefined - stringified from popup after navigation              | PASS    |
| popup.opener = object - stringified from opener after navigation                | PASS    |
| popup.opener = empty string - stringified from opener after navigation          | PASS    |
| popup.opener = undefined - setting_throws                                       | PASS    |
| popup.opener = number - stringified from popup before navigation                | PASS    |
| popup.opener = window - stringifying from opener after navigation throws        | PASS    |
| popup.opener = object - stringified from popup after navigation                 | PASS    |
| popup.opener = number - stringifying from popup before navigation throws        | PASS    |
| popup.opener = empty string - stringifying from popup after navigation throws   | PASS    |
| popup.opener = null - stringifying from opener before navigation throws         | PASS    |
| popup.opener = null - stringifying from opener after navigation throws          | PASS    |
| popup.opener = empty string - setting_succeeds                                  | PASS    |
| popup.opener = undefined - stringified from popup before navigation             | PASS    |
| popup.opener = number - stringifying from popup after navigation throws         | PASS    |
| popup.opener = object - stringified from opener before navigation               | PASS    |
| popup.opener = null - stringified from opener after navigation                  | PASS    |
### /html/browsers/the-window-object/security-window/delete-window-opener.html ###
|                             Subtest                              | Results |
|------------------------------------------------------------------|---------|
|                                                                  | OK      |
| define without var, then delete, delete statement return value   | PASS    |
| define with var, then delete, "opener in window" after delete    | PASS    |
| define with var, then delete, delete statement return value      | PASS    |
| simple delete, "opener in window" after delete                   | FAIL    |
| define with var, then delete, stringified opener after delete    | PASS    |
| simple delete, delete statement return value                     | PASS    |
| simple delete, stringified opener after delete                   | FAIL    |
| define without var, then delete, stringified opener after delete | PASS    |
| define without var, then delete, "opener in window" after delete | PASS    |

View on GitHub: https://github.com/w3c/web-platform-tests/pull/999#issuecomment-256445746

Received on Wednesday, 26 October 2016 19:03:20 UTC