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

Unified Diff: ios/testing/data/http_server_files/state_operations.js

Issue 2601193003: Created a test page for window.history.[push/replace]State() tests. (Closed)
Patch Set: eugene's comments Created 3 years, 11 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 | « ios/testing/data/http_server_files/state_operations.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ios/testing/data/http_server_files/state_operations.js
diff --git a/ios/testing/data/http_server_files/state_operations.js b/ios/testing/data/http_server_files/state_operations.js
new file mode 100644
index 0000000000000000000000000000000000000000..bdb1110c3e32e4e9582b91f7867a073baf090065
--- /dev/null
+++ b/ios/testing/data/http_server_files/state_operations.js
@@ -0,0 +1,60 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Populates onload text and clear no-op text.
+window.onload = function() {
+ updateOnLoadText('OnLoadText');
+ updateNoOpText('');
+};
+
+var updateOnLoadText = function(text) {
+ document.getElementById('on-load').innerHTML = text;
+}
+
+var updateNoOpText = function(text) {
+ document.getElementById('no-op').innerHTML = text;
+}
+
+var isOnLoadPlaceholderTextVisible = function() {
+ return document.getElementById('on-load').innerHTML == 'OnLoadText';
+}
+
+var isNoOpPlaceholderTextVisible = function() {
+ return document.getElementById('no-op').innerHTML == 'NoOpText';
+}
+
+// When a button is tapped, a 0,5s timeout begins that will call this function.
+var onNoOpTimeout = function() {
+ document.getElementById('no-op').innerHTML = 'NoOpText';
+}
+
+// Updates |gStateParams| to hold the specified values. These are later used as
+// input parameters to history state changes.
+var gStateParams = {};
+var updateStateParams = function(obj, title, url) {
+ gStateParams.obj = obj;
+ gStateParams.title = title;
+ gStateParams.url = url;
+}
+
+// Clears div text so tests can verify that the reported values are the result
+// of the latest executed script.
+var onButtonTapped = function() {
+ updateOnLoadText('');
+ updateNoOpText('');
+ setTimeout(onNoOpTimeout, 500);
+}
+
+var pushStateAction = function() {
+ onButtonTapped();
+ window.history.pushState(gStateParams.obj, gStateParams.title,
+ gStateParams.url);
+}
+
+var replaceStateAction = function() {
+ onButtonTapped();
+ window.history.replaceState(gStateParams.obj, gStateParams.title,
+ gStateParams.url);
+}
+
« no previous file with comments | « ios/testing/data/http_server_files/state_operations.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698