From 5b3845326216343bf25abbca90585a595dad3b6e Mon Sep 17 00:00:00 2001 From: Laurent Deketelaere Date: Tue, 2 Feb 2016 16:49:37 +1000 Subject: [PATCH] CB-10113 Browser - Layer camera UI on top of all! Adds CSS style {position: 'relative', z-index: 2147483647} (2147483647 is the highest possible z-index) on DOM appended elements. This closes #134 --- src/browser/CameraProxy.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/browser/CameraProxy.js b/src/browser/CameraProxy.js index 15c3578..d115f51 100644 --- a/src/browser/CameraProxy.js +++ b/src/browser/CameraProxy.js @@ -19,11 +19,15 @@ * */ +var HIGHEST_POSSIBLE_Z_INDEX = 2147483647; + function takePicture(success, error, opts) { if (opts && opts[2] === 1) { capture(success, error); } else { var input = document.createElement('input'); + input.style.position = 'relative'; + input.style.zIndex = HIGHEST_POSSIBLE_Z_INDEX; input.type = 'file'; input.name = 'files[]'; @@ -51,6 +55,11 @@ function capture(success, errorCallback) { var video = document.createElement('video'); var button = document.createElement('button'); + var parent = document.createElement('div'); + parent.style.position = 'relative'; + parent.style.zIndex = HIGHEST_POSSIBLE_Z_INDEX; + parent.appendChild(video); + parent.appendChild(button); video.width = 320; video.height = 240; @@ -74,8 +83,7 @@ function capture(success, errorCallback) { track.stop(); }); } - video.parentNode.removeChild(video); - button.parentNode.removeChild(button); + parent.parentNode.removeChild(parent); return success(imageData); }; @@ -90,8 +98,7 @@ function capture(success, errorCallback) { video.src = window.URL.createObjectURL(localMediaStream); video.play(); - document.body.appendChild(video); - document.body.appendChild(button); + document.body.appendChild(parent); }; if (navigator.getUserMedia) {