21:34:01 RRSAgent has joined #webdriver 21:34:01 logging to http://www.w3.org/2015/10/25-webdriver-irc 21:34:26 rrsagent, this meeting spans midnight 22:00:16 Good morning, wilhelm 23:29:44 kurosawa has joined #webdriver 23:37:58 kurosawa_ has joined #webdriver 23:38:37 kurosawa_ has joined #webdriver 23:41:13 JohnJansen has joined #webdriver 23:41:23 zqzhang_ has joined #webdriver 23:42:48 JohnJansen has joined #webdriver 23:46:05 wilhelm_: good morningーI'm around on IRC if/when needed 23:46:19 wilhelm has joined #webdriver 23:46:59 sam has joined #webdriver 23:51:40 Meeting: Browser testing & tools WG, TPAC 23:51:51 Agenda: https://www.w3.org/wiki/WebDriver/2015-TPAC-F2F 23:52:01 RRSAgent, draft minutes 23:52:01 I have made the request to generate http://www.w3.org/2015/10/25-webdriver-minutes.html wilhelm_ 23:52:10 RRSAgent, make log public 23:53:29 simonstewart has joined #webdriver 23:55:43 juangj has joined #webdriver 23:56:06 jinbyung has joined #webdriver 23:57:19 simonstewart has joined #webdriver 00:02:22 juangj has joined #webdriver 00:05:40 juangj has joined #webdriver 00:08:40 present+ 00:08:51 present+ JohnJansen 00:08:55 present+ Andreas Tolfsen 00:08:58 present+ jgraham 00:08:59 present+ David Burns 00:09:00 present+ juangj 00:09:01 present+ Sam Uong 00:09:02 present+ Simon Stewart 00:09:21 RSSAgent, make minutes 00:09:24 RRSAgent, draft minutes 00:09:24 I have made the request to generate http://www.w3.org/2015/10/25-webdriver-minutes.html wilhelm 00:09:39 kurosawa has joined #webdriver 00:10:00 jimevans has joined #webdriver 00:10:14 Present+ Wilhelm 00:10:37 present+ ato 00:10:59 present+ DavidBurns 00:11:21 RRSAgent, draft minutes 00:11:21 I have made the request to generate http://www.w3.org/2015/10/25-webdriver-minutes.html ato 00:11:28 Agenda: https://www.w3.org/wiki/WebDriver/2015-TPAC-F2F 00:11:36 present+ SamUong 00:11:57 scribe: AutomatedTester 00:12:19 RSSAgent, draft minutes 00:14:09 simonstewart has joined #webdriver 00:14:20 https://www.w3.org/wiki/WebDriver/2015-TPAC-F2F 00:14:46 Scribe: wilhelm 00:14:52 Topic: State of the union 00:15:19 AutomatedTester: The main things changed in the spec since the last meeting is that we have proper, prescriptive langauge in the spec now. 00:15:22 AutomatedTester: It's a lot better. 00:15:39 AutomatedTester: The general gist has not changed, just the format, so that you can actually implement things. 00:15:43 AutomatedTester: ato has done a big chunk of the work. 00:16:00 AutomatedTester: I believe our charter ends at the end of this year. We need a final push to finish the last little bits done. 00:16:05 AutomatedTester: So we can move forward to REC. 00:16:32 AutomatedTester: THat should be the main part of our discussion today and tomorrow. 00:17:02 JohnJansen: THe test suite is an important point to get to REC. 00:17:17 ato: We can also start the REC process before the test suite is finished. 00:17:40 AutomatedTester: We have three diverging implementations, and need the test suite to rein things back in. 00:17:57 AutomatedTester: We can move things about on the agenda. 00:18:17 Topic: Agenda review 00:19:01 sam: I put the Bluetooth in the agenda. Interest from platform implementors. 00:19:25 sam: Jeff from GOogle is chairing the Bluetooth work. 00:19:37 sam: I don't know if this is for the first level of the spec. 00:19:46 simonstewart: We have places in the spec for extensions. 00:20:28 sam: They need a test suite for this. COuld be an extension. 00:21:01 ato: One of the things we want to achieve is to allow other platform techs to make their specs testable. 00:21:25 ato: We talked about mobile related things, punting most of them until we have the core spec finished. 00:21:41 ato: Re: bluetooth, USB, someone should come up with a strawman proposal. 00:21:50 jgraham: It would be good if they come here. 00:22:25 sam: Jeff can come in tomorrow. 00:23:01 sam: This could start as a vendor-specific feature. 00:23:13 https://w3c.github.io/webdriver/webdriver-spec.html#protocol-extensions 00:23:14 AutomatedTester: There is an example in your code for launching web apps. 00:23:30 ato: We decided to punt other things: Shadow DOM, logging. 00:24:00 jgraham: FOr the agenda for tomorrow: What future work is there for this group? W3C process, charter. 00:24:23 ato: I added an agenda item: window focus. DOM events queued. 00:25:28 JohnJansen: Accessibilty testing with WebDriver. 00:25:49 JohnJansen: Accessibility WG is meeting nearby. 00:26:33 simonstewart: Every year we have a discussion about this. There is overlap. 00:27:03 AutomatedTester: We have invited them over previously. 00:28:09 ato: I think it makes sense to talk about the level 2 stuff to avoid conflict with level 1. 00:28:32 JohnJansen: Should there be a v2 spec draft? 00:28:41 jgraham: I'm very dubious about that. 00:28:57 AutomatedTester: There is a top-level bug you can raise bugs against. 00:29:20 ato: We also haven't talked about how to do extensions to the spec later. One spec, or multiple? Per feature? 00:29:23 https://www.w3.org/Bugs/Public/show_bug.cgi?id=24121 is the L2 Bug 00:30:47 simonstewart: We should talk about concrete steps to get to LC. 00:31:22 (Discussion about specific screenshot issue, wrt. scrolling.) 00:32:09 JohnJansen: Our screenshot implementation was based off Chrome, many complaints. 00:32:26 JohnJansen: We talked about an optional parameter. 00:32:46 AutomatedTester: There's also screenshot of element. Should we scroll to the element? 00:35:45 RRSAgent, make minutes 00:35:45 I have made the request to generate http://www.w3.org/2015/10/25-webdriver-minutes.html MikeSmith 00:36:41 https://www.w3.org/Bugs/Public/showdependencytree.cgi?id=20860&hide_resolved=1 00:36:58 Topic: Open issues 00:37:07 AutomatedTester: Should we skip issues on click, etc.? 00:37:23 https://www.w3.org/Bugs/Public/show_bug.cgi?id=20947 00:37:23 https://www.w3.org/Bugs/Public/show_bug.cgi?id=20947 00:37:25 https://www.w3.org/Bugs/Public/show_bug.cgi?id=20947 00:38:25 simonstewart: Do as I say: Don't wait. Fire away the event. 00:38:51 simonstewart: Do as I mean is tricker: Clicking something, expecting page load. At that point you should use page loading strategy when to determine when to return to the user. 00:39:07 simonstewart: Super-racy condition. 00:39:08 simonstewart: Because page load hasn't started. 00:39:26 jgraham: This is not super easy. 00:39:31 simonstewart: It is. 00:39:34 jgraham: With a short gap, you can still lose. 00:40:21 ato: Why can't we do something like: add mutation observer, listens to the document.. 00:40:25 simonstewart: Onbubble may be cancelled. WHere would you put it? 00:40:39 jgraham: It seems very unsatisfactory to wait an arbitrary amount of time. 00:40:59 jgraham: Leverage that the person using the API probably knows what to expect. 00:41:30 simonstewart: Test authors often don't understand implicit waits. 00:42:23 simonstewart: (Describing how this has been solved in different implementations.) 00:42:37 wilhelm has joined #webdriver 00:43:03 jgraham: Wait for the event loop to be processed. 00:43:17 jgraham: Event handler for that click event? 00:43:35 jgraham: Let one cycle of the event loop run or wait for the click handler to run. 00:44:13 ato: Sounds like a good solution. 00:45:04 jgraham: (Comments on the bug.) 00:45:13 https://www.w3.org/Bugs/Public/show_bug.cgi?id=21184 00:46:26 ato: (Reads the bug description.) 00:48:18 Scribe: juangj 00:48:43 (some discussion happened while wifi was dead) 00:48:54 wilhelm__ has joined #webdriver 00:48:57 simonstewart: should click in the middle of the first visible client rect 00:50:32 johnjansen: center of client rect may be obscured 00:50:32 . 00:50:35 wilhelm__ has joined #webdriver 00:50:44 simonste_ has joined #webdriver 00:50:52 https://irccloud.mozilla.com/file/HblZkA5l/wilhelms.png 00:51:07 samuong: there’s a special case [in chromedriver] for tags, and for circles etc. we try to figure out the center 00:51:21 Present+ Simon Stewart 00:51:45 samuong: i think this is a special case because of the way chrome gives you the clientrects for these elements? 00:52:02 not quite sure how firefox does it 00:52:11 ato: do you have a test case for this? 00:52:13 samuong: i’ll make one 00:52:49 ACTION: samuong make a test case for element clicking 00:52:55 RRSAgent, draft 00:52:55 I'm logging. I don't understand 'draft', ato. Try /msg RRSAgent help 00:53:00 RRSAgent, draft minutes 00:53:00 I have made the request to generate http://www.w3.org/2015/10/25-webdriver-minutes.html wilhelm__ 00:53:31 https://www.w3.org/Bugs/Public/show_bug.cgi?id=22653 - resolved already 00:53:58 https://www.w3.org/Bugs/Public/show_bug.cgi?id=23868 00:54:49 simonstewart: (explains original reasoning for this) 00:55:03 https://www.w3.org/Bugs/Public/show_bug.cgi?id=23876 00:55:04 simonstewart: i’m happy to not do it that way 00:55:09 https://www.w3.org/Bugs/Public/show_bug.cgi?id=23876 00:55:47 automatedtester: yes, should probably special case this. it comes up regularly in #selenium IRC 00:56:31 ato: we’ve already reached a conclusion on this (comment 1) and it just hasn’t made it into the spec yet 00:57:07 johnjansen: my hesitation with comment 1 is that we don’t want to dictate that the browser replace the set file, we should just let the browser do what it does 00:57:53 https://www.w3.org/Bugs/Public/show_bug.cgi?id=24794 00:59:01 (discussion about whether this text even still exists in the spec — it doesn’t) 00:59:09 the original motivation was that some browsers couldn’t do HTTPS 00:59:30 https://www.w3.org/Bugs/Public/show_bug.cgi?id=24816 00:59:58 sam has joined #webdriver 01:00:33 ato: (reading the current text on alerts in the spec) 01:00:55 simonstewart: so you’re saying that the “are you sure you want to navigate away” prompt gets implicitly dismissed? 01:01:26 ato: you can get an ‘unexpected alert’ 01:01:38 jgraham: as far as i can tell, this text doesn’t actually specify anything 01:02:03 jgraham: there are two cases. case where you do an explicit ‘get’, and the case where you do something else that causes navigation to happen 01:02:25 simonstewart: should handle the same way; if the dialog pops up, should be handled the same way by the prompt handler 01:03:46 ato: all of the commands that are meant to handle or deal with alerts in some way have an explicit step to ‘handle any user prompts’ that checks the prompt handler 01:04:14 jgraham: then i dont understand the sentence that says the prompts are dismissed implicitly on navigation 01:04:29 jgraham: what you’re saying you want [about no special casing of this alert] and what the spec says are different 01:05:00 jgraham: it seems to me that ‘get’, specifically, has to have a step to check for this; if there’s an unload prompt at the moment, get will never return 01:05:51 ato: problem here is we’re trying to specify a blocking api but some of the things here happen asynchronously 01:06:46 jgraham: not every endpoint can cause an alert. just navigation, executescript, … 01:07:02 simonstewart: you could imagine some bastard doing some sort of setTimeout thing to cause an alert when getting cookies 01:07:09 jgraham: it’s specified that you have direct access to cookies 01:07:30 ato: does that mean we need to add a list of the commands [that can cause alerts]? 01:07:59 jgraham: interactions, get, executescript, … back/forwards … ok this is a bit of a nightmare 01:08:35 kurosawa has joined #webdriver 01:08:47 ato: the html5 on this topic is interesting. ‘alerts’ and ‘user prompts’ are not synonymous 01:09:18 ato: this also handles the old IE thing, showModalDialog 01:09:35 JohnJansen: edge has this new thing too, about whether you want to switch apps 01:09:59 jgraham: so the conclusion here is that there’s more work needed 01:11:19 https://www.w3.org/Bugs/Public/show_bug.cgi?id=24818 01:12:03 ato: tempted to just resolve this bug because we haven’t really started working on it 01:12:09 ato: not sure why he wants to remove this 01:12:28 AutomatedTester: i think what marc was saying is that it doesn’t need to be there because the low-level tap stuff would have it 01:13:36 samuong: can’t find the word “alias” in the spec; it looks like that part of the bug is no longer true 01:13:46 https://www.w3.org/Bugs/Public/show_bug.cgi?id=24828 01:14:17 https://www.w3.org/Bugs/Public/show_bug.cgi?id=24832 01:15:33 ato: “The remote end must include a configuration option to limit the accepted IP range allowed to connect and make requests” is in the appendix 01:15:45 jgraham: surely we didn’t mean to put a requirement in the appendix 01:17:03 simonstewart: do we need this section? [appendix C on “security”] 01:17:13 jgraham: i’m very unhappy about this saying there “must be a configuration option" 01:17:47 jgraham: would like a word that means “should” but isn’t “SHOULD” 01:18:03 jgraham: want to rewrite this to be non-normative, purely informative text 01:20:12 JohnJansen: purpose for limiting it is that it’s dangerous to leave it open. if you don’t limit access, you’re maybe an idiot, but it doesn’t have to be a requirement 01:20:33 simonstewart: didn’t this section used to say something about fingerprinting? 01:21:02 (yes, it’s in sec. 3 now; “webdriver-active flag”) 01:21:26 refreshment break 01:21:33 back at :45 01:42:40 Kang has joined #webdriver 01:44:11 kurosawa has joined #webdriver 01:44:16 juangj has joined #webdriver 01:45:57 sam has joined #webdriver 01:46:46 RRSAgent: draft minutes 01:46:46 I have made the request to generate http://www.w3.org/2015/10/25-webdriver-minutes.html juangj 01:49:27 wilhelm has joined #webdriver 01:50:09 sam: returning to that thing, it looks like that’s a chrome-specific thing that other browser don’t need to worry about 01:50:40 scribe: sam 01:51:11 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25012 01:52:12 simon: this is used by people who want to set timeouts back to an original value 01:52:34 james: we should have a getter for every setter; write-only is not good 01:54:27 nsakai has joined #webdriver 01:55:19 andreas: useful for marionette users when using a context manager, and restoring to the original state 01:57:38 andreas: some users also have multiple local ends controlling a single browser session 01:59:10 simon: i understand the symmetry arguent (getters for all setters), but no one has ever asked for this 01:59:19 david: it's a frequent request 02:01:12 johnjansen: we resolved this last time, and decided to handle it in level 2 02:07:36 kiyoung has joined #WEBDRIVER 02:08:42 simon: we can add it in level 1 02:09:45 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25058 02:10:21 simon: we should better define spaces, and include unicode spaces 02:11:23 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25106 02:11:38 Resolution: We’ll resolve it as a duplicate. 02:14:00 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25285 02:16:23 simon: booleans need to be handled properly, there are lots of tests out there that require it 02:16:41 james: attributes need to be returned as a list, so this is going to make it difficult to separate null/false 02:17:16 simon: browser vendors could be responsible for keeping their drivers up-to-date 02:19:08 james: even for browser vendors, it's difficult to keep track of what is implemented and what isn't 02:20:35 james: it'll be confusing when attributes are set to the empty string, or something else that's falsy 02:22:40 simon: we can think about renaming this later, but if you want the html attribute call the javascript, otherwise the existing way works ok 02:25:18 simon and james agree that remote ends should keep track of which attributes are boolean 02:29:13 david: with web components we don't have element attributes and idl attributes in sync 02:29:56 andreas: e.g. a custom input element could have its own disabled attribute 02:31:07 james: we don't have a list of boolean attributes for custom elements 02:31:33 simon: it's worse to break existing tests, so we should maintain the existing behavior 02:32:32 andreas: we could fix this by calling get property, then get attribute 02:32:50 simon: this would be grossly inefficient for use cases like sauce labs' 02:34:00 sam: I’m Andreas by the way. 02:36:23 resolution: leave it the way it is 02:39:34 Scribe: juangj 02:41:24 scribe: sam 02:42:36 action: add note to explain why we're returning a string "true" in section 12.3 02:42:54 ^ ato 02:43:33 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25293 02:43:34 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25317 02:47:45 resolution: punt this to level 2 02:47:48 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25306 02:48:45 https://bugzilla.mozilla.org/show_bug.cgi?id=883555 02:49:16 james: bug title differs from link in bug 02:49:26 james: if a string has bidi text, webdriver shouldn't modify that 02:53:25 resolution: bug is invalid, we shouldn't strip these out 02:53:37 https://bugzilla.mozilla.org/show_bug.cgi?id=883555 02:53:43 http://www.w3.org/TR/findtext/ 02:58:15 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25307 03:06:38 resolution: someone needs to define "effective css whitespace" 03:06:47 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25308 03:06:49 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25308 03:13:34 simon: we should return what's in the dom, and talk to the css people about an api to get the result of the text transform 03:13:45 resolution: close the bug and have a note 03:14:59 https://w3c.github.io/webdriver/webdriver-spec.html#dfn-json-clone 03:15:18 http://rocallahan.github.io/innerText-spec/index.html 03:15:35 ^ this doc says that innerText will handle text transforms 03:15:39 james: this might require firefox nightly 03:20:05 simon: ideally we would return what the user sees when getting the visible text, but currently there is no good way to do this 03:20:19 simon: we can implement this when a better method is available 03:22:50 wilhelm: firefox, chrome, edge implement innerText differently in terms of text transforms 03:26:32 https://drafts.csswg.org/css-text/#text-transform-property 03:29:04 simon: we shouldn't be breaking existing tests by changing this 03:29:40 james: someone should go through the spec for innerText and webdriver and finding out what makes a difference here 03:29:49 johnjansen: this is something that css/html should be doing 03:31:07 Test case for copy and paste: https://jsbin.com/sigoxopamo/edit?html,output 03:32:54 action: run the selenium test suite using roc's innerText and see how many fail 03:33:27 http://rocallahan.github.io/innerText-spec/index.html 03:33:29 reminder: http://rocallahan.github.io/innerText-spec/index.html 03:34:01 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25418 03:35:55 This is what the spec says about extension commands: https://w3c.github.io/webdriver/webdriver-spec.html#protocol-extensions 03:38:39 webdriver doesnt' have the same problems as css vendor prefixes, so this might not apply 03:41:01 resolution: this doesn't need to change 03:41:26 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25678 03:41:47 jason: this is gone from the spec now, and there's new text about focus not being relevant 03:42:11 http://www.w3.org/TR/html5/editing.html#focus 03:42:29 https://www.w3.org/Bugs/Public/show_bug.cgi?id=25682 03:42:41 resolution: close 25678 03:43:20 https://www.w3.org/Bugs/Public/show_bug.cgi?id=26031 03:44:26 26031 is a dupe 03:44:41 https://www.w3.org/Bugs/Public/show_bug.cgi?id=26137 03:44:59 james: i've fixed this, will close 03:45:24 https://www.w3.org/Bugs/Public/show_bug.cgi?id=26266 03:45:36 james: this is out of scope, move to level 2 03:47:45 https://www.w3.org/Bugs/Public/show_bug.cgi?id=26287 03:48:02 use case is doing a file transfer when local and remote ends are on separate hosts 03:49:56 simon: the remote driver already does something like this 03:50:17 resolution: document this in the spec 03:52:43 https://www.w3.org/Bugs/Public/show_bug.cgi?id=26900 03:54:21 https://www.w3.org/Bugs/Public/show_bug.cgi?id=27244 03:54:39 this isn't really doable, e.g. for the back command shortcut 03:54:55 in chrome on mac, it's cmd+leftarrow, on linux/windows it's alt+leftarrow 03:54:58 resolution: wontfix 03:55:22 https://www.w3.org/Bugs/Public/show_bug.cgi?id=27658 03:55:45 https://www.w3.org/Bugs/Public/show_bug.cgi?id=27662 03:57:02 https://www.w3.org/Bugs/Public/show_bug.cgi?id=27664 03:58:31 this hasn't been rewritten yet, so we'll discuss once this section has been rewritten 04:23:10 kurosawa has joined #webdriver 04:43:05 zqzhang_ has joined #webdriver 04:59:15 kimwooglae has joined #webdriver 05:00:05 sam_ has joined #webdriver 05:06:39 simonstewart has joined #webdriver 05:11:14 JohnJansen has joined #webdriver 05:11:39 kimwooglae has joined #webdriver 05:16:15 returned from Lunch 05:16:15 wilhelm has joined #webdriver 05:17:10 resolution: the coffee here is bad 05:17:35 scribe: juangj 05:20:12 https://www.w3.org/Bugs/Public/show_bug.cgi?id=27665 05:20:42 resolution: 27665 is out of scope; you should ask for the input devices you want in desired caps 05:22:03 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28002 05:22:50 simonstewart: what you should do, is if you can’t start another session, just don’t start a session and return an error 05:23:23 jgraham: there’s an implementation-dependent maximum, which for most endpoint nodes is 1 05:23:31 simonstewart: why is this relevant? 05:24:33 ato: suppose marionette has a session going already and you want to start a new one, there needs to be some way to say you can’t do that 05:24:41 simonstewart: there’s already a “session not created” error 05:25:11 ato: that’s not implementable. you’re saying just to return that error if anything bad happens 05:25:25 jgraham: specifying this behavior makes the spec more explicit 05:26:02 ato: this is not irrelevant; it’s a concrete use case that we had to implement for marionette 05:26:18 simonstewart: what about browsers that support multiple users 05:26:41 jgraham: it doesn’t make sense to have two simultaneous sessions because of the amount of global state in a browser 05:27:00 simonstewart: not going to argue but it’s pointless language 05:27:16 (resolved fixed) 05:27:23 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28143 05:27:26 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28143 05:27:48 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28194 05:28:53 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28195 05:29:27 some browsers behave differently if you give a valid selector and nothing is matched, vs. if you give a malformed selector 05:29:39 simonstewart: said that thing ^ 05:31:25 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28407 05:31:54 ato: yes, it’s possible to have an interactable element that is obscured by another element 05:32:49 jgraham: it’s still possible to focus an element if you can’t click on it 05:33:06 simonstewart: keyboard actions still make sense, mouse not so much 05:33:38 jgraham: this is still a question about visibility so let’s skip it now 05:34:16 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28746 05:35:40 jgraham: what the spec is trying to say is, “do what you think is right”, but you can’t really specify this in detail 05:35:56 jgraham: resize the window and try to make it this size 05:36:09 simonstewart: usually you want to view the webpage with a certain size viewport 05:36:41 jgraham: including the chrome is what webdriver has historically done 05:37:34 jgraham: the definition in the spec is supposed to be the same as what outerWidth and outerHeight are, except we avoid referring to those because they’re not actually standard 05:38:25 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28754 05:39:08 JohnJansen: the text here is just missing an “else” 05:40:19 ato: i think i fixed this already with a PR 05:40:55 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28756 05:41:15 jgraham: this is about findElement so it’s probably still valid as we’ve yet to rewrite that section 05:42:20 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28760 05:43:28 JohnJansen: the param would be optional and default to ‘click' 05:43:33 sam_: even on a mobile phone? 05:44:22 should be browser-dependent? 05:44:37 JohnJansen: browser doesn’t know if it’s on a touch device 05:45:33 AutomatedTester: what marionette does is: if you’re on desktop and you ask for a tap, it’ll do the click anyway because it does know from when you started the browser that tapping isn’t valid 05:45:36 AutomatedTester: not sure what chrome does 05:46:12 JohnJansen: on a laptop like [his], you can use keyboard and touch pretty interchangeably 05:46:26 sam_: mac chrome is probably the only one where touch doesn’t work in a desktop environment 05:46:55 sam_: chrome will generally try to do a tap 05:47:16 jgraham: that makes sense — if you explicitly ask for a tap, the browser should try to do a tap 05:47:40 simonstewart: general agreement with john/the bug) 05:48:04 simonstewart: and if you ask for a ‘click(“touch”)’ and that’s not supported, do what i mean 05:49:00 resolution: don’t spec “tap()”. spec click with an optional input source, e.g., “click(‘touch’)”, and if omitted, use the platform default 05:49:12 AutomatedTester: where does the platform default come from? that needs to be specified somewhere 05:49:50 simonstewart: no, the browser determines that. chrome on android defaults to touch, chrome on mac defaults to click, who knows what john’s crazy hybrid does 05:50:13 I know. Ask me. It's awesome. 05:51:52 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28802 05:51:57 simonstewart: acknowledged. punt it. 05:52:13 simonstewart: nobody implements it right now… well, firefox does because salesforce added it…? 05:52:23 (bug moved to level 2) 05:52:43 JohnJansen: https://w3c.github.io/webdriver/webdriver-spec.html#dfn-scrolled-into-view 05:53:16 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28968 05:53:16 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28968 05:55:32 https://www.w3.org/Bugs/Public/show_bug.cgi?id=29054 05:55:39 all: ….. yep 05:56:42 https://www.w3.org/Bugs/Public/show_bug.cgi?id=29070 05:57:05 all: ok, but why is this even called “sendKeys” instead of “keys” 05:57:22 sam_: isn’t it called “value” in the open source protocol? 05:57:48 (yes, it is) 05:58:12 simonstewart: the reason the API is named “Send Keys" is because you’re emulating keyboard input 05:58:31 simonstewart: ...and also because that was the name of the win32 api 05:59:09 all-lowercase is fine 05:59:18 simonstewart: the other option is to specify that URLs are case-insensitive 05:59:21 jgraham: noooo 05:59:41 ato: ALL CAPS! “SEND KEYS! DO WHAT I MEAN!” 06:00:49 jgraham: this isn’t actually inconsistent with the rest of the spec; this is the only camelCase endpoint but it’s also the only multi-word name 06:01:17 jgraham: “screenshot” and “fullscreen” are one word 06:01:36 resolution: just leave “sendKeys” as camelCase, because that’s easier 06:02:51 https://www.w3.org/Bugs/Public/show_bug.cgi?id=29168 06:03:59 JohnJansen: this might be because of a security issue, where you don’t want to divulge the actual reason for the error 06:04:27 simonstewart: could be “unsupported operation” 06:05:38 JohnJansen: not sure that you always can know for sure that it’s an ssl error 06:05:44 jgraham: surely the browser knows 06:05:55 ato: isn’t “unknown error” really unhelpful to users? 06:06:00 jgraham: should probably coin a new error code for this 06:06:36 JohnJansen: not positive that browser knows for sure — it can know that it can’t authenticate but it might not know the exact reason 06:06:50 jgraham: it must know because it can pop up a dialog explaining what happened 06:07:25 jgraham: we wouldn’t require that you explain all the details, just that you say that it was a … er … ssl error for some unknown reason 06:08:18 simonstewart: defining an error code for every possible browser-specific error screen isn’t a good path forward 06:08:23 ato: also that’s not standardized 06:09:47 ato: opera would have a situation where you can’t even inspect the state of the browser at all so you can’t return the text of the error page 06:09:55 jgraham: but you should still try to return an informative error message 06:10:11 ato: should we have some text about the general purpose of “unknown error” 06:11:59 ato: a page like firefox’s about:config has this special non-html, xul error page 06:12:32 jgraham: how do we specify behavior when you get into a state where you can’t do some stuff (like executescript on about:config) 06:12:42 simonstewart: yeah, “unsupported operation” seems appropriate 06:14:13 ACTION: each command should have a condition to check that the content can be operated on 06:14:47 ato: we could remove “unknown error” 06:14:57 simonstewart: it’s still useful — it could be “i ran out of memory” 06:16:00 ACTION: add normative text somewhere explaining that “unknown error” MAY be returned when something or other happens that is unknown 06:16:10 FAKEACTION: insert rumsfeld joke 06:17:57 ACTION: JohnJansen to find out whether Edge can detect the SSL cert error; if it can’t, then we should not add a new error code for ssl certs (as in bug 29168) 06:18:29 JohnJansen: https://revoked.grc.com/ 06:18:57 ACTION- 6 06:20:08 ato: there still isn’t enough tea around here 06:20:27 juangj: there is tea in the vending machine 06:20:38 ato: [condescendingly shakes head] 06:20:57 https://www.w3.org/Bugs/Public/show_bug.cgi?id=29202 06:22:52 https://www.w3.org/Bugs/Public/show_bug.cgi?id=29204 06:27:12 last two bugs are uncontroversial 06:27:16 that’s all the bugs 06:27:39 refreshment break, in which several people will go in desperate search of actual coffee 06:28:01 returning at :45 06:47:06 simonstewart has joined #webdriver 06:47:15 wilhelm has joined #webdriver 06:48:54 sam has joined #webdriver 06:50:44 scribe simonstewart 06:50:53 We're about to talk about window focus 06:51:32 not sure if you need a colon 06:51:36 Scribe: simonstewart 06:51:51 Well, I'm scribing now 06:51:59 ato: so "window focus" is in the open issues 06:52:36 ato: had been talking to a content developer at mozilla. Marionette wasn't firing certain events when a window wasn't in focus 06:53:05 ato: was trying to click on an input field, and the event only fired when he brought the window into focus 06:53:36 ato: there's the ability to put the focus manager into a testing mode 06:53:55 ato: if you want to test this as a platform vendor, then you're in trouble. 06:54:43 kurosawa has joined #webdriver 06:54:55 simonstewart: talked about utilization of machines using multiple simultaneous browsers 06:55:23 jgraham: should this be a capability? 06:55:34 ato: not sure. Marionette does this as a preference 06:57:12 http://www.w3.org/TR/html5/editing.html#focus 07:00:00 ato: other things in the browser needing focus, such as the permissions dialog. Also effected in marionette by the testing focus thing 07:01:03 AutomatedTester: discussion of how chrome attempts to save battery by slowing event loops 07:01:23 ato: quotes mozilla employee. 07:02:03 AutomatedTester: should this be a capability to allow people to turn focus mode on and off 07:02:24 ato: does wtp support different configs per browser? 07:02:27 jgraham: yes 07:04:04 ato: we want the default in the webdriver spec to support users 07:04:18 so fire events as they are sent by the local end 07:06:07 AutomatedTester: also sounds like a profile-specific thing 07:07:42 topic: test suites 07:08:30 Discussion on the current state of the test suite 07:08:45 JohnJansen: best to leave the test suite where it is currently 07:09:02 JohnJansen: sub-folders per section seems to make sense 07:09:19 JohnJansen: tl;dr; the structure seems sane 07:09:48 JohnJansen: however there are tests that are either not testing things in the spec, aren't testing what they thing they're testing, and some that are doing the Right Thing 07:10:18 JohnJansen: how do we get the PRs into the web platform tests. Original PR was to make sure that the tests could run 07:11:00 JohnJansen: right now the test suite isn't good for people who want to implement new webdriver implementations 07:11:57 jgraham: if there is public code review, then the tests can be merged straight into web platform tests 07:12:15 jgraham: in principle you could have a weaker policy, but it would be unusual 07:12:22 ato: agrees with JohnJansen 07:12:38 ato: will be working on the test suite this quarter. 07:13:42 ato: one reason we've not done the PR reviews is that there was an opinion that the test suite was so out of date, it wasn't clear whether we should should start from scratch or not 07:14:24 ato: we need some low level primitives to trigger some conditions that are mentioned from the spec 07:15:03 Mozilla give MS a big hug 07:16:12 JohnJansen: has a doc that explains each of the changes in the PRs 07:16:33 JohnJansen: should we add tests for things that are not in the spec? 07:17:29 ato: it's easy to loose track of what's not in the spec or not 07:19:18 AutomatedTester: organize the untracked folder in the same way as the main test suite, so it's easy to find and move tests as required 07:19:56 ato: is anyone opposed to just merging the tests straight into the tree? 07:20:19 ato: also, some of the tests are about 10 KLOC 07:21:00 Agreement appears to be to merge the changes in 07:21:26 JohnJansen: is there some way we should flag a test to indicate that it was reviewed within MS? 07:21:34 jgraham: normally you link to the public review. 07:22:19 JohnJansen: we can make the PRs public. 07:31:24 simonstewart has joined #webdriver 07:32:26 sam has joined #webdriver 07:36:01 simonstewart has joined #webdriver 07:37:13 http://www.w3.org/2015/Process-20150901/#transition-reqs 07:37:51 action: merge MS PRs (possibly ato) 07:38:37 topic: Getting to CR and REC 07:39:02 ato: the goal is to get the primitives that other specs need nailed down and frozen 07:39:33 plh: don't try to be perfect, and keep the cost of producing the rec as low as possible 07:40:38 You can mark features as being "at risk" in the spec. Once they're ready, someone can remove the mark and republish the spec 07:41:07 JohnJansen: the features we have at risk are currently living as bugs 07:41:22 plh: the current version of the spec is going to be your v 1.0? 07:41:38 AutomatedTester: yes, though there are minor areas to work on 07:41:48 ato: major areas :) We're about 80% there 07:42:15 plh: current thinking is to move to CR until you're ready to move to spec 07:42:38 ato: we have a number of different implementations already. Plan is to work on the test suite. 07:42:57 plh: the process doesn't require a test suite. Just need to ensure interoperability 07:43:26 plh: if you have other ways to demonstrate interop, that's fine. 07:44:09 plh: be aware that in a year's time you'll probably need to revise things as corner-cases show up 07:44:43 ato: there's no difference between editors' and working drafts. 07:44:57 plh: once you're in CR you need a director's agreement to republish 07:45:19 plh: so stay as a WD until you're ready to go to REC, then pass through CR as quickly as possible 07:46:00 plh: that also means there's a minimal window where there are two versions of the spec at the same time (CR and WD) 07:46:43 plh: think about your versioning. 07:47:22 plh: /gr/webdriver should always point to the most recent version of the spec. 07:48:21 s/gr/tr 07:48:41 eg: http://www.w3.org/TR/webdriver/ 07:48:59 is the latest and greatest, but http://www.w3.org/TR/webdriver/1 is the "rec" version 07:50:37 plh: in order to get to CR you need to also have wide review 07:52:56 AutomatedTester: group charter runs out at the end of the year. Do we need to recharter? What's the process to move forward. 07:53:05 plh: you can ask for another extension 07:53:13 plh: or you can ask for a new charter 07:53:24 AutomatedTester and ato: probably the latter 07:53:48 plh: then get an extension to allow you to finish the spec, then recharter 07:54:57 plh: put the draft of the charter on GitHub and iterate on it there. It makes it easy to get feedback 07:58:37 plh: if you're close to finishing, can we use this for web platfrom tests? 07:58:46 jgraham: yes, but it requires engineering 07:59:13 jgraham: explains about writing tests in JS on a page and having that call into a webdriver remote end point and then get results back 07:59:32 jgraham: the problem is finding the time and contributions to getting that implemented 08:00:45 sam: we started doing something similar for chrome layout tests 08:00:50 kurosawa has joined #webdriver 08:02:02 ato: might be easier to just write a new binding entirely 08:06:54 Draft proposal for WebDriver integration with WPT: https://wiki.mozilla.org/Auto-tools/New_Contributor/Quarter_of_Contribution/Web_Driver_Infrastructure 08:12:31 kurosawa_ has joined #webdriver 09:05:56 kurosawa has joined #webdriver 10:11:05 kurosawa_ has joined #webdriver 12:15:52 RRSAgent, draft minutes 12:15:52 I have made the request to generate http://www.w3.org/2015/10/25-webdriver-minutes.html wilhelm_ 12:53:15 juangj has joined #webdriver 15:17:46 lukeis has joined #webdriver 15:23:54 jimevans has joined #webdriver 15:45:32 RRSAgent, draft minutes 15:45:32 I have made the request to generate http://www.w3.org/2015/10/25-webdriver-minutes.html lukeis 16:03:07 saw a bit about spec tests… would appreciate a recap on what's decided about that… I have a (very old) PR still waiting review: https://github.com/w3c/web-platform-tests/pull/1350 and I just noticed john's (and commented on the review) https://github.com/w3c/web-platform-tests/pull/1890 16:03:29 i think that discussion is going to happen tonight/tomorrow. 16:03:41 or the in-depth part of it will, anyway 16:03:54 it was a topic of discussion yesterday at least :) 16:04:08 look forward to hearing about it then! 16:06:07 oh, nvm. i see the agenda got rearranged. test suite discussion was yesterday. a full recap would be appreciated. 18:28:56 current open PRs :) https://github.com/w3c/web-platform-tests/labels/webdriver 18:44:21 jimevans: lukeis we decided that we are going to merge all PRs and from there sort them 18:44:33 :-/ 18:44:50 except John's changes the driver from the internal one to the open source one! 18:45:08 we will eventually throw that out 18:45:25 and move to another repo? or just rework the whole thing 18:45:35 just rework the whole thing 18:45:47 a) get tests running 18:45:50 anyone tasked with that? 18:45:55 b) get the right tests running 18:46:17 I have made it a deliverable for ato this quarter to spend time on the spec test suite 18:46:28 should we just work on a fork somewhere else for now and then merge into that w3c repo later… 18:46:30 so he will be doing this part of his Mozilla work 18:47:24 we don't know all the ins and outs of landing the code 18:47:48 WPT has a rule that as long as the review is public it can be landed in the WPT repo 18:48:02 so he *may* do it in the Mozilla tree and we can upstream 18:48:10 logistics are still to be worked out 18:48:24 'he'? 18:48:24 John has a plan for how MS could make their tests open too 18:48:30 ato 18:48:33 ok 18:49:21 John also has a tool that could allow us to annotate the spec to see which tests match where which looks great 18:49:36 they will hopefully open that later 18:49:49 "still in development" 18:50:03 i think we need to make some of the guidelines crystal clear on the tests… like, does each test require it's own html document? (or like others seemed to assume, the test class can use one html document, if it fits for multiple tests) 18:50:42 we didnt discuss that today 18:50:57 (it was a long day and we were very tired at the end) 18:50:59 discuss all the things! 18:51:01 ;) 18:51:24 also… why are you awake? :) 18:52:08 I have had 4 hours sleep, wanted to see if my manager was about to give him an update about something not w3c related 18:52:21 will try sleep again in a bit 18:52:31 heh, just saw simon tweet too 18:52:32 lukeis: are you going to be on IRC tonight for the sessions? 18:52:39 doubtful 18:52:47 hrm. 18:53:58 well, i'll leave y'all to carry on then. i doubt i'll make it on either, after the events of this morning (local time) 18:54:37 please remember that there is also the mailing list and if you want clarifications I suggest emailing them today before we start again 18:54:49 so we can do that first 18:56:25 jimevans: is your subtweet about sendKeys? 18:57:12 caught that, did you? i'm not *that* upset about it, it just looks ugly to me. i understand the reasoning behind not changing it. 18:57:13 :) 18:58:08 its literally the only 2 word item in the list 18:58:24 i mean, out of, what, forty-odd end points, its the only one with an upper-case letter in it? 18:58:57 so we change it to just "keys" or something. but really, it's just me nitpicking. 18:59:05 still think it looks awful. 18:59:53 still, the tribe has spoken. so i don't have any room to stand, do i? 19:01:36 besides, i'll gladly compromise on that in return for the status end point. :) 19:01:51 (thanks for that, by the way) 19:02:16 and now, i really *am* going. i need to see to my family. 19:38:21 Mmm, jetlag. 20:03:27 lukeis1 has joined #webdriver 20:05:08 lukeis2 has joined #webdriver 20:26:18 JohnJansen has joined #webdriver 21:00:42 You could look at it in two ways. Either consistency in that every endpoint should be lower-case, or that endpoints that have two words should have capitalisation to distinguish the words and sendKeys is the only two-word endpoint in the whole spec. 21:01:50 I have no strong feelings either way, but Simon is correct that all implementations would have to change to sendKeys to sendkeys, which is more work than just doing nothing. 22:47:06 lukeis has joined #webdriver 22:55:09 sam_ has joined #webdriver 23:01:55 selbot2 has joined #webdriver 23:02:25 and i'll leave you guys with a selbot to do your bidding ;) 23:02:32 have a good meeting! 23:06:39 JohnJansen has joined #webdriver 23:13:52 kurosawa has joined #webdriver 23:44:53 zqzhang has joined #webdriver 23:54:02 kurosawa has joined #webdriver 23:54:46 juangj has joined #webdriver 23:56:37 sam_ has joined #webdriver 23:58:21 wilhelm has joined #webdriver 23:59:37 zqzhang has joined #webdriver 00:01:31 RRSAgent, draft minutes 00:01:31 I have made the request to generate http://www.w3.org/2015/10/25-webdriver-minutes.html wilhelm 00:05:24 https://www.w3.org/wiki/WebDriver/2015-TPAC-F2F 00:05:35 jyasskin has joined #webdriver 00:05:40 https://www.w3.org/wiki/WebDriver/2015-TPAC-F2F 00:05:42 brsun has joined #webdriver 00:05:50 jocelyn has joined #webdriver 00:05:53 https://www.w3.org/wiki/WebDriver/2015-TPAC-F2F 00:06:01 nsakai has joined #webdriver 00:06:04 Zakim has joined #webdriver 00:07:34 Topic: Bluetooth 00:08:58 simonstewart has joined #webdriver 00:09:07 present+ jyasskin 00:09:21 present+ ato 00:10:08 present+ zqzhang 00:10:12 present +jgraham 00:10:14 present+ brsun 00:10:21 present+ jocelyn 00:10:52 Scribe: wilhelm 00:11:23 wilhelm: topic? 00:13:26 simonstewart has joined #webdriver 00:13:29 sam_: Speaking to people at Google, they're interested in having a cross-platform, cross-browser tests that work. 00:13:56 sam_: We are helping the input event people in the blink team do cross-platform tests. 00:14:04 sam_: They want to do the same for Bluetooth, USB; etc. 00:14:52 jyasskin: The bluetooth interaction model is that the web page calls a function which calls a dialog to select bluetooth devices. 00:15:05 jyasskin: In order to write wpt for this, we have to have a way to control that dialog from the test. 00:15:13 jyasskin: Mock up what device the test is talking to. 00:15:28 jyasskin: The first half of that is essential for any users trying to test the web bluetooth protocol in an automated way. 00:15:51 jyasskin: Simulate the user clicking. Second half less neccessary, they may have a device. 00:16:02 jyasskin: The dialog is something in the browser UI. 00:16:08 jyasskin: FUnction to open it is in the spec. 00:16:27 jyasskin: I've started describing JS functions the test can call. 00:16:35 jyasskin: IT's not clear that is the right way to do it. 00:16:44 Test function specifications: https://webbluetoothcg.github.io/web-bluetooth/tests/ 00:16:53 jyasskin: They run inside the chrome tests. 00:17:55 jyasskin: We have shared tests for a bunch of specs, and they need some functions like this. 00:18:10 jgraham: Faking hardware input is a neccessary step. 00:18:20 jgraham: How do we want to approach this problem on the platform? 00:18:30 jgraham: See also geolocation. 00:18:49 jgraham: I feel like there is an advantage to do this in webdriver. 00:19:10 jgraham: Advantage for people who test their applications. We need to be very careful that it doesn't assume certain UI conventions. 00:19:38 jyasskin: Look at events in spec. The events are all abstract. 00:19:56 jyasskin: You can tell it to scan for bluetooth, dismiss dialog, etc. 00:20:02 jyasskin: Not click on this button. 00:20:26 simonstewart: THe closest we have to this is geolocation in Selenium. 00:20:42 simonstewart: Two interesting use cases: Writing tests, have a device. Your particular use case. 00:21:02 simonstewart: Existing functionality is for the first case. Can also spoof location. 00:21:34 jyasskin: Can you deny the geolocation request? 00:21:38 simonstewart: Not fleshed out. 00:21:59 ato: I don't know if we need the same model as user prompts. 00:22:11 ato: If you decline the dialog, that gives you a response. 00:22:24 jyasskin: The request device call is in response to a user gesture. 00:22:34 simonstewart: Is it modal? 00:22:35 jyasskin: It's close to modal. 00:22:50 ato: In FF, geolocation has a doorhanger. 00:23:00 jgraham: Not modal. 00:23:16 ato: Two forms: tab-modal, global modal. 00:23:24 jgraham: Doorhanger is optional to interact with. 00:23:32 sam_: From Webdriver's POV, this is modal. 00:23:46 jgraham: No, this is an implementation detail. 00:24:02 jgraham: (Compares to alert.) 00:24:05 ato: It's not blocking. 00:24:16 ato: Does not halt script execution. 00:24:51 ato: If you navigate to a page, the user should expect the dialog. 00:25:31 jgraham: What's here would map well to a Webdriver-style API. 00:25:35 simonstewart has joined #webdriver 00:25:48 ato: Current status: WOrking on low-level APIs, primitives. Fleshes out the processing model, the endpoints, how commands are executed. 00:26:02 ato: We're not going to put anything new into the spec. 00:26:21 ato: We think we are at a point where the spec is mature enough that we can start thinking about adding new things. New levels on top of the current spec. 00:26:37 ato: We don't know what it'll look like. Level 2? Extension? 00:26:56 ato: Now is the right time to start thinking about this. Approaching completion of level 1. 00:27:04 sam_: We've been talking about Bluetooth. USB? 00:27:11 jyasskin: Haven't talked directly. 00:27:23 jyasskin: Basic idea is the same. Permission request, remote device. 00:27:35 jgraham: Mocking up the remote device: How do you expect that to work? 00:27:42 jyasskin: In the current spec, there are fake adapters. 00:27:50 jyasskin: That's not what we need for end-user testing. 00:28:12 jyasskin: To help end-users write tests, WD need to completely configure device ahead of time. 00:28:20 jyasskin: Or for WD to act like the device. 00:28:28 jyasskin: More compliated than geolocation 00:28:38 ato: ONe of the limitiations of the WD API. One directional. 00:28:47 ato: Driver can't call the client. 00:29:18 jyasskin: Most of the BLuetooth spec is requests. 00:29:29 simonstewart: The mock device would be a separate process. 00:29:42 simonstewart: You then let the browser do its connection. 00:30:09 sam_: You probably have a lab full of these devices. To automate tests with WD; you need access to the dialog. 00:30:30 simonstewart: How would the user interact with the browser to make it do this? 00:30:36 simonstewart: The device is a separate problem. 00:30:51 simonstewart: Close to geolocaiton. 00:31:07 John: More complex, like the print dialog. 00:31:17 simonstewart: Like the media stuff. Allow/deny. 00:32:16 (More discussion on the continiuum between geolocation and browser-specific dialogs.) 00:33:06 jgraham: To test the implementations, you may need a JS bluetooth device. 00:33:33 jyasskin: Two levels of testing: we want to test an actual device. 00:34:20 jyasskin: I'd like to be able to write tests in JS and have one of the backends control the actual device. 00:34:54 ato: Two ways to mock out bluetooth device. Instead of using the actual device, replace them with this fake list of devices. 00:35:10 ato: Problem with that is that you can't emulate the device output. 00:35:30 ato: Alternative: out of process emulation. 00:36:05 ato: Do you want to test the actual driver that goes out of the browser? 00:36:20 sam_: If you wanted to do that, you can write something that talks to the OS in a way that does that. 00:36:35 jyasskin: Buy a bluetooth radio, configure it as the actual bluetooth device. 00:36:45 jyasskin: Misses firmware issues. 00:36:55 John: YOu can test a lot without going to actual bluetooth. 00:37:10 jgraham: How can we write tests that are shareable? 00:37:32 jgraham: Special kernel module is hard. 00:37:55 jgraham: Can you write a Python script it act as Bluetooth device? 00:38:04 jyasskin: (Refers to Chrome OS implementation.) 00:38:35 jgraham: May be possible to write, running with root. 00:38:53 jyasskin: Mock adapters make a mock layer in the browser, close to the platform abstraction layer. 00:39:23 jyasskin: If we can standardise the calls that are used, it should be shareable. 00:39:46 jgraham: From WPT POV, if we can supply something that provides Bluetooth events, it's shareable. Difficult. 00:40:24 simonstewart: Out of scope for Webdriver, in scope for Bluetooth. 00:40:43 simonstewart: Add to WD spec, or add bits to the other spec. 00:41:15 AutomatedTester: With Marionette, we have a way to switch context. Switch into chrome space, this is what you can expect. 00:41:33 jgraham: Lower level than that. 00:41:59 jgraham: Unless there is a higher level API that would be good enough, you need to build it into the browser on a lower level. 00:42:17 ato: How do you make the output of that device? Preconfigured? 00:42:39 simonstewart: In the browser sounds like tha wrong place. 00:42:57 sam_: It wouldn't be that analogous to geolocation 00:43:04 sam_: An out of process thing. 00:43:20 simonstewart: Writing a BT emulator is a lot of work. 00:43:30 jyasskin: Just Bluetooth low energy. Smaller feature set. 00:43:35 jyasskin: But not tiny,. 00:44:01 simonstewart: To make it shareable, make the emulator in a portable subset of C. 00:44:27 jgraham: If you want to do it at that level, it's platform specific. 00:44:56 simonstewart: How does a device appear to the OS? 00:45:04 jyasskin: A BT device. Radio. 00:45:14 jyasskin: We have a partial implementation in Chrome. 00:45:20 simonstewart: How do I talk to it? 00:45:23 sam_: Stream of data 00:45:33 jyasskin: OS-level API. Not sockets. 00:45:54 jyasskin: Tree of key-value pairs. 00:46:21 jyasskin: YOu can subscribe to notifications from the device. 00:46:27 jyasskin: We want to control when those notifications come. 00:46:39 jyasskin: We want everything to be request-response. 00:46:58 jyasskin: (Describes data exchanged in notifications.) 00:47:25 sam_: How hard would it be to make the key-value tree? 00:47:34 jyasskin: Straightforward to make JS that models this tree. 00:47:50 jyasskin: Verbose, code that crosses boundaries in Chrome. 00:48:23 AutomatedTester: Switching contexts. 00:48:52 jgraham: THe BT stuff is lower level. 00:49:20 jgraham: We have a special type of internal worker that can inject stuff that to the rest of the brower looks like a BT device. 00:49:36 JohnJansen has joined #webdriver 00:49:37 ato: Conceptual worry: tests would not be shareable. 00:50:10 (Discussion on context-switching approach.) 00:51:13 jgraham: Unless you write a OS daemon, you need a mock layer in the browser. 00:51:34 ato: Practically, that would look like an endpoint in WD. 00:51:53 jgraham: The WD side is not the difficult or important part. 00:52:04 ato: Two concerns: Control the UI. Mock it out. 00:52:11 ato: The first is within scope. 00:52:22 ato: Very worried about the second one. 00:52:33 jgraham: THis is the wrong group for the second point. 00:52:51 jgraham: Do we want to make the mock layer in the browser, or closer to the OS? 00:53:15 ato: Starting with the stuff that controls the UI may be a first step. 00:53:54 jgraham: For the other concern, input from browser vendors. 00:54:26 jyasskin: MS supportive, Apple not enthusiastic about BT work. 00:54:43 sam_: We need to figure out how to mock a device. Then talk about endpoints. 00:54:54 ato: Is Google willing to take this on? 00:55:14 sam_: Yes. 00:55:30 jyasskin: I'll put the spec in the BT repo for now, until you guys are ready. 00:56:21 Current draft BT test specification: https://github.com/WebBluetoothCG/web-bluetooth/tree/gh-pages/tests 00:56:38 wilhelm_: Let's use this example to figure out how to do extensions to WD in general. 00:57:19 jyasskin: Simulate user gesture, controlling the dialog, specified in the linked repo. 00:57:26 jyasskin: They may not be correct. 00:58:09 ato: The WD process so far has been based on existing implementations. This is the first feature that hasn't been implemented by anyone. 00:58:34 jyasskin: Planning to work with Mozilla to make sure our tests are interoperable. 00:58:46 jyasskin: We may want to wait until the tests work before getting them into WD. 00:59:42 ACTION: sam_ to coordinate the Webdriver-Bluetooth work 01:00:26 AutomatedTester: For the mock stuff, contact public-test-infra. 01:00:48 ato: I expect no feedback. 01:00:58 ato: Find the right people. 01:02:07 (Discussion on testing in current emulators.) 01:02:33 (Discussion on BT tests in mozilla-central.) 01:03:54 (Discussion on test infrastructure specifics.) 01:06:10 https://www.w3.org/wiki/WebDriver/2015-TPAC-F2F 01:06:11 https://www.w3.org/wiki/WebDriver/2015-TPAC-F2F 01:06:27 Topic: Visibility 01:11:05 jyasskin has joined #webdriver 01:29:50 sam__ has joined #webdriver 01:31:59 gitbot has joined #webdriver 01:31:59 [13webdriver] 15AutomatedTester closed pull request #187: Get Element Attribute: make it actually return the attribute value (06master...06get_element_attribute_fixes) 02https://github.com/w3c/webdriver/pull/187 01:31:59 gitbot has left #WebDriver 01:32:38 scribe: AutomatedTester 01:32:57 Topic: Visibility 01:33:22 ato: while working on the spec for the last 4 months, visibility has been the hardest thing to document 01:33:43 ato: we have ported the atoms 01:34:01 ato: if we look at the specification in section 10.1 01:34:02 https://w3c.github.io/webdriver/webdriver-spec.html#element-displayedness 01:34:53 ato:this is basically a tree traversal algorithm and does a quite number of passes and is not efficient 01:35:33 ato: an option element can have it's own displayedness that is different to it's parent