|
@@ -185,9 +185,25 @@ const ScreenObtainer = {
|
185
|
185
|
sourceId: stream.id
|
186
|
186
|
}));
|
187
|
187
|
})
|
188
|
|
- .catch(() =>
|
189
|
|
- errorCallback(new JitsiTrackError(JitsiTrackErrors
|
190
|
|
- .SCREENSHARING_USER_CANCELED)));
|
|
188
|
+ .catch(error => {
|
|
189
|
+ const errorDetails = {
|
|
190
|
+ errorName: error && error.name,
|
|
191
|
+ errorMsg: error && error.message,
|
|
192
|
+ errorStack: error && error.stack
|
|
193
|
+ };
|
|
194
|
+
|
|
195
|
+ logger.error('getDisplayMedia error', errorDetails);
|
|
196
|
+
|
|
197
|
+ if (errorDetails.errorMsg && errorDetails.errorMsg.indexOf('denied by system') !== -1) {
|
|
198
|
+ // On Chrome this is the only thing different between error returned when user cancels
|
|
199
|
+ // and when no permission was given on the OS level.
|
|
200
|
+ errorCallback(new JitsiTrackError(JitsiTrackErrors.PERMISSION_DENIED));
|
|
201
|
+
|
|
202
|
+ return;
|
|
203
|
+ }
|
|
204
|
+
|
|
205
|
+ errorCallback(new JitsiTrackError(JitsiTrackErrors.SCREENSHARING_USER_CANCELED));
|
|
206
|
+ });
|
191
|
207
|
}
|
192
|
208
|
};
|
193
|
209
|
|