Skip to content

Commit

Permalink
Use feature detection for visibility API
Browse files Browse the repository at this point in the history
  • Loading branch information
nzakas committed Aug 13, 2012
1 parent 2795010 commit 4e69157
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 17 deletions.
16 changes: 11 additions & 5 deletions build/gallery-idletimer/gallery-idletimer-debug.js
Expand Up @@ -38,7 +38,7 @@ function handleUserEvent(event){
if (enabled){

if (/visibilitychange/.test(event.type)){
toggleIdleState(doc.hidden || doc.msHidden || doc.webkitHidden);
toggleIdleState(doc.hidden || doc.msHidden || doc.webkitHidden || doc.mozHidden);
} else {
//if it's idle, that means the user is no longer idle
if (idle){
Expand Down Expand Up @@ -133,8 +133,11 @@ Y.IdleTimer = {
Y.on("keydown", handleUserEvent, doc);

//need to add the old-fashioned way
doc.addEventListener("msvisibilitychange", handleUserEvent, false)
doc.addEventListener("webkitvisibilitychange", handleUserEvent, false)
if (doc.addEventListener) {
doc.addEventListener("msvisibilitychange", handleUserEvent, false);
doc.addEventListener("webkitvisibilitychange", handleUserEvent, false);
doc.addEventListener("mozvisibilitychange", handleUserEvent, false);
}

//set a timeout to toggle state
tId = setTimeout(toggleIdleState, timeout);
Expand All @@ -159,8 +162,11 @@ Y.IdleTimer = {
Y.detach("mousemove", handleUserEvent, doc);
Y.detach("keydown", handleUserEvent, doc);

doc.removeEventListener("msvisibilitychange", handleUserEvent, false)
doc.removeEventListener("webkitvisibilitychange", handleUserEvent, false)
if (doc.removeEventListener) {
doc.removeEventListener("msvisibilitychange", handleUserEvent, false);
doc.removeEventListener("webkitvisibilitychange", handleUserEvent, false);
doc.removeEventListener("mozvisibilitychange", handleUserEvent, false);
}

}

Expand Down
2 changes: 1 addition & 1 deletion build/gallery-idletimer/gallery-idletimer-min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 11 additions & 5 deletions build/gallery-idletimer/gallery-idletimer.js
Expand Up @@ -38,7 +38,7 @@ function handleUserEvent(event){
if (enabled){

if (/visibilitychange/.test(event.type)){
toggleIdleState(doc.hidden || doc.msHidden || doc.webkitHidden);
toggleIdleState(doc.hidden || doc.msHidden || doc.webkitHidden || doc.mozHidden);
} else {
//if it's idle, that means the user is no longer idle
if (idle){
Expand Down Expand Up @@ -133,8 +133,11 @@ Y.IdleTimer = {
Y.on("keydown", handleUserEvent, doc);

//need to add the old-fashioned way
doc.addEventListener("msvisibilitychange", handleUserEvent, false)
doc.addEventListener("webkitvisibilitychange", handleUserEvent, false)
if (doc.addEventListener) {
doc.addEventListener("msvisibilitychange", handleUserEvent, false);
doc.addEventListener("webkitvisibilitychange", handleUserEvent, false);
doc.addEventListener("mozvisibilitychange", handleUserEvent, false);
}

//set a timeout to toggle state
tId = setTimeout(toggleIdleState, timeout);
Expand All @@ -159,8 +162,11 @@ Y.IdleTimer = {
Y.detach("mousemove", handleUserEvent, doc);
Y.detach("keydown", handleUserEvent, doc);

doc.removeEventListener("msvisibilitychange", handleUserEvent, false)
doc.removeEventListener("webkitvisibilitychange", handleUserEvent, false)
if (doc.removeEventListener) {
doc.removeEventListener("msvisibilitychange", handleUserEvent, false);
doc.removeEventListener("webkitvisibilitychange", handleUserEvent, false);
doc.removeEventListener("mozvisibilitychange", handleUserEvent, false);
}

}

Expand Down
16 changes: 10 additions & 6 deletions src/gallery-idletimer/js/idletimer.js
Expand Up @@ -131,9 +131,11 @@ Y.IdleTimer = {
Y.on("keydown", handleUserEvent, doc);

//need to add the old-fashioned way
doc.addEventListener("msvisibilitychange", handleUserEvent, false)
doc.addEventListener("webkitvisibilitychange", handleUserEvent, false)
doc.addEventListener("mozvisibilitychange", handleUserEvent, false)
if (doc.addEventListener) {
doc.addEventListener("msvisibilitychange", handleUserEvent, false);
doc.addEventListener("webkitvisibilitychange", handleUserEvent, false);
doc.addEventListener("mozvisibilitychange", handleUserEvent, false);
}

//set a timeout to toggle state
tId = setTimeout(toggleIdleState, timeout);
Expand All @@ -158,9 +160,11 @@ Y.IdleTimer = {
Y.detach("mousemove", handleUserEvent, doc);
Y.detach("keydown", handleUserEvent, doc);

doc.removeEventListener("msvisibilitychange", handleUserEvent, false)
doc.removeEventListener("webkitvisibilitychange", handleUserEvent, false)
doc.removeEventListener("mozvisibilitychange", handleUserEvent, false)
if (doc.removeEventListener) {
doc.removeEventListener("msvisibilitychange", handleUserEvent, false);
doc.removeEventListener("webkitvisibilitychange", handleUserEvent, false);
doc.removeEventListener("mozvisibilitychange", handleUserEvent, false);
}

}

Expand Down

0 comments on commit 4e69157

Please sign in to comment.