Difference between revisions of "Implementing the Mouse Lock API in Firefox"

From CDOT Wiki
Jump to: navigation, search
(Participants)
(Added high-level mouse lock tasks)
Line 46: Line 46:
  
 
==Tasks==
 
==Tasks==
 +
 +
===Getting Started===
  
 
# Clone our repo and build a debug version locally
 
# Clone our repo and build a debug version locally
Line 53: Line 55:
 
# Blog about your work on this implementation
 
# Blog about your work on this implementation
 
# Add questions/answers to [[Mouse Lock Implementation FAQ]]
 
# Add questions/answers to [[Mouse Lock Implementation FAQ]]
 +
 +
===High-Level Mouse Lock Implementation Tasks===
 +
 +
This list is incomplete, and needs more detail added as the following bits are completed.
 +
 +
# No mouse cursor is displayed when the mouse is locked
 +
# MouseLockable DOM Implementation
 +
## void lock (in Element target, optional in VoidCallback successCallback, optional in VoidCallback failureCallback);
 +
## void unlock ();
 +
## bool islocked ();
 +
# navigator.pointer (access mouselock)
 +
# Mouse Lock Platform Implementations
 +
## Windows
 +
## OS X
 +
## Linux
 +
## Mobile?
 +
# mouselocklost event DOM Implementation
 +
# Extend MouseEvent DOM implementation with movementX, movementY
 +
# The browser must exit the mouse lock state if the user agent, window, or tab loses focus
 +
# The ESC key should exit mouse lock
 +
# Mouse lock should only work when in Full Screen Mode
  
 
==Resources==
 
==Resources==

Revision as of 14:25, 12 November 2011

Introduction

This is a working document for the implementation of the Mouse Lock API spec in Mozilla by students in David Humphrey's Mozilla Development class at Seneca College.

Please add, edit, correct, expand, etc. as necessary. This page should contain any links or other info we need.

Participants

While the project is primarily meant for students in DPS909/OSD600, feel free to join us if you want to work on things.

  • David Humphrey (lead developer, professor, @humphd)
  • Hasan Kamal-Al-Deen (tardy student, @NorthWind87)
  • Matthew Schranz (Student, OSD600, @mjschranz)
  • Yevgeniy Ivanchenko (Student, OSD600)
  • Chris Gosselin (Student, OSD600)
  • Anurag Bhatnagar (Student, DPS909, @anuragbh)
  • Raymond Hung (Student, DPS909)
  • Ausley Johnson(Student, OSD600)
  • Jesse Silver (Student, OSD600)
  • Ching Wei Tseng(Student, DPS909)
  • Michelle Mendoza (Student, DPS909)
  • Archana Sahota (Student, DPS909)
  • Greg Krilov (Student, DPS909)
  • Roman Hotin (Student, DPS909)
  • Sergiu Ecob (Student, OSD600)
  • Jordan Raffoul (Student)
  • Hyungryul Chun (Student, DPS909)
  • James Boelen (Masked Crusader, @jamesboelen)
  • Jacky Siu (Student, OSD600)
  • Abhishek Bhatnagar (Student, @abhishekToronto)
  • Diogo Golovanevsky Monteiro (@diogogmt)
  • Stanley Tsang (Student, DPS909)
  • Denise Rigato (Student, DPS909)
  • Qian (Ken) Xu (Student, DPS909)
  • <your name here>

Communication

Development work will be done using a combination of the following:

Tasks

Getting Started

  1. Clone our repo and build a debug version locally
  2. Get a https://bugzilla.mozilla.org account and CC yourself on the bug.
  3. Set a Watch on this page and the Q/A page so you know when things change.
  4. Break the spec down into an itemized list of things we need to do, tests we need to write, features we have to add, edge cases we have to worry about, demos we need to build, etc. Put the info into this page. We need to know everything we'll have to write and schedule when we'll do each bit.
  5. Blog about your work on this implementation
  6. Add questions/answers to Mouse Lock Implementation FAQ

High-Level Mouse Lock Implementation Tasks

This list is incomplete, and needs more detail added as the following bits are completed.

  1. No mouse cursor is displayed when the mouse is locked
  2. MouseLockable DOM Implementation
    1. void lock (in Element target, optional in VoidCallback successCallback, optional in VoidCallback failureCallback);
    2. void unlock ();
    3. bool islocked ();
  3. navigator.pointer (access mouselock)
  4. Mouse Lock Platform Implementations
    1. Windows
    2. OS X
    3. Linux
    4. Mobile?
  5. mouselocklost event DOM Implementation
  6. Extend MouseEvent DOM implementation with movementX, movementY
  7. The browser must exit the mouse lock state if the user agent, window, or tab loses focus
  8. The ESC key should exit mouse lock
  9. Mouse lock should only work when in Full Screen Mode

Resources