- From: <bugzilla@jessica.w3.org>
- Date: Fri, 03 Oct 2014 16:23:42 +0000
- To: public-browser-tools-testing@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=26962
            Bug ID: 26962
           Summary: Define what response should be sent when an alert is
                    open
           Product: Browser Test/Tools WG
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: WebDriver
          Assignee: public-browser-tools-testing@w3.org
          Reporter: ato@mozilla.com
        QA Contact: public-browser-tools-testing@w3.org
                CC: mike@w3.org
Section 5.2.1 says that “If any modal dialog box, such as those opened by on
window.onbeforeunload or window.alert, is opened at any point in the page load,
a response MUST be sent.”
Because we need to do this as a precondition for almost all commands I suggest
we make it a definition that each command's algorithm can refer to.
The language also need to be cleaned up, and I suggest something along the
lines of:
- Define a global state that signifies whether an alert dialogue is open.
- Create a definition of how what steps to take when the previous state is
true, including the steps to populate the response with the correct status.
- Add this as a precondition to all commands where we need to check for this.
I imagine we can use a language like this for the POST
/session/{session_id}/url command:
“All <a>alert dialogs</a> created during <code><a>beforeunload</a></code> are
subject to <a>unexpected alert handling</a>.”
And a definition of alert dialogs:
“<code><a>Window.alert</a></code>, <code><a>Window.confirm</a></code>, and
<code><a>Window.prompt</a></code> are considered <dfn>alert dialogs</dfn>.”
Then some text on how to handle the dialogs:
“<a>Alert dialogs</a> block document script execution and WebDriver behaves the
same way.  When <a>alert dialogs</a> are created commands are free to choose if
they should affect their response.  The following steps may be run when a
command requests <dfn>unexpected alert handling</dfn> on <var>request</var>:
<ul>
 <li>If the <a>current alert</a> is defined:
  <ul>
   <li>Let <var>response</var>'s status be <a>unexpected alert open</a>.
   <li>Return response and abort the remaining steps.
  </ul>
 <li>Otherwise, return.
</ul>”
Then the definition of “current alert”:
“The remote end must keep a global state <dfn>current alert</dfn> that is an
initially left undefined <a>alert</a>.  When any of the <a>alert dialogs</a>
appear, this state must be updated with a reference to that alert.”
And then we need a definition of an “alert” struct which we can use in the
algorithm for interacting with the alert.
-- 
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Friday, 3 October 2014 16:23:44 UTC