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

Unified Diff: chrome/test/data/extensions/api_test/webnavigation/navigation/test.html

Issue 3307013: Implement the webNavigation.onCommitted event. (Closed)
Patch Set: updates Created 10 years, 3 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
« no previous file with comments | « chrome/test/data/extensions/api_test/webnavigation/navigation/simpleLoad/a.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/extensions/api_test/webnavigation/navigation/test.html
diff --git a/chrome/test/data/extensions/api_test/webnavigation/navigation/test.html b/chrome/test/data/extensions/api_test/webnavigation/navigation/test.html
new file mode 100644
index 0000000000000000000000000000000000000000..6525a281968e52ffcab166c841183a332099cf0d
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/webnavigation/navigation/test.html
@@ -0,0 +1,117 @@
+<script>
+var expectedEventData;
+var capturedEventData;
+
+function expect(data) {
+ expectedEventData = data;
+ capturedEventData = [];
+}
+
+function checkExpectations() {
+ if (capturedEventData.length < expectedEventData.length) {
+ return;
+ }
+ chrome.test.assertEq(JSON.stringify(expectedEventData),
+ JSON.stringify(capturedEventData));
+ chrome.test.succeed();
+}
+
+chrome.experimental.webNavigation.onCommitted.addListener(function(details) {
+ console.log('---onCommitted: ' + details.url);
+ // normalize details.
+ details.timeStamp = 0;
+ if (details.frameId != 0) {
+ details.frameId = 1;
+ }
+ capturedEventData.push(details);
+ checkExpectations();
+});
+
+var getURL = chrome.extension.getURL;
+chrome.tabs.getSelected(null, function(tab) {
+ var tabId = tab.id;
+
+ chrome.test.runTests([
+ /* Navigates to an URL */
+ function simpleLoad() {
+ expect([
+ { frameId: 0,
+ tabId: tabId,
+ timeStamp: 0,
+ transitionQualifiers: "",
+ transitionType: "link",
+ url: getURL('simpleLoad/a.html') }]);
+ chrome.tabs.update(tabId, { url: getURL('simpleLoad/a.html') });
+ },
+
+ /* Navigates to a.html that redirects to b.html (using javascript)
+ after a delay of 500ms, so the initial navigation is completed and
+ the redirection is marked as client_redirect */
+ function clientRedirect() {
+ expect([
+ { frameId: 0,
+ tabId: tabId,
+ timeStamp: 0,
+ transitionQualifiers: "",
+ transitionType: "link",
+ url: getURL('clientRedirect/a.html') },
+ { frameId: 0,
+ tabId: tabId,
+ timeStamp: 0,
+ transitionQualifiers: "client_redirect",
+ transitionType: "link",
+ url: getURL('clientRedirect/b.html') }]);
+ chrome.tabs.update(tabId, { url: getURL('clientRedirect/a.html') });
+ },
+
+ /* First navigates to a.html, and then to b.html which uses
+ history.back() to navigate back to a.html */
+ function forwardBack() {
+ expect([
+ { frameId: 0,
+ tabId: tabId,
+ timeStamp: 0,
+ transitionQualifiers: "",
+ transitionType: "link",
+ url: getURL('forwardBack/a.html') },
+ { frameId: 0,
+ tabId: tabId,
+ timeStamp: 0,
+ transitionQualifiers: "",
+ transitionType: "link",
+ url: getURL('forwardBack/b.html') },
+ { frameId: 0,
+ tabId: tabId,
+ timeStamp: 0,
+ transitionQualifiers: "forward_back",
+ transitionType: "link",
+ url: getURL('forwardBack/a.html') }]);
+ chrome.tabs.update(tabId, { url: getURL('forwardBack/a.html') },
+ function (tab) {
+ chrome.tabs.update(tabId,
+ { url: getURL('forwardBack/b.html') });
+ });
+ },
+
+ /* Navigates to a.html which includes b.html as an iframe. b.html
+ redirects to c.html. Note that all navigation entries are for
+ a.html. Also, b.html does not generate a navigation entry. */
+ function iframe() {
+ expect([
+ { frameId: 0,
+ tabId: tabId,
+ timeStamp: 0,
+ transitionQualifiers: "",
+ transitionType: "link",
+ url: getURL('iframe/a.html') },
+ { frameId: 1,
+ tabId: tabId,
+ timeStamp: 0,
+ transitionQualifiers: "",
+ transitionType: "link",
+ url: getURL('iframe/a.html') }]);
+ chrome.tabs.update(tabId, { url: getURL('iframe/a.html') });
+ },
+ ]);
+});
+</script>
« no previous file with comments | « chrome/test/data/extensions/api_test/webnavigation/navigation/simpleLoad/a.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698