Merge branch 'feature-msedge-screensharing' into develop

master
Håvar Aambø Fosstveit 2018-06-25 13:50:07 +02:00
commit 82e8a076c8
2 changed files with 61 additions and 0 deletions

View File

@ -189,6 +189,57 @@ class FirefoxScreenShare
} }
} }
class EdgeScreenShare
{
constructor()
{
this._stream = null;
}
start(options = {})
{
const constraints = this._toConstraints(options);
return navigator.getDisplayMedia(constraints)
.then((stream) =>
{
this._stream = stream;
return Promise.resolve(stream);
});
}
stop()
{
if (this._stream instanceof MediaStream === false)
{
return;
}
this._stream.getTracks().forEach((track) => track.stop());
this._stream = null;
}
isScreenShareAvailable()
{
return true;
}
needExtension()
{
return false;
}
_toConstraints()
{
const constraints = {
video : true
};
return constraints;
}
}
class DefaultScreenShare class DefaultScreenShare
{ {
isScreenShareAvailable() isScreenShareAvailable()
@ -216,6 +267,10 @@ export default class ScreenShare
{ {
return new ChromeScreenShare(); return new ChromeScreenShare();
} }
case 'edge':
{
return new EdgeScreenShare();
}
default: default:
{ {
return new DefaultScreenShare(); return new DefaultScreenShare();

View File

@ -35,5 +35,11 @@ export function getBrowserType()
return 'chrome'; return 'chrome';
} }
// MSEdge
if (ua.indexOf('edge') !== -1)
{
return 'edge';
}
return 'N/A'; return 'N/A';
} }