Firefox3.1/Server-Sent DOM Events: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
No edit summary
Line 8: Line 8:
== Security and Privacy ==
== Security and Privacy ==
* What security issues do you address in your project?
* What security issues do you address in your project?
**  
** Accessing cross domains, and events security issues.
* Include a thorough description of the security assumptions, capabilities and any potential risks (possible attack points) being introduced by your project.
**


== Exported APIs ==
== Exported APIs ==
* Please provide a table of exported interfaces (APIs, ABIs, protocols, UI, etc.)
* Please provide a table of exported interfaces (APIs, ABIs, protocols, UI, etc.)
**  
** nsIRemoteEventSourceManager interface
** text/event-stream protocol
** nsIDOMRemoteEventTarget interface
** nsIDOMHTMLEventSourceElement interface (add the eventsource tag)
 
* Explain the significant file formats, names, syntax, and semantics.
* Explain the significant file formats, names, syntax, and semantics.
**  
** Main C++ code:
*** content/events/public/nsIRemoteEventSourceManager.h
*** content/events/src/nsRemoteEventSourceManager.cpp
*** content/events/src/nsRemoteEventSourceManager.h
*** content/html/content/src/nsHTMLEventSourceElement.cpp
*** dom/public/idl/events/nsIDOMRemoteEventTarget.idl
*** dom/public/idl/html/nsIDOMHTMLEventSourceElement.idl
** Main test file: content/events/test/test_bug338583.html
** Terminology:
***Message Event or Remote Event: An actual event object that is created by the browser in response to a remote server's command
***Remote Event Target: A DOM object that can have Remote Event Sources
***Remote Event Source: The object which is responsible for maintaining a connection to the server and parsing events.
***DOM Event Stream: The stream of characters a server sends to the browser to create events. Its MIME type is text/event-stream
 
* Are the externally visible interfaces documented clearly enough for a non-Mozilla developer to use them successfully?
* Are the externally visible interfaces documented clearly enough for a non-Mozilla developer to use them successfully?
**  
** Yes, dom/public/idl/events/nsIDOMRemoteEventTarget.idl and dom/public/idl/html/nsIDOMHTMLEventSourceElement.idl
* Does it change any existing interfaces?
* Does it change any existing interfaces?
**  
** Yes, nsPIDOMEventTarget.


== Module interactions ==
== Module interactions ==
* What other modules are used (REQUIRES in the makefile, interfaces)
* What other modules are used (REQUIRES in the makefile, interfaces)
**  
** mimetype, htmlparser, content, dom.


== Data ==
== Data ==
* What data is read or parsed by this feature
* What data is read or parsed by this feature
**  
** text/event-stream
* What is the output of this feature
* What is the output of this feature
**  
** Server-sent events (Message Events)
* What storage formats are used
**


== Reliability ==
== Reliability ==
* What failure modes or decision points are presented to the user?
* What failure modes or decision points are presented to the user?
** Failures are redirected to CSS system through the normal parsing mechanisms.
** Failures are transparently handled and when necessary there is some information in the errors console.
* Can its files be corrupted by failures? Does it clean up any locks/files after crashes?
* Can its files be corrupted by failures? Does it clean up any locks/files after crashes?
** No files to corrupt.
** No files to corrupt.
Line 51: Line 64:
Are there related projects in the community?
Are there related projects in the community?
No.
No.
== Schedule ==
This patch is in its second review yet. Since I have all the comments I need from bugzilla I'm starting this 2nd phase today (2008-10-10) and I think it will take 2 weeks. Then, I don't know if it will be need a 3rd review phase.


== Review comments ==
== Review comments ==

Revision as of 14:09, 10 October 2008

Overview

Add support for WhatWG's Server-Sent DOM Events HTML5.

Background links

Security and Privacy

  • What security issues do you address in your project?
    • Accessing cross domains, and events security issues.

Exported APIs

  • Please provide a table of exported interfaces (APIs, ABIs, protocols, UI, etc.)
    • nsIRemoteEventSourceManager interface
    • text/event-stream protocol
    • nsIDOMRemoteEventTarget interface
    • nsIDOMHTMLEventSourceElement interface (add the eventsource tag)
  • Explain the significant file formats, names, syntax, and semantics.
    • Main C++ code:
      • content/events/public/nsIRemoteEventSourceManager.h
      • content/events/src/nsRemoteEventSourceManager.cpp
      • content/events/src/nsRemoteEventSourceManager.h
      • content/html/content/src/nsHTMLEventSourceElement.cpp
      • dom/public/idl/events/nsIDOMRemoteEventTarget.idl
      • dom/public/idl/html/nsIDOMHTMLEventSourceElement.idl
    • Main test file: content/events/test/test_bug338583.html
    • Terminology:
      • Message Event or Remote Event: An actual event object that is created by the browser in response to a remote server's command
      • Remote Event Target: A DOM object that can have Remote Event Sources
      • Remote Event Source: The object which is responsible for maintaining a connection to the server and parsing events.
      • DOM Event Stream: The stream of characters a server sends to the browser to create events. Its MIME type is text/event-stream
  • Are the externally visible interfaces documented clearly enough for a non-Mozilla developer to use them successfully?
    • Yes, dom/public/idl/events/nsIDOMRemoteEventTarget.idl and dom/public/idl/html/nsIDOMHTMLEventSourceElement.idl
  • Does it change any existing interfaces?
    • Yes, nsPIDOMEventTarget.

Module interactions

  • What other modules are used (REQUIRES in the makefile, interfaces)
    • mimetype, htmlparser, content, dom.

Data

  • What data is read or parsed by this feature
    • text/event-stream
  • What is the output of this feature
    • Server-sent events (Message Events)

Reliability

  • What failure modes or decision points are presented to the user?
    • Failures are transparently handled and when necessary there is some information in the errors console.
  • Can its files be corrupted by failures? Does it clean up any locks/files after crashes?
    • No files to corrupt.

Configuration

  • Can the end user configure settings, via a UI or about:config? Hidden prefs? Environment variables?
    • No.
  • Are there build options for developers? [#ifdefs, ac_add_options, etc.]
    • No.
  • What are its on-going maintenance requirements (e.g. Web links, perishable data files)?
    • None.

Relationships to other projects

Are there related projects in the community? No.

Schedule

This patch is in its second review yet. Since I have all the comments I need from bugzilla I'm starting this 2nd phase today (2008-10-10) and I think it will take 2 weeks. Then, I don't know if it will be need a 3rd review phase.

Review comments