Closed
Bug 1391691
Opened 7 years ago
Closed 7 years ago
Make {Fullscreen,Maximize,Minimize} Window commands idempotent
Categories
(Remote Protocol :: Marionette, enhancement)
Tracking
(firefox57 fixed)
RESOLVED
FIXED
mozilla57
Tracking | Status | |
---|---|---|
firefox57 | --- | fixed |
People
(Reporter: ato, Assigned: ato)
References
(Blocks 1 open bug)
Details
Attachments
(10 files)
59 bytes,
text/x-review-board-request
|
automatedtester
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
automatedtester
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
automatedtester
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
automatedtester
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
automatedtester
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
automatedtester
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
automatedtester
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
automatedtester
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
automatedtester
:
review+
|
Details |
59 bytes,
text/x-review-board-request
|
automatedtester
:
review+
|
Details |
The WebDriver specification has changed (again) and the {Fullscreen,Maximize,Minimize} Window commands should now be idempotent (should be a no-op when called a second time).
Assignee | ||
Updated•7 years ago
|
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 11•7 years ago
|
||
mozreview-review |
Comment on attachment 8898910 [details] Bug 1391691 - Make WebDriver:FullscreenWindow idempotent. https://reviewboard.mozilla.org/r/170264/#review175760 ::: testing/marionette/driver.js:3137 (Diff revision 1) > GeckoDriver.prototype.fullscreenWindow = async function(cmd, resp) { > assert.firefox(); > const win = assert.window(this.getCurrentWindow()); > assert.noUserPrompt(this.dialog); > > + if (!win.fullScreen) { Why aren't you using WindowState here?
Comment 12•7 years ago
|
||
mozreview-review |
Comment on attachment 8898914 [details] Bug 1391691 - Bringing window out of fullscreen does not restore x/y position. https://reviewboard.mozilla.org/r/170272/#review175762 ::: testing/web-platform/tests/webdriver/tests/set_window_rect.py:94 (Diff revision 1) > - original = session.window.rect > - > # step 10 > session.window.fullscreen() > assert session.window.state == "fullscreen" > response = set_window_rect(session, {"width": 400, "height": 400}) That's bad. But we allow to pass null params to `set_window_rect` (see step 4 and 5) which should keep/restore to the original values?
Comment 13•7 years ago
|
||
mozreview-review-reply |
Comment on attachment 8898914 [details] Bug 1391691 - Bringing window out of fullscreen does not restore x/y position. https://reviewboard.mozilla.org/r/170272/#review175762 > That's bad. But we allow to pass null params to `set_window_rect` (see step 4 and 5) which should keep/restore to the original values? Well as later steps show it's invalid to pass `null` values. It means we never can test that leaving maximize, minimize, or fullscreen state will restore the original values.
Assignee | ||
Comment 14•7 years ago
|
||
mozreview-review-reply |
Comment on attachment 8898914 [details] Bug 1391691 - Bringing window out of fullscreen does not restore x/y position. https://reviewboard.mozilla.org/r/170272/#review175762 > Well as later steps show it's invalid to pass `null` values. It means we never can test that leaving maximize, minimize, or fullscreen state will restore the original values. There is nothing in the HTML specification that says fully exiting fullscreen should restore the window to the same X/Y position it was in before. This is a trait of the WM and outside the scope of what we can assert.
Comment 15•7 years ago
|
||
mozreview-review |
Comment on attachment 8898907 [details] Bug 1391691 - Rename GeckoDriver#fullscreen to fullscreenWindow. https://reviewboard.mozilla.org/r/170258/#review175850
Attachment #8898907 -
Flags: review?(dburns) → review+
Comment 16•7 years ago
|
||
mozreview-review |
Comment on attachment 8898908 [details] Bug 1391691 - Make WebDriver:MinimizeWindow idempotent. https://reviewboard.mozilla.org/r/170260/#review175862
Attachment #8898908 -
Flags: review?(dburns) → review+
Comment 17•7 years ago
|
||
mozreview-review |
Comment on attachment 8898909 [details] Bug 1391691 - Make WebDriver:MaximizeWindow idempotent. https://reviewboard.mozilla.org/r/170262/#review175866
Attachment #8898909 -
Flags: review?(dburns) → review+
Comment 18•7 years ago
|
||
mozreview-review |
Comment on attachment 8898910 [details] Bug 1391691 - Make WebDriver:FullscreenWindow idempotent. https://reviewboard.mozilla.org/r/170264/#review175874 As with whimboo's comment, use window state to be consistent with the other commands
Attachment #8898910 -
Flags: review?(dburns) → review-
Comment 19•7 years ago
|
||
mozreview-review |
Comment on attachment 8898911 [details] Bug 1391691 - Restore window state using Set Window Rect. https://reviewboard.mozilla.org/r/170266/#review175876
Attachment #8898911 -
Flags: review?(dburns) → review+
Comment 20•7 years ago
|
||
mozreview-review |
Comment on attachment 8898912 [details] Bug 1391691 - Add wdclient documentation for window manipulation. https://reviewboard.mozilla.org/r/170268/#review175878
Attachment #8898912 -
Flags: review?(dburns) → review+
Comment 21•7 years ago
|
||
mozreview-review |
Comment on attachment 8898913 [details] Bug 1391691 - Fix undefined variable error with client.Session#position(). https://reviewboard.mozilla.org/r/170270/#review175880
Attachment #8898913 -
Flags: review?(dburns) → review+
Assignee | ||
Comment 22•7 years ago
|
||
mozreview-review-reply |
Comment on attachment 8898910 [details] Bug 1391691 - Make WebDriver:FullscreenWindow idempotent. https://reviewboard.mozilla.org/r/170264/#review175874 The other commands aren’t using WindowState, but we can do even if this will get fixed implicitly as part of bug 1311041.
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 33•7 years ago
|
||
mozreview-review |
Comment on attachment 8898910 [details] Bug 1391691 - Make WebDriver:FullscreenWindow idempotent. https://reviewboard.mozilla.org/r/170264/#review175884
Attachment #8898910 -
Flags: review?(dburns) → review+
Comment 34•7 years ago
|
||
mozreview-review |
Comment on attachment 8898915 [details] Bug 1391691 - Skip needless assertion. https://reviewboard.mozilla.org/r/170274/#review175886 ::: testing/web-platform/tests/webdriver/tests/contexts/maximize_window.py:60 (Diff revision 2) > > assert before_size != session.window.size > assert session.window.state == "maximized" > > > +def test_maximize_twice_is_indempotent(session): I think this test should be in the `maximise() is idempotent` change. also you have misspelled the test. `s/indempotent/idempotent/`
Attachment #8898915 -
Flags: review?(dburns) → review+
Comment 35•7 years ago
|
||
mozreview-review |
Comment on attachment 8898914 [details] Bug 1391691 - Bringing window out of fullscreen does not restore x/y position. https://reviewboard.mozilla.org/r/170272/#review175890
Attachment #8898914 -
Flags: review?(dburns) → review+
Comment 36•7 years ago
|
||
mozreview-review |
Comment on attachment 8898916 [details] Bug 1391691 - Export WindowState properly. https://reviewboard.mozilla.org/r/170276/#review175894
Attachment #8898916 -
Flags: review?(dburns) → review+
Assignee | ||
Comment 37•7 years ago
|
||
mozreview-review-reply |
Comment on attachment 8898915 [details] Bug 1391691 - Skip needless assertion. https://reviewboard.mozilla.org/r/170274/#review175886 > I think this test should be in the `maximise() is idempotent` change. also you have misspelled the test. `s/indempotent/idempotent/` You’re right. I appear to have messed something up when I rebased and reordered the patches in my last pass. Will address this.
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 42•7 years ago
|
||
mozreview-review-reply |
Comment on attachment 8898914 [details] Bug 1391691 - Bringing window out of fullscreen does not restore x/y position. https://reviewboard.mozilla.org/r/170272/#review175762 > There is nothing in the HTML specification that says fully exiting fullscreen should restore the window to the same X/Y position it was in before. This is a trait of the WM and outside the scope of what we can assert. Not sure what we need here, the HTML or fullscreen API spec: https://fullscreen.spec.whatwg.org/#exit-fullscreen? It has at least a resize option. Can you please clarify if that is a webdriver spec issue or not? In any case this can be handled separately.
Assignee | ||
Comment 43•7 years ago
|
||
mozreview-review-reply |
Comment on attachment 8898914 [details] Bug 1391691 - Bringing window out of fullscreen does not restore x/y position. https://reviewboard.mozilla.org/r/170272/#review175762 > Not sure what we need here, the HTML or fullscreen API spec: https://fullscreen.spec.whatwg.org/#exit-fullscreen? It has at least a resize option. > > Can you please clarify if that is a webdriver spec issue or not? In any case this can be handled separately. We talked about this on IRC, and the WebDriver specification no longer provides primitives for restoring the window to its previous state because the Fullscreen Window command is now idempotent. In any case, restoring a window from fullscreen or iconified state does not necessarily mean the window’s X/Y position will be the same as it was before it went into said state because this behaviour depends on the window manager. It may incidentally be restored to the same position, but this is only incidental. Furthermore, this test uses Set Window Rect to exit fullscreen with a width/height parameter, which definitely means we should not be asserting the returned rect’s X/Y fields.
Comment 44•7 years ago
|
||
Pushed by atolfsen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/17aeed1f6454 Export WindowState properly. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/6c48daaad075 Rename GeckoDriver#fullscreen to fullscreenWindow. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/649b0e761c87 Add wdclient documentation for window manipulation. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/6306abc0b5e9 Fix undefined variable error with client.Session#position(). r=automatedtester https://hg.mozilla.org/integration/autoland/rev/fd88b612ac2e Restore window state using Set Window Rect. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/4653134d01ef Bringing window out of fullscreen does not restore x/y position. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/5bddbd90ec7c Skip needless assertion. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/1fd98ace1473 Make WebDriver:MinimizeWindow idempotent. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/46f82e1e2cde Make WebDriver:MaximizeWindow idempotent. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/666ac679317e Make WebDriver:FullscreenWindow idempotent. r=automatedtester
I had to back these out for failures like https://treeherder.mozilla.org/logviewer.html#?job_id=124591121&repo=autoland
Flags: needinfo?(ato)
Comment 46•7 years ago
|
||
Backout by kwierso@gmail.com: https://hg.mozilla.org/integration/autoland/rev/28b678c9009d Backed out 10 changesets for wpt failures a=backout
Assignee | ||
Comment 47•7 years ago
|
||
(In reply to Wes Kocher (:KWierso) from comment #45) > I had to back these out for failures like > https://treeherder.mozilla.org/logviewer.html#?job_id=124591121&repo=autoland This should’ve been addressed by bug 1388036, but I guess with Autoland we don’t test changes stacked on top of eachother, but on their own separate branches rebased against inbound. So what we have to do here is simply wait for that change to land, then re-land this.
Flags: needinfo?(ato)
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment hidden (mozreview-request) |
Comment 60•7 years ago
|
||
Pushed by atolfsen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/23b08fa8fad0 Export WindowState properly. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/821016a04a50 Rename GeckoDriver#fullscreen to fullscreenWindow. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/83080d660f56 Add wdclient documentation for window manipulation. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/5e07d579282d Fix undefined variable error with client.Session#position(). r=automatedtester https://hg.mozilla.org/integration/autoland/rev/c36b163dd034 Restore window state using Set Window Rect. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/2286cf7d577a Bringing window out of fullscreen does not restore x/y position. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/9013ea0fc942 Skip needless assertion. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/ee876a24b7e4 Make WebDriver:MinimizeWindow idempotent. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/ef813a1a750f Make WebDriver:MaximizeWindow idempotent. r=automatedtester https://hg.mozilla.org/integration/autoland/rev/2f25a6f73753 Make WebDriver:FullscreenWindow idempotent. r=automatedtester
Comment 61•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/23b08fa8fad0 https://hg.mozilla.org/mozilla-central/rev/821016a04a50 https://hg.mozilla.org/mozilla-central/rev/83080d660f56 https://hg.mozilla.org/mozilla-central/rev/5e07d579282d https://hg.mozilla.org/mozilla-central/rev/c36b163dd034 https://hg.mozilla.org/mozilla-central/rev/2286cf7d577a https://hg.mozilla.org/mozilla-central/rev/9013ea0fc942 https://hg.mozilla.org/mozilla-central/rev/ee876a24b7e4 https://hg.mozilla.org/mozilla-central/rev/ef813a1a750f https://hg.mozilla.org/mozilla-central/rev/2f25a6f73753
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox57:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Updated•1 year ago
|
Product: Testing → Remote Protocol
You need to log in
before you can comment on or make changes to this bug.
Description
•