Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Unified Diff: chrome/test/data/extensions/platform_apps/web_view/media_access/media_access_guest.html

Issue 11093080: <webview>: First stab at implementing media permission request for guests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Plugin can be destroyed before we get Weak Callback, fixed. Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/extensions/platform_apps/web_view/media_access/media_access_guest.html
diff --git a/chrome/test/data/extensions/platform_apps/web_view/media_access/media_access_guest.html b/chrome/test/data/extensions/platform_apps/web_view/media_access/media_access_guest.html
new file mode 100644
index 0000000000000000000000000000000000000000..15528fff35269b8d216af2e647e22c6067bfbf66
--- /dev/null
+++ b/chrome/test/data/extensions/platform_apps/web_view/media_access/media_access_guest.html
@@ -0,0 +1,45 @@
+<html>
+ <head>
+ <script type="text/javascript">
+ // A guest that requests for media access.
Charlie Reis 2013/02/11 22:20:56 nit: Drop the "for"
lazyboy 2013/02/12 05:03:45 Done.
+ // Notifies the embedder about the result of the request (success/fail)
+ // via post message. Note that the embedder has to initiate a postMessage
+ // first so that guest has a reference to the embedder's window.
+
+ // The window reference of the embedder to send post message reply.
+ var embedderWindowChannel = null;
+
+ var notifyEmbedder = function(msg) {
+ embedderWindowChannel.postMessage(msg, '*');
+ };
+
+ var onUserMediaSuccess = function(stream, testCase) {
+ notifyEmbedder(JSON.stringify(['access-granted', testCase]));
+ };
+ var onUserMediaFailure = function(err, testCase) {
+ notifyEmbedder(JSON.stringify(['access-denied', testCase]));
+ };
+ var startTest = function(testCase) {
+ navigator.webkitGetUserMedia(
+ {audio: true},
+ function(stream) { onUserMediaSuccess(stream, testCase); },
+ function(err) { onUserMediaFailure(err, testCase); });
+ };
+ var onPostMessageReceived = function(e) {
+ var data = JSON.parse(e.data);
+ var testName = data[0];
+ var testCase = data[1];
+ if (testName == 'check-media-permission') {
+ embedderWindowChannel = e.source;
+
+ // Start the test once we have |embedderWindowChannel|.
+ startTest(testCase);
+ }
+ };
+ window.addEventListener('message', onPostMessageReceived, false);
+ </script>
+ </head>
+ <body>
+ <div>This is guest that requests audio media.</div>
+ </body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698