Minutes from WebApps' 2 November 2010 meeting

The draft minutes from WebApps' November 2 meeting in Lyon are available 
at the following and copied below:

http://www.w3.org/2010/11/02-webapps-minutes.html

WG Members - if you have any comments, corrections, etc., please send 
them to the public-webapps mail list before November 10; otherwise these 
minutes will be considered Approved.

-Art Barstow

    [1]W3C

       [1] http://www.w3.org/

                                - DRAFT -

                           WebApps F2F Meeting

02 Nov 2010

    See also: [2]IRC log

       [2] http://www.w3.org/2010/11/02-webapps-irc

Attendees

    Present
           ArtB, DougS, MikeSmith, Geoffrey, SamW, Maciej, DaveR, Olli,
           Adrian, EliotG, LaszloG, YaelA, AnssiK_SureshC, Dom, Johnson,
           AnneVK, KlausB, Wonsuk_Lee, RichardT, BryanS, KaiH,
           Bryan_Sullivan, Jonas, Pablo, Jeremy, Andrei, BoChen,
           DavidRogers, EricU, AdamB, Anssi_Kostiainen

    Regrets
    Chair
           ArtB

    Scribe
           Mike_Smith, MikeSmith, anne, jorlow

Contents

      * [3]Topics
          1. [4]DOM3 Events
          2. [5]possible plans for console object spec/WG
          3. [6]Audio XG
          4. [7]XHR Testing
          5. [8]XHR2 responseArrayBuffer
          6. [9]Web DOM Core
          7. [10]IndexedDB
          8. [11]Keys
          9. [12]internationalization
         10. [13]Dynamic transactons:
         11. [14]synchronous API
         12. [15]Bugzilla
         13. [16]quotas
         14. [17]blobs
         15. [18]Indexed DB Last Call
         16. [19]File API
         17. [20]FileSaver
      * [21]Summary of Action Items
      _________________________________________________________

    <Barstow>  ScribeNick: MikeSmith

    <Barstow>  Scribe: Mike_Smith

    <Barstow>  Date: 2 November 2010

    <scribe>  scribe: MikeSmith

DOM3 Events

    <shepazu>  [22]http://www.w3.org/2008/webapps/track/products/2

      [22] http://www.w3.org/2008/webapps/track/products/2

    <shepazu>
    [23]http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Event
    s.html

      [23] http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html

    shepazu: first is to our tracker page

    … does not have every issue

    … because CLOSED issues don't show up

    … this reprepsents most of our LC technical comment

    … we figured we might have to go through LC gain

    … we will be adding the locale string

    … as we discussed yesterday

    … we will be making small changes

    … improving wording

    … editorial explanations

    … going to LC again in Jan

    … this time "for reals"

    <scribe>  … pending any upheavals

    … doesn't specifcy evvery possible thing

    … we had a comment from Garrett Smith

    … also from Ample SDK

    anne: Sergei Ilinsky

    shepazu: wansts to modularize

    … and Anne wants to modularize more too

    shepazu: introduces all the things that were in DOM2 events

    … plues text input, keyboard input, one mutation event

    … though we have deprecated all the other mutation events

    shepazu: I think we are more or less fr

    … feature complete

    anne: I'm the editor of DOM Core

    … I think it make sense for DOM Core to define mutation events

    anne: simiilar to how we define Form events inside the Forms spec

    shepazu: we removed some Form-related events and those were moved to
    the Forms spec

    mjs: How about making mutation events die in a fire?
    ... I agree if they have really tight coupling to DOM behavior, it
    makes sense to have them in the same place

    … but tehre are some cases that don't require tight coupling at all

    weinig: some of our chagnes are pending that they don7t break major
    editing sites

    … or goal is to turn it on and see what sites break

    anne:

    smaug_: I don't understand why were are moving mutation events

    … I thought everybody just wanted them removed

    mjs: I thikn the DOM events mechanism really has become part of the
    core

    smaug_: yeah, but some specs may refere DOM events, but don't need
    to use DOM core

    mjs: there is almost no way to use DOM events without also using DOM
    core

    anne: what is an example where it's that case that something relies
    on DOM events but not DOM core

    smaug_: some specs just extend [by adding new events and so don't
    need to reference DOM core]

    shepazu: anne, please explain what you want to move, specifically

    <mjs>  [24]http://www.w3.org/TR/DOM-Level-3-Events/#event-interfaces

      [24] http://www.w3.org/TR/DOM-Level-3-Events/#event-interfaces

    anne: there is a part call "Basic Event Interfaces"

    … it would make sense to split that part out

    shepazu: that is the core of DOM3 Events…

    anne: in addition to that, I think the mutation events should move
    too

    mjs: smaug, I think your dependency argument doesn't work [because
    the dependencies are complex]

    anne: this is implementable in Java

    <mjs>  what I said about dependencies is that DOM3 Events has a
    normative dependency on DOM 3 Core

    <mjs>  so there's no such thing as depending on DOM Events without
    depending on DOM Core

    Art: anybody else have comments?

    adrianba: I don't have a strong opinion about where we go in the
    long term

    … there is plenty of time to talk about it

    … right now there is an Event spec

    … which is what we are targeting in IE9

    … it seems like the wrong time now to start cutting up the problem
    space in a different way

    … let's move the spec forward as it is

    adrianba: we are chartered to work in a new async spec for
    [something like mutation events]
    ... stabilizing what we how now and moving forward seems like the
    right thing

    mjs: my preference would be to move forward but plan [to move things
    to DOM Core later]

    smaug_: I agree

    … let's get DOM3 Events done now

    … DOM Core will take years

    adrianba: we have implemented some of the mutatation events

    … we all understand the problems with mutation events

    anne: I am afraid we are getting stuck with mutation events

    adrianba: we are kind of stuck with them anyway

    shepazu: if you are going to do part of it, it should all be in one
    spec

    anne: what do you mean by all?
    ... I don't think mouse events belongs together with it

    shepazu: I would agree that we should move DOM3 Events forward as it
    stands

    anne: I don't think labeling them as deprecated helps us all that
    much

    mjs: if the number of implementations is increasing, then [clearly
    it's not helping]

    anne: making them async would be a big start

    smaug_: we don't know that that will work
    ... tehre are some other approaches that are not event-based
    ... it is possible to remove some features from the platform

    … it has been done

    shepazu: deprecation is a warning to authors
    ... it's not helpful to remove them from the spec at this point

    weinig: if they were removed from DOM3 Events, would MSFT consider
    not adding them in IE9

    [adrian shakes his head]

    shepazu: they are only supporting some of them

    adrianba: we are supporting them for interoperability reasons

    shepazu: they are in the spec because implementors asked for them to
    be in the spec

    art: I noticed big list of issues

    shepazu: a bunch of them are from David Flanagan

    [book author

    shepazu: Oli, Travis, Jacob Rossi, myself discussed them

    … we have agreed already to accept most of the comments

    … and have heard no objections from the list

    shepazu: event.timestamp is one that we have still be discussing

    art: can you do all 50 0f these by the end of the year?

    shepazu: we can round-trip on these by end of January
    ... if nobody has more comments, let's move on

    art: we don't have our next topic scheduled until 11am

possible plans for console object spec/WG

    shepazu: a lot of people have said why don't specify the console
    object

    weinig: we just copied the console api into Webkit

    mjs: there are a few things around console that are
    Web-compatibility issues
    ... having to do with devs using console calls into their scripts
    even after they have done debugging

    weinig: there are a couple problems
    ... we don't think operations on the console should be visible to
    Web pages

    … we made some mistakes around that

    mjs: the fact that console.log exists and doesn't have potentially

    ->  [25]http://getfirebug.com/wiki/index.php/Console_API Console API

      [25] http://getfirebug.com/wiki/index.php/Console_API

    adrianba: we having implemented the console in IE8-IE9
    ... there is a session tomorrow to discuss a new community-driven
    spec-dev approah

    … this might be a good case to use as a pilot

    … for that approach

Audio XG

    shepazu: about 6 months ago, we got in contact with some devs who
    were working on an api from programatically writing and reading
    audio streams

    … and we started in Incubator Group

    … XG

    <Barstow>  Audio XG Charter:
    [26]http://www.w3.org/2010/04/audio/audio-incubator-charter.html

      [26] http://www.w3.org/2010/04/audio/audio-incubator-charter.html

    shepazu: and right now, Mozilla has a related API they have have
    developed

    … and Googl Chrome team has a related API as well

    shepazu: and we have decided to start a new WG

    <Barstow>  Audio XG's mail list archive:
    [27]http://lists.w3.org/Archives/Public/public-xg-audio/2010Oct/

      [27] http://lists.w3.org/Archives/Public/public-xg-audio/2010Oct/

    <Barstow>  Mike: Chrome team is working on this API

    <Barstow>  ... think we want broader participation

    shepazu: we would probably start the WG by February or so

    Barstow: we will be back at 11am with anne at the podium
    ... XHR1 test suite, and XHR1 issues

    [we take a 1 hour break:

    <anne>  [28]http://bitbucket.org/ms2ger/domparser

      [28] http://bitbucket.org/ms2ger/domparser

    <ArtB>  ACTION: barstow ask Doug for a pointer to Google's "Before
    Input Proposal" [recorded in
    [29]http://www.w3.org/2010/11/02-webapps-minutes.html#action01]

    <trackbot>  Created ACTION-608 - Ask Doug for a pointer to Google's
    "Before Input Proposal" [on Arthur Barstow - due 2010-11-09].

    <ArtB>  issue-119?

    <trackbot>  ISSUE-119 -- Consider adding input/keyboard locale to
    text and keyboard events -- open

    <trackbot>  [30]http://www.w3.org/2008/webapps/track/issues/119

      [30] http://www.w3.org/2008/webapps/track/issues/119

    <Barstow>  ScribeNick: timeless_mbp

    <timeless>  ScribeNick: timeless

XHR Testing

    Scribe+ timeless

    ArtB: Anne will be talking about XHR Level 1 Test Suite

    <anne>  [31]http://tc.labs.opera.com/apis/XMLHttpRequest/ and
    [32]http://tc.labs.opera.com/svn/apis/XMLHttpRequest/

      [31] http://tc.labs.opera.com/apis/XMLHttpRequest/
      [32] http://tc.labs.opera.com/svn/apis/XMLHttpRequest/

    … and Level 1 issues

    anne: XHR Level 1 went to CR

    … which means it's awaiting implementations

    … of course XHR has been implemented long ago already

    … there is a test suite which has been announced on the list

    … but there has been little response

    … Since people are here now, I guess I can ask people directly

    sicking: I haven't looked at the testsuite yet, but is it fully
    automated?

    anne: you need a test harness, but it is automatic loaded a test
    says PASS/FAIL

    sicking: i think one of our desires is that things be as automated
    as possible

    anne: I agree

    <anne>
    [33]http://tc.labs.opera.com/apis/XMLHttpRequest/abort-during-done.h
    tm

      [33] http://tc.labs.opera.com/apis/XMLHttpRequest/abort-during-done.htm

    … ? there is a testharness that it's written for which is used for
    other testsuites from this group

    [ anne describes how individual tests are structured ]

    adrianba: how much has the test suite changed recently?

    anne: the framework changed to make it the same as the HTML WG

    … quite a few changed because a number weren't matching the spec
    anymore

    … the old testsuite was quite outdated

    … some tests have been removed

    … the number of tests has gone down. because some test assertions
    were combined into single test

    dom: did you follow any specific method to ensure every feature has
    been tested?

    anne: um, no

    … i tried reading carefully to ensure everything is covered

    artb: do you think anything is missing?

    anne: there's an open item in the issue database about credentials
    in urls

    … the tests around that and authentication are not done yet

    <dom>  (should known bugs in the test suite be documented somewhere?)

    <timeless_mbp>  bryan: did you want to test posts?

    <timeless_mbp>  … for redirects (?)

    <timeless_mbp>  anne: i didn't want to because HTTP Biz is still
    undecided on some of this

    <timeless_mbp>  … 301/302/307 ...

    <timeless_mbp>  sicking: another thing is that Mozilla + Opera
    include dialogs on 307

    <timeless_mbp>  … it's sort of a requirement in the HTTP spec

    <timeless_mbp>  … but they don't have it for direct address

    <timeless_mbp>  … they're ratholes, so not tested yet, once they're
    resolved they'll be tested

    <timeless_mbp>  anne: the only accessible methods are GET and POST

    <timeless_mbp>  sam: didn't hixie add DELETE?

    <timeless_mbp>  anne: we got him to remove it

    <timeless_mbp>  anne: Trailers aren't tested yet, because i didn't
    know about them or how to test them

    <timeless_mbp>  sicking: so do we have to test them?

    <timeless_mbp>  anne: i might be able to test things w/ nph-

    <timeless_mbp>  … but i'm not sure what to expect

    <timeless_mbp>  sicking: trailers are after the response body

    <timeless_mbp>  anne: so i guess the text that talks about the
    response body would have to talk about changing the state

    <timeless_mbp>  … as far as i'm concerned, we don't need to support
    it

    <timeless_mbp>  … for readyState changes

    <timeless_mbp>  … but do you go to the done state

    <timeless_mbp>  sam: you said the php scripts are available in an svn
    server?

    <timeless_mbp>  anne: yeah, it was the second link i posted

    <dom>
    [34]http://tc.labs.opera.com/svn/apis/XMLHttpRequest/resources/

      [34] http://tc.labs.opera.com/svn/apis/XMLHttpRequest/resources/

    <timeless_mbp>  artb: i assume the action then is for everyone to
    help this spec reach the exit criteria

    <timeless_mbp>  … is to review the tests

    <timeless_mbp>  anne: i assume there are some spec/test items which
    need fixing

    <timeless_mbp>  … there's one other small test which might need
    fixing

    <timeless_mbp>  … Björn Herman

    <timeless_mbp>  … pointed out byte order mark character

    <shepazu>  s/Byorn Herman/Björn Höhrmann/

    <timeless_mbp>  artb: we had set expectations that we wouldn't exit
    CR before Feb 2011

    <timeless_mbp>  sicking: which is two conforming implementations?

    <timeless_mbp>  anne: I don't think that's likely to happen

    <timeless_mbp>  … I would encourage people to review the editor's
    draft instead of this

    <timeless_mbp>  … because there have been some changes to make this
    closer to XHR2

    <timeless_mbp>  … removing some throw conditions to enable CORS

    <timeless_mbp>  … those have been reflected in the testsuite already

    <timeless_mbp>  … i try to keep the testsuite and the draft in sync

    <timeless_mbp>  … that also means that if you implement to the
    testsuite, there shouldn't be any conflicts with XHR2

    <timeless_mbp>  … if there are, that would be a bug

    <timeless_mbp>  anne: i'm not sure if we want to discuss any of the
    issues now

    <timeless_mbp>  artb: that's up to you, we have some of the people in
    the room

    <timeless_mbp>  anne: one of them is the user info protection in the
    urls

    <timeless_mbp>  … i think microsoft doesn't implement it

    <timeless_mbp>  … and i think the other vendors do

    <timeless_mbp>  … so that you can have [35]http://user:pass@host/...

      [35] http://user:pass@host/...

    <timeless_mbp>  anne: I think the HTTP people want to remove it

    <timeless_mbp>  sicking: I think we could try to remove it

    <timeless_mbp>  sicking: does the spec say they must be supported?

    <timeless_mbp>  anne: the http url spec does mention them

    <timeless_mbp>  anne: does the url get sent to the server?

    <timeless_mbp>  sicking: it might leak in the form of a referer
    header

    <shepazu>  scribenick: timeless

    sicking: i'm sure the url testsuite ...

    anne: they are mentioned in the spec

    … the spec has user and password arguments

    … which are used to set authorization headers (?)

    … if we don't remove it ...

    anne: there is an issue in the bug database, i think it's the only
    open issue at this point

    <Zakim>  shepazu, you wanted to describe policy on php in test suites

    shepazu: so dom followed up with the Systems Team on PHP tests

    … we just got confirmation that we will be hosting the php tests

    <Barstow>  ACTION: barstow XHR: add link to bugzilla in PubStatus
    [recorded in
    [36]http://www.w3.org/2010/11/02-webapps-minutes.html#action02]

    <trackbot>  Created ACTION-609 - XHR: add link to bugzilla in
    PubStatus [on Arthur Barstow - due 2010-11-09].

    … any tests that involves PHP will require review by the Systems
    Team

    … they will be hosted on the load balancing servers

    anne: which servers?

    dom: they'll be hosted on test.w3.org
    ... it would be helpful if you moved to the mercurial server

    anne: i think there's a version there

    … but probably not up to date

    shepazu: the process will be such that you let us know when there's
    a specific version you want deployed

    … it will not be deployed until the systems team reviews it

    shepazu: i think this will come up a lot

    anne: there's also the web sockets stuff

    dom: i think that is more complicated and will require more work

    … i think we can manage, it requires more work

    shepazu: for cross domain work, i think we'll need another domain

    adrianba: we already have "test" and "test2" which are cnames

    dom: if you are working on any test suite that has server side
    things, please get in touch with the Systems Team early

    anne: if you really want to test the really gritty networking stuff

    … I think you will need HTTPS, certificates, DV, EV, OV,...

    shepazu: those are good points

    … Philippe is starting a new testing project

    … so setting up a little test honey pot might be possible

    dom: in general i think what's important is getting things to the
    REC track, so get in touch with Systems Team earlier rather than
    later

    <scribe>  ScribeNick: timeless

    artb: anything else about XHR or its testsuite?

    anne: no. apart from asking people to review/give comments

    bryan: is it easy to set up?

    anne: yes, there's a readme

    <dom>  (can we record an action to update the test suite on
    dvcs.w3.org?)

    artb: based on the feedback you've got so far on the XHR1 candidate

    Action anne update the test suite on dvcs.w3.org

    <trackbot>  Created ACTION-610 - Update the test suite on dvcs.w3.org
    [on Anne van Kesteren - due 2010-11-09].

    anne: Before going back to last call
    ... make sure that we have two implementations that pass all the
    tests
    ... and that the specification has all the implementations passed
    that
    ... so that when we go back to LC we can go to PR after that
    (skipping CR)

    artb: the third bullet for this hour is a general discussion about
    testing
    ... and we've already gone down that path quite a bit

    anne: we could discuss responseArrayBuffer briefly
    ... i'm not sure we could reach a conclusion now

XHR2 responseArrayBuffer

    sicking: I do have something to say on this
    ... So, the complicated issue is that...
    ... there's multiple topics
    ... the whole ongoing discussion right now about parsing...
    ... all requests into all response properties
    ... (Boris Z)
    ... what i'd like to do is move away from the current situation
    ... where we parse into multiple properties
    ... which is the XHR1 behavior
    ... I want to move to a way where you specify up front which thing
    you want

    adrianba: I think that makes sense
    ... so if you know it's coming as JSON or you want it as a Blob, you
    can specify that

    sicking: obviously we need to retain compatibility with XHR1
    ... and the stuff where you get a document

    anne: this sounds kind of annoying

    sicking: while it is nice to have things nice to have things parsed
    into everything
    ... it's only nice if you don't have to consider all the resources
    used
    ... what we're talking about is Document

    anne: but you only need to create Document once it's requested
    ... you don't have to do it all up front

    sicking: in our implementation
    ... we'll do charset-decoding differently depending on whether we're
    parsing into a document or not
    ... so responseText changes depending on whether you have a document
    ... and the spec requires this
    ... everything else, JSON, Blobs, streams...

    anne: streams?

    sicking: we'll end up having to do it

    adrianba: streams for media...

    sicking: you can't set headers without this

    adrianba: or you might want to process the data as it arrives

    [anne was asking about using<video>  ]

    sam: we don't have to convince anne about streams
    ... more things will be using new content formats

    geoffrey: there will be more and more kinds with time

    anne: this screws with content negotation

    [ scribe laughs ]

    sicking: one of the aspects of my proposal is that you can set
    .responseType after headers are received
    ... but before any data has been processed

    anne: how would it work for sync requests/

    sicking: we'd fire events

    anne: but they're blocked by the sync request

    sicking: you can't fire an async request, but you can fire a sync
    event
    ... that's trivial implementation-wise
    ... you just run code on the main thread

    anne: that sounds hairy

    smaug: we explicitly want to get rid of ready state change events
    ... because that causes hanging in safari

    adrianba: i think it's fine to not support sync requests for this
    new feature
    ... because we want to push people toward async

    jonas+sam: for workers sync requests are fine

    anne: i'm saying you're opening a rathole

    mjs: so what are we specifically talking about?

    geoffrey: this was for when we receive content headers

    anne: i don't think we should really fire events during a sync
    request
    ... because conceptually that's confusing/seems really weird

    mjs: there's generally a separate thread buffering the data from the
    network

    sam: the buffering is already happening
    ... anyone doing network handling on the main thread is probably
    doing something really wrong anyway

    sicking: i'm suggesting this *only* for workers

    anne: I guess I would have to reference Workers from XHR2

    sam: we kind of think of sync as deprecated in the main context now
    ... so adding features and having them exposed for the non workers
    case is kind of like whatever

    mjs: even in workers, i think it makes sense to encourage people to
    have multiple concurrent requests
    ... by not providing this feature for sync

    sicking: i'm not sure that this has taken off

    artb: time check
    ... we have test suites we've already covered
    ... and you have ...

    sicking: i posted my original proposal on content negotiation to the
    list
    ... it's a long thread
    ... i had one more issue on byte array
    ... have you seen the proposal on the ecma list
    ... about another binary format?

    anne: i'm not on the list
    ... i think it should align with webgl

    <MikeSmith>  sicking, url?

    sicking: it's a long discussion
    ... i'll try to find the url

    anne: i don't mind removing endianness
    ... but it would have to be aligned about webgl

    sam: the reason for the endianness is that you want things in host
    byte order for webgl

    sicking: not all details are worked out yet
    ... the idea is to have it be fast
    ... but without exposing platform endianness
    ... the problem is that you're talking between two languages, JS and
    GLSL
    ... david herman is the guy who made the proposal

    <anne>  GLSL = OpenGL Shading Language

    <sicking>
    [37]http://wiki.ecmascript.org/doku.php?id=strawman:binary_data

      [37] http://wiki.ecmascript.org/doku.php?id=strawman:binary_data

    <sicking>
    [38]http://wiki.ecmascript.org/doku.php?id=strawman:binary_data_sema
    ntics

      [38] http://wiki.ecmascript.org/doku.php?id=strawman:binary_data_semantics

    <sicking>
    [39]http://wiki.ecmascript.org/doku.php?id=strawman:binary_data_disc
    ussion

      [39] http://wiki.ecmascript.org/doku.php?id=strawman:binary_data_discussion

    artb: before we go on to DOM Core, I wanted to set aside a few
    minutes for testing

    <Guest724>  anne , t'es fran�aise ?!

    adrianba: we submitted tests for the webapps and html WGs

    <adrianba>
    [40]http://dvcs.w3.org/hg/webapps/file/5814514eeba4/tests/DOMEvents

      [40] http://dvcs.w3.org/hg/webapps/file/5814514eeba4/tests/DOMEvents

    adrianba: i'd like to move away from a system where we have a
    different process per spec for submission
    ... we have some tests which we have committed to the mercurial
    repository - i just pasted the link
    ... when I was talking to doug, he was trying to develop tests
    alongside the spec
    ... we/he found that if you develop tests as you develop the spec,
    it's easier to find spec issues
    ... there's a question of where to put tests as things are developed
    ... and keep aware of which things are agreed upon tests. which are
    under development. which aren't agreed

    sicking: we should try to require tests to be automatically runnable

    <Barstow>  ACTION: barstow work with Team and Chaals on formalizing
    test suite process for WebApps [recorded in
    [41]http://www.w3.org/2010/11/02-webapps-minutes.html#action03]

    <trackbot>  Created ACTION-611 - Work with Team and Chaals on
    formalizing test suite process for WebApps [on Arthur Barstow - due
    2010-11-09].

    anne: ... whenever possible

    adrianba: i think the work that anne did to refactor the XHR test
    suite to use the same framework as the HTML tests
    ... he should receive credit for that, because it made things much
    easier to review

    sicking: when mozilla started adding tests to a framework
    ... it made things much better
    ... So if we have a formalized framework, and we should pick one,
    and force everyone [in the webapps WG] to use that one

    artb: for new tests...

    shepazu: certainly most of the tests around browser stuff should use
    the same framework
    ... there's probably some stuff in W3C outside of browser context
    where this doesn't make sense
    ... the SVG group has also agreed to move to the same framework
    ... with SVG2, things are not going to go into the spec without
    having tests added
    ... until we do that, we'll mark things as under review
    ... I guess i'm just offering a +1 for a common framework as much as
    possible
    ... have we talked about testing with WebIDL?
    ... because if you describe stuff in a spec with webidl, you're
    going to be able to extract that and do a certain amount of
    automated tests
    ... or not?

    sicking: i'm more of a fan of handwritten tests
    ... i'll believe it when i see it

    dom: there was a perl tool that i mentioned on public-script-coord
    ...
    ... that generated tests from idl
    ... But I agree with jonas that it's better to start with manual
    tests

    adrianba: the model that creating things is that you can use
    automatic creation to simplify basic generation of simpler tests to
    supplement hand-written tests

    sicking: at mozilla we're also looking into automatically testing
    things that aren't automatically testable
    ... such as testing interacting with a file picker
    ... things which require apis which aren't web accessible

    AnssiK: about functional testing... do you have things other than
    unit testing?

    sicking: what we do is that we expose a lot of stuff to javascript
    ... to have javascript override the dialog
    ... we can also fake real clicks on things
    ... it's being rewritten because the way we did it is not good

    <dom>  [42]perl tool to generate test cases based on WebIDL

      [42] http://lists.w3.org/Archives/Public/public-script-coord/2009OctDec/0067.html

    AnssiK: there's a thing called sellenium

     [43]http://en.wikipedia.org/wiki/Selenium_(software) ]

      [43] http://en.wikipedia.org/wiki/Selenium_(software)

    scribe: which is cross browser

    <AnssiK>  s/sellenium/Selenium/

    sicking: we're using a somewhat different approach

    shepazu: when i tried to do test first / test in parallel
    ... i unfortunately failed
    ... i couldn't get the resources together in order to do that

    <adam>  Selenium can be automated using something like Hudson
    [44]https://hudson.dev.java.net/

      [44] https://hudson.dev.java.net/

    shepazu: do people find testing in parallel to develop tests at the
    same time as developing the spec

    David: with WAC we made sure that there are Test Assertions as you
    write the spec

    <dom>  [45]A Method for Writing Testable Conformance Requirements

      [45] http://www.w3.org/TR/test-methodology/

    David: the outcome of what you want can be written out as the spec
    is written
    ... you have a test description file that links back to the spec

    shepazu: is there interest in imposing this on the WG?

    artb: yes, I took an action to work this out
    ... we'd put forward a proposal to the WG
    ... no one objected

    adrianba: i volunteered testing resources

    david: we strongly support any work in testing

    <adrianba>  s/i volunteered testing resources/i volunteer to help
    define the process proposal/

    david: we've had complaints in WAC, the other stuff has been quite
    difficult for us to test (for lack of tests)

Web DOM Core

    anne: DOM Level 3 Core was a REC a long time ago
    ... there's various differences in what web browsers implemented and
    what the spec says

    [ anne describes differences ]

    <Barstow>  ArtB: Web DOM Core abstract:
    [46]http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#abstrac
    t

      [46] http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#abstract

    anne: there are a few things HTML5 currently defines, which I think
    should be moved back to DOM Core
    ... like what createElement does

    <shepazu>  [here's a short analysis of a case of WRONG_DOCUMENT_ERR:
    [47]http://www.schepers.cc/svg/blendups/scriptbridge/scriptbridge-in
    sertBug.html ]

      [47] http://www.schepers.cc/svg/blendups/scriptbridge/scriptbridge-insertBug.html

    anne: and defining what Document.charset/Document.defaultCharset/...
    are.
    ... but leaving HTML to define when it sets them
    ... there's a more ambitious goal of getting rid of AttrNodes

    [ sicking talks about DOM UserData]

    sicking: i'm surprised no one has got requests for them

    sam: we have
    ... but in the past we've said can't you use set property?
    ... and that's been good enough for them

    sicking: but you could get conflicts with future specs
    ... yeah i'm all for getting rid of AttrNodes
    ... i was talking to travis from Microsoft about it
    ... we might need to add ownerElement on the Attr
    ... the main goal is to make them not be nodes

    anne: this would move the namespaceURI away from Node

    sicking: attribute nodes, i know we keep having security issues with

    anne: the other things, it would be nice to get rid of, but it isn't
    terribly important
    ... namespaceURI is only relevant for Element and Attr

    sicking: it's useful for simple traversal

    anne: the main reason is to avoid casting in Java

    sicking: forms does the same thing, so you can iterate the
    forms.elements array
    ... so you can avoid checking the type before getting properties

    anne: but what would you be doing?

    sicking: ...i don't know...

    artb: so, this afternoon will be IndexDB, chaired by Anne

    sicking: is anyone else planning to try to start removing these
    things?

    anne: we don't want to lead

    sam: webkit would be interested in trying in nightlies

    anne: we have already removed DOM UserData by not implementing it

    sam: I have done the same for years, by not implementing it

    anne: we are not actively removing things, but we have tried to
    restrain ourselves from implementing things
    ... we would really like the Attr thing

    sam: Are there any NodeLists that return Nodes other than Elements?

    anne: there were. but I tried to kill those
    ... maybe there are no longer

    Break for Lunch

    <anne>  arun, you there?

    <anne>  arun, you want to dial in for Indexed DB?

    <MikeSmith>  arun: you got a Skype ID?

    <arun>  Hi there Mike

    <MikeSmith>  hey man

    <arun>  MikeSmith: I'd like to dialin if possible.

    <arun>  anne: I'd like to dial in if possible.

    <MikeSmith>  scribe: MikeSmith

IndexedDB

    <adam>  Adam Boyet - Boeing

    Paulo: there is a list of topics on the mailing list

    <anne>
    [48]http://lists.w3.org/Archives/Public/public-webapps/2010OctDec/04
    13.html

      [48] http://lists.w3.org/Archives/Public/public-webapps/2010OctDec/0413.html

    <adrianba>
    [49]http://lists.w3.org/Archives/Public/public-webapps/2010OctDec/04
    13.html

      [49] http://lists.w3.org/Archives/Public/public-webapps/2010OctDec/0413.html

    s/Paulo/Pablo/

    pablo: shall we do Keys?
    ... keys and tables… what we have today is simple keys

    … compound keys, custom orders

    <anne>  Indexed DB:
    [50]http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html

      [50] http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html

    …e.g., by date + by integer

    … key value would be an array

    sicking: not sure what syntax we should use

Keys

    sicking: one proposal was array of "key paths"

    jorlow: compound keys, being able to have arrays in your keys;
    another thing is compound indexes

    pablo: can't we reduce that to the same problem?

    jorlow: one or part of the structure of the DB, one is something you
    can do more ad hoc

    … key could be array one time, a string or something else the next

    <anne>  who is +1.408.446.aabb? Nikunj?

    <Nikunj>  Nikunj

    <anne>  kk

    <anne>  screw you Zakim

    pablo: rule of strictly sorting by type, then sort by value is very
    sharp

    jorlow: another question is, what do we want to do if you ahve a key
    path to "foo" and you insert an item that doesn't include a "foo"

    [discussion about what to do if a key path resolves to an array]

    sicking: every place where we currently allow values we should also
    allows arrays

    [discussion about difficulty of implementing]

    [sicking demonstrates with some code]

    Option A is an array is just a single value

    s/Option A/pablo: Option A/

    jorlow: example is that people can have multiple names, and you can
    construct an index such that multiple names map to the same person

    pablo: I am not sure about composite keys made of arrays

    sicking: the 2nd case is multiple records pointing to the same
    object store

    <Nikunj>  I thought that composite key means there are many parts to
    a key and that the parts are obtained from different paths

    <Nikunj>  The discussion seems to be about a single path resolving to
    multiple values

    sicking, see Nikunj comment

    sicking: Nikunj, I agree with your interpretation

    jorlow: yeah, agreed
    ... what are we going to do in teh case where you are inserting a
    value that doesn't include something for a key path

    e.g., you are inserting a person and you don't include a first name,
    and the first name is the key

    <Nikunj>  Multiple keys in an index pointing to a single object is
    not the same use case as compound key

    jorlow: pablo, you seem to be worried that any handling of arrays is
    going to be a lot of work

    <Nikunj>  The latter is about constructing a key serialization from
    multiple keypaths

    <Nikunj>  The former changes the meaning of a key

    <Nikunj>  there is a difference between composite and compound keys

    <Nikunj>  See [51]http://en.wikipedia.org/wiki/Compound_key

      [51] http://en.wikipedia.org/wiki/Compound_key

    sicking: in solution A we can have a mix of values and arrays.

    jorlow: should be allow keys to be indexes?
    ... the only use case is, search on multiple keys
    ... use case 1 is, my DB has people in it, with first name and last
    name

    … and I want to search for everybody who has both a certain first
    name and a certain last name

    jorlow: use case 2 is @@something @@
    ... 3rd possibility is first-name entry, last-name entry, then an
    entry that has both that duplicates the first two

    <jorlow>
    [52]https://docs.google.com/document/edit?id=1IImAV3hzdqhaiaYfKzb-GW
    lCgKUDQX3wiXPkqjFFFWg&hl=en&authkey=CIHTwIIM

      [52] https://docs.google.com/document/edit?id=1IImAV3hzdqhaiaYfKzb-GWlCgKUDQX3wiXPkqjFFFWg&hl=en&authkey=CIHTwIIM

    jorlow: choice is, do you want users to have to duplicate their
    data? or do you want to have duplicated indexes

    s/@@something @@/database contains people, find person with name
    "foo", be that first or last name/

    anne: so there's no AND ?

    jorlow: there's no query language

    Nikunj: I am not sure you need composite keys nor compound keys

    jorlow: specifying a join language is a very big task

    … for that, you can take whatever we've done so far here and
    multiply it by 100

    Nikunj: I am looking for a join _primitive_

internationalization

    pablo: scenario is, you expect sort order to be in accord with your
    language

    <Nikunj>  See
    [53]http://www.w3.org/TR/2009/WD-WebSimpleDB-20090929/#entity-join
    for a description of the join primitive

      [53] http://www.w3.org/TR/2009/WD-WebSimpleDB-20090929/#entity-join

    sicking: question is, are we happy with having a language on a
    DB-wide basis? [as opposed to per object store]

    <anne>  [54]http://unicode.org/reports/tr10/

      [54] http://unicode.org/reports/tr10/

Dynamic transactons:

    jorlow: my vote is, don't do it

    <Nikunj>  What is the current topic?

    <anne>  Transactions

    <anne>  ... all transactions have time-consistency

    <anne>  ... how implementations achieve that is up to the
    implementation

    <anne>  ... for writers you can only have one writer happening at the
    time

    <anne>  ... unless they are separate object stores/tables

    <anne>  ... you could figure out the overlap and be very smart...
    whatever (something like that)

    <anne>  ... should be some more non-normative text that explains this

    <anne>  JS: if you start two transactions; is there any guarantee
    with respect to order?

    <anne>  JO: I don't think so; get weird behavior with locking; would
    be shame as we get less concurrency

    <anne>  JS: what if there is overlap

    <anne>  JS: read, readrequest, write, writerequest

    <anne>  JO: no order guaranteed

    <anne>  JS: sounds very racy

    <anne>  JO: if you cared do not start them at the same time

    <anne>  Pablo: I don't think it is strictly a race

    <anne>  JO: what is the use for starting them at the same time?

    <anne>  Pablo: there should not be starvation

    <anne>  JS: already says that

    <anne>  JS: in Firefox there's no raceness and you always know the
    order

    <anne>  JS: and no starvation either

    <anne>  JO: I can't think of any reason you start these and expect
    them to run in the same order

    <anne>  thank you darobin

    <anne>  Pablo: workers also introduce these problems

synchronous API

    <anne>  within one worker you can only have one transaction

    <anne>  that assumes requiring locks is in order

    <anne>  make minutes

    <mjs>  ScribeNick weinig

    <weinig>  js: you already have to lock tables

    <weinig>  js: we have to make the transaction function take a
    callback

    <weinig>  pablo: why can't we make the second transaction fail

    <weinig>  js: it would be very confusing for two independent
    libraries to interact together

    <weinig>  pablo: that syntax seems very unwieldily

    <weinig>  jo: the function is just defining scope

    <weinig>  js: transactions within the function will throw

    <weinig>  jo: is anyone planning to implement sync

    <weinig>  jo: should we have a warning in the spec?

    <weinig>  jo: editors should try and keep sync and async in sync

    <weinig>  pablo: is everyone planning on doing async in main context
    and sync and async in workers?

    <weinig>  everyone: yes

    <Nikunj>  can implementors provide an update on their implementation
    status/plans

    <weinig>  pablo: should transactions be allowed in transactions?

    <weinig>  jo: maybe we should have an open nested transaction

    <weinig>  pablo: everything you would need to do you can do off the
    transaction

    <weinig>  pablo: lets ignore the last few lines

    <anne>  scribe: anne

Bugzilla

    RESOLUTION: not automatically assign to Nikunj; MikeSmith to follow
    up

    We have room number 4 all day tomorrow

    times to be announced

    <MikeSmith>  if the problem is that Nikunj is not in the tracker DB I
    can add him now

quotas

    Pablo: by default we are not going to let apps fill the disk; so
    what to do

    <MikeSmith>  trackbot, status?

    Pablo: lots of degrees of freedom

    MikeSmith, it would be nice if it was assigned to a nobody instead
    since Nikunj is not the only editor

    <MikeSmith>  hai

    <MikeSmith>  I will change it now

    Pablo: bytes are not necessarily meaningful as a unit

    great

    Pablo: first attempt to use the database; anything the app needs to
    do?

    SQL DB estimated size argument was very confusing

    Dealing with size constraints:

    1) no API impact

    Chrome has a hard limit (with a non-specced error)

    conclusion seems to be that some kind of quota error is needed

    the spec does not say you create the index asynchronously

    JO: i think it is implied

    Pablo: it should be explicit

    JO: i think it is in there, maybe should be more explained
    ... if it fails it fails the transaction

    Does there need to be a way for asking for more space?

    adrianba: in SilverLight we wanted to give the app more control
    ... if e.g. you download a huge file you do not want the UA to have
    to ask and ask again
    ... but instead allocate once

    JO: use cases are caching and some kind of permanent storage (i.e.
    offline written email)

    Pablo: impossible for us to decide

    s/permanent/persistent/

    JO: in Chrome we plan to group APIs together
    ... if you get 10 MB you can use it for several APIs

    AvK: for the hint for the pre-allocation of memory case it should be
    a generic API if we are heading in that direction

    JO: for the persistant vs temporary case that should be noted on the
    object store
    ... maybe change createObjectStore (or something like that) to take
    this as parameter

blobs

    adrianba: how long do blobs persist?

    JS: tied to the Window object

    Eric: if you want to change a Blob you create a new one
    ... you cannot create a File at the moment
    ... a file has a last modified time and a name

    Pablo: I'm assuming when you store it in the DB it is a copy

    JS: I hope Indexed DB to be enough
    ... not need a File System
    ... I don't want File System to have a capability that Indexed DB
    does not

    which is that you can modify a file that is stored

    (if the scribe gets it correctly)

    [questions on this topic are best asked on the list]

Indexed DB Last Call

    JO: should we set goals

    adrianba: address the existing issues

    JO: full text search is important
    ... not gonna be efficient with what we have now
    ... full text search is extremely important to Google

    <arun>  Full text search was important to external developers as
    well.

    JO: I hope that one or two changes to the API can make this possible
    ... I want to get proof first, before adding something to the
    specification

    synchronizing...

    Pablo: some kind of tracking

    tombstones?

    [further discussion on list]

    arun, you still here?

    <arun>  anne, yep

    cool

    I guess Jonas can go through the File API mostly

    might be tricky over the phone

    <arun>  anne, it's cool. I can hear you guys really clearly

    <arun>  anne, if I need to speak I'll just speak up.

    <arun>  anne, you can refer to the email I sent about agenda stuff if
    you like.

    [55]http://www.w3.org/2008/webapps/wiki/TPAC2010

      [55] http://www.w3.org/2008/webapps/wiki/TPAC2010

    [56]http://dev.w3.org/2006/webapi/FileAPI/

      [56] http://dev.w3.org/2006/webapi/FileAPI/

File API

    <arun>  anne is the URL string trouble maker

    <jorlow>  scribe: jorlow

    anne, doesn't like adding 2 more methods to window

    arun, any other solution is back to the drawing board

    anne, vendor prefixing might help limit usage

    anne, but we still need to find the right solution

    ericu, stuff put on the global object so that stuff is tied to the
    lifetime of the window

    jonas: when window is nagivated away, all urls are revoked

    sam: you can do that regaurless of the syntax

    ericu: what about if you pass from one window to another? this is
    more explicit

    sam, disagrees

    jonas, is fine with other suggestions. thinks reusing url is weird
    because it's only somewhat related

    sam, so you could just have a blobURI object

    jonas, an object might make sense....something about domURL

    anne, don't you want to stringify it as well?

    jonas, no

    jonas, you'd create an object from a string

    anne, you're still not solving the problem

    jonas, trying to solve 2 problmes

    jonas, something so we don't create strings...for that, need to
    create a new type of interface...call it domURL for now

    anne, domURL could be some union type of blob and stream

    jonas, don't want create to be through some constructor and revoke
    through a completely different api

    jonas: we coudl create a global dummy object with both methods

    arun: is it worth make global dummy object the same thing being
    specced by adam barth

    no

    jonas: abarth's thing is to solve parsing urls. this isn't want we
    need to do with blob urls

    anne: not so sure

    jonas: there's a vague resemblance given that they both revolve
    around URLs

    sam: agrees
    ... especially since adam's thing doens't exist yet
    ... can we discuss other things?

    jonas: the proposed solution is some global object where we put 2
    functions

    anne: is there some existing place we could put them?

    sam: maybe window.blob? but you want to do it for stream too so
    maybe that's not a good place

    ericu and others: k, let's move on

    <timeless>  s/coudl/could/

    <timeless>  s/doens't/doesn't/

    sam: 2 questions. file list has been redefined to be a sequence of
    files rather than a simple object. our implementation has file lists
    like node lists. sequence doesn't have an item function.

    anne: cameron said sequence isn't for that type of thing

    jonas: saw hixie open a bug on something similar today

    sam: in the mean time, should we go back to the simple interface?

    anne: file lists should probably follow others

    general agreement

    sam: file reader + write have event handler attributes but don't
    inherit from event target.

    arun: it does

    sam: sees it...what about writer?

    ericu: if so, it's a bug

    anne: we should have some consistency

    sam: using implements probably makes sense (vs. inheriting) in the
    spec

    arun: agrees with sam

    anne: XHR inherits

    sam: in webkit, event target isn't in the prototype chain
    ... does it affect it though?

    anne: maybe xhr should change

    jonas: no advantage to not inheriting

    sam: let's avoid multiple inheritance

    jonas: agrees
    ... but most of these thigns don't inherit

    anne: XHR does

    jonas: but you can add it to the bottom of the chain

    <timeless>  s/thigns/things/

    sam: everything in svg uses multiple inheritance
    ... we should probably bring this up as a WebIDL issue

    jonas: it's unfortuate you can't add stuff to event target prototype

    sam: if we could solve multiple inheritance in a good way, then
    maybe it's a non-issue
    ... jonas, are you coming to tc39?

    jonas: yes

    anne: does it have anything more on file api?

    s/does it/do we/

    <MikeSmith>  s/Transactions/scribe: anne/

    jonas: request from google...when you request url, wants to do
    something related to content type (didn't understand)

    i didn't understand

    <arun>  arun: do we still have URL string dereferencing behavior?

    ericu: right now content type is a property of blob
    ... we could add these properties to blob directly

    arun: only contnet disposition was asked for
    ... just like content type

    <MikeSmith>  i/What is the current topic/scribe: anne

    <timeless>  s/contnet/content/

    <MikeSmith>  dunno

    jonas: darin fisher has asked for content disposition. jonas has
    said to use file save back to him
    ... and point the file saver to the blob directly

    ericu: we want blob url to work just like any other

    <arun>  arun: right, so instead of Content-Disposition on Blob URLs,
    you have a URL argument to the FileSave constructor.

    ericu: gmail offline, for example, wants to be able to view and
    download with similar code. just different urls. presentation layer
    stays same, but backend just gives different urls

    sam: not sure he understands why you'd create a url from a blob and
    pass it to an XHR

    jonas: not sure anyone suggested this

    sam: isn't that the reason to set headers: to get it through XHR?

    jonas: no, it was just to explain
    ... iframes care about headers
    ... to do gmail file saving, create iframe, take blob, create url,
    content dis. header, iframe looks at that header, it works

    ericu: can't you do that today?
    ... only need iframe trick if you don't have content disposition
    header
    ... wait...hm...

    jonas: link with target: _blank

    sam: that opens a window

    anne: behavior varries

    sam: agreed
    ... very marginal use case

    jonas: it's a very roundabout way of triggering file save dialog

    <arun>  arun: +1 to sam, sicking

    ericu: urls have these properties already
    ... making offline urls work just like online urls seems nice

    sam: they're more a property of the resource, not the url itself

    jonas: it's actually a property of the person initiating the load
    ... make file save support taking url
    ... same architecture for blobs and urls

    sam: some browsers default behavior is not prompt and download to
    directory
    ... so that'd behave differently
    ... iframe with content disposition treated as download, file saver
    treated as save as

    jonas: i'm not sure we'd behave differently

    timeless: we shipped that behavior 2+ years ago

    <timeless>  [we = Mozilla/Firefox]

    ericu: if you want file saver to do the default, that's another
    behavior

    jonas: if people only want a download mechanism, we should do it
    right not extend hack

    arun: hack exists for http reasons
    ... ericu's "uber question" is a good one

    ericu: allowing all headers in seems cleaner

    anne: it's complicated if we only care about content disposition

    sam: setting something like x frame options could be useful
    ... my recollection are that most of these things are attributed to
    the resource not the url
    ... it seems a bit hackish to set headers on a blob

    ericu: agrees. a blob might never be used as a url
    ... in some cases, the headers are more assicated with the url
    rather than the resource itself

    jonas: this discussion has gotten a bit meta
    ... should the headers arguments exist on the blob or create url
    function

    sam: that's one question. the other is whether we need the headers

    ericu: likes headers. if we have them, put them on createURL
    function

    anne: let's move discussion to list
    ... talks about his sneaky plan

    ericu: we can go back to file after writer/system questions

    <timeless>  the example for using URL instead of Blob to have the
    bits is to match Gmail where an image attachment has View and
    Download links - two urls to the same blob data

    ericu: doesn't have any issues to bring up

    anne: can you give a quick introduction?

    ericu: does said introcution...

    <timeless>  s/cut/duct/

FileSaver

    <anne>  s/FileSaver/File: Writer and File: Systems and Directories/

    sam: so file writer sync doesn't not pop up a dialog?

    <timeless>  s/introcution/introduction/

    ericu: yup
    ... this is just a writing interface...doesn't describe how to get
    access
    ... file system spec gives another away to get access to a file
    ... otherwise the only way is file saver
    ... file system is like a chrooted environment to create dirs,
    files, etc
    ... file system is good if your data isn't structured
    ... game designers want this for art assets, for example

    sam: what about indexedb

    jorlow: or app cache

    ericu: not good match for app cache...it's all or nothing

    jonas: thinks system is not needed
    ... because of indexedDB

    sam: data cache or an extension to app cache might have worked as
    well

    ericu: yes

    sam: waht about various databases

    <timeless>  s/waht/what/

    sam: jonas's face was scary

    ericu: it's a matter of taste

    sam: seems like adding this much API surface area for a matter of
    taste is bad taste

    ericu: it's more than just taste

    <arun>  arun: I agree with ericu about it being a matter of taste.
    Some like file system based metaphors, and some like databases for
    everything.

    ericu: sharing data with apps outside of the browser is good too

    sam: indexedDB could store files in the file system if it wanted to

    ericu: that seems odd. no hierarchy

    jonas: yeah, no meta data

    ericu: gives a use case

    sam: if that's a use case, it should be explicit in spec
    ... and what about when file system doesn't exist

    ericu: that's one reason to make it explicit in the spec
    ... it's a significant motivator, but not required

    jorlow: you could store meta data ad-hoc in indexedDB if you wanted
    to

    jonas: the meta data will be understandable by other apps
    ... hurdle: some people are nervous about allowing websites to save
    stuff to a known location

    sam: we probably want to add changes to mac os X to allow ..?

    ericu: in current implementation, files not saved in known location
    ... describes the hack
    ... many apps know how to scan a hierarchy of dirs (that can scan it
    in)

    timeless: then you just exploit some app like iTunes or picassa

    adrianba: what about social engineering

    ericu: opening a file deep in the chrome profile dir...?
    ... and your av software should still run on it

    adrianba: they have support for knowing the source of the download

    <timeless>  s/picassa/Picasa/

    sam: mac os x too

    jorlow: can't the file system api just set the bits

    <timeless>  windows too

    adrianba: we distinguish between url and site

    ericu: this makes it slightly harder, but it's not a fundamental
    issue

    adrianba: allowing a web application to save something without
    immediate consent of user...then social engineering

    <timeless>  [ such as attacking Sherlock, Google Desktop Search ]

    ericu: it's a valid concern and i understand. you might just need to
    tweak the reputation system a bit to handle this case

    sam: my issue is not security, it's that we already have a lot of
    storage options
    ... unnecessary risk to throw 2 new APIs at the web at once

    <arun>  OK big +1 to weinig

    ericu: well it's not there yet and it won't necessarily be popular

    sam: but it can never be removed

    jorlow: isn't it behind prefix

    timeless: that doens't matter much

    ericu: and actually our implementation is not behind prefix
    ... which is a fair objection
    ... a number of devs asked for it

    sam: web sql is same

    <timeless>  s/doens't/doesn't/

    sam: we should have been more careful and not do it
    ... has actual question
    ... file saver sync doesn't seem to have an actual interface
    attached to it?

    ericu: will fix it

    sam: from worker, would you pop up save dialog
    ... what window would it be attached to

    ericu: shared worker is an odd case

    jorlow: brought up more shared worker issues similar

    ericu: yeah...we need to fix some stuff

    jonas: want file save to be able to handle the url
    ... content disposition is a hack, so it'd be nice to move away from
    it

    <arun>  Yeah; while we hash out headers on Blob URIs, I think it's
    good to allow FileSaver to have a URL argument

    sam: people already hack around it, iframe trick might as well
    become official
    ... anne are you editing progress events?
    ... is there going to be some way to say some interface implements
    something...rather than repeating the work for each progress event

    jonas: there's some web idl way to say supplemental, but reverse

    ericu: onload start, and that doesn't make sense when you're writing

    <anne>  [57]http://www.w3.org/TR/progress-events/

      [57] http://www.w3.org/TR/progress-events/

    jonas: interesting situation when you want progress events for
    something other than loads since much of them have load in the name

    anne: they're actually specced to be pretty vague
    ... can't rename them at this point

    adrianba: could you have multiple names for something

    sam: this is a bad idea because events are expensive, therefore
    firing 2 events is expensive
    ... we've done this for focus and DOM (yell) Focus

    mjs: you can't actually alias because of add event listener's
    semantics

    jonas: agreed, aliasing is bad

    anne: the event names are just suggestions
    ... you can call your events whatever you want

    jonas: it makes sense to do things this way

    sam: should they be save start?

    ericu: filewriter derives from this and uses the same events

    jonas: the interface names are fully generic

    anne: interface still has loaded

    ericu: I think I just put done?
    ... going to fix the spec

    mjs: we should change the syntax of html

    <mjs>  </sarcasm>

    ericu: taking a step back....

    sam: when people implement event listeners, the event they get will
    be a little funny because it has words like loaded

    anne: inherited progress events from svg...no one backed me up

    mjs: lots of bike shedding

    jonas: it sucks to add aliases

    sam: maybe add progress of loaded that calls the same underlying
    function
    ... bytes progressed maybe?

    jonas: just use progress

    anne: we do have some aliased properties elsewhere I guess
    ... let's leave "early"

    anne's chairing skillz are celebrated

Summary of Action Items

    [NEW] ACTION: barstow ask Doug for a pointer to Google's "Before
    Input Proposal" [recorded in
    [58]http://www.w3.org/2010/11/02-webapps-minutes.html#action01]
    [NEW] ACTION: barstow work with Team and Chaals on formalizing test
    suite process for WebApps [recorded in
    [59]http://www.w3.org/2010/11/02-webapps-minutes.html#action03]
    [NEW] ACTION: barstow XHR: add link to bugzilla in PubStatus
    [recorded in
    [60]http://www.w3.org/2010/11/02-webapps-minutes.html#action02]

    [End of minutes]

Received on Wednesday, 3 November 2010 07:57:54 UTC