summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/examples/oopif.js
diff options
context:
space:
mode:
Diffstat (limited to 'remote/test/puppeteer/examples/oopif.js')
-rw-r--r--remote/test/puppeteer/examples/oopif.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/remote/test/puppeteer/examples/oopif.js b/remote/test/puppeteer/examples/oopif.js
new file mode 100644
index 0000000000..6ed79f9ced
--- /dev/null
+++ b/remote/test/puppeteer/examples/oopif.js
@@ -0,0 +1,39 @@
+/**
+ * @license
+ * Copyright 2020 Google Inc.
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+'use strict';
+
+const puppeteer = require('puppeteer');
+
+async function attachFrame(frameId, url) {
+ const frame = document.createElement('iframe');
+ frame.src = url;
+ frame.id = frameId;
+ document.body.appendChild(frame);
+ await new Promise(x => {
+ return (frame.onload = x);
+ });
+ return frame;
+}
+
+(async () => {
+ // Launch browser in non-headless mode.
+ const browser = await puppeteer.launch({headless: false});
+ const page = await browser.newPage();
+
+ // Load a page from one origin:
+ await page.goto('http://example.org/');
+
+ // Inject iframe with the another origin.
+ await page.evaluateHandle(attachFrame, 'frame1', 'https://example.com/');
+
+ // At this point there should be a message in the output:
+ // puppeteer:frame The frame '...' moved to another session. Out-of-process
+ // iframes (OOPIF) are not supported by Puppeteer yet.
+ // https://github.com/puppeteer/puppeteer/issues/2548
+
+ await browser.close();
+})();