summaryrefslogtreecommitdiff
path: root/test/smoke-tests
diff options
context:
space:
mode:
authorPhilip Chimento <philip@endlessm.com>2013-09-04 16:07:56 -0700
committerPhilip Chimento <philip@endlessm.com>2013-09-12 17:58:05 -0700
commit766a39da8ba18b7b6bf214ed328bc129436737e7 (patch)
tree41a1f1d3ace78155565a8232d9bca61b9a070777 /test/smoke-tests
parent2444b1473a980e770b9a85f93ecfb75efd97bbed (diff)
Install WebHelper into GJS modules directory
WebHelper is now importable using const WebHelper = imports.webhelper; [endlessm/eos-sdk#289]
Diffstat (limited to 'test/smoke-tests')
-rw-r--r--test/smoke-tests/WebHelper.js86
-rw-r--r--test/smoke-tests/webview.js2
2 files changed, 1 insertions, 87 deletions
diff --git a/test/smoke-tests/WebHelper.js b/test/smoke-tests/WebHelper.js
deleted file mode 100644
index 8b78931..0000000
--- a/test/smoke-tests/WebHelper.js
+++ /dev/null
@@ -1,86 +0,0 @@
-const Endless = imports.gi.Endless;
-const GLib = imports.gi.GLib;
-const Gtk = imports.gi.Gtk;
-const WebKit = imports.gi.WebKit;
-
-const EOS_URI_SCHEME = 'endless://';
-
-
-const Application = new Lang.Class({
- Name: 'WebApplication',
- Extends: Endless.Application,
-
-// Set of actions that may be invoked from a WebView.
-// Declare them as function(dict), and use links with the format
-// "endless://actionName?parameter=value"
-
- _webActions: { },
-
-// This callback does the translation from URI to action
-// this._webview.connect('navigation-policy-decision-requested',
-// Lang.bind(this, this._webHelper.onNavigationRequested));
-
- _onNavigationRequested : function(web_view, frame, request,
- navigation_action, policy_decision,
- user_data) {
- let uri = request.get_uri();
-
- if(uri.indexOf(EOS_URI_SCHEME) == 0) {
- // get the name and parameters for the desired function
- let f_call = uri.substring(EOS_URI_SCHEME.length, uri.length).split('?');
- var function_name = f_call[0];
- var parameters = {};
-
- if(f_call[1]) {
- // there are parameters
- let params = f_call[1].split('&');
- params.forEach(function(entry) {
- let param = entry.split('=');
-
- if(param.length == 2) {
- param[0] = decodeURIComponent(param[0]);
- param[1] = decodeURIComponent(param[1]);
- // and now we add it...
- parameters[param[0]] = param[1];
- }
- });
- }
-
- if(this._webActions[function_name])
- Lang.bind(this, this._webActions[function_name])(parameters);
- else
- print('Unknown function '+function_name);
-
- policy_decision.ignore();
- return true;
- } else {
- // this is a regular URL, just navigate there
- return false;
- }
- },
-
-// convenience functions
-
- _getElementById: function(webview, id) {
- // WebKit.DOMDocument
- let dom = webview.get_dom_document();
-
- // WebKit.DOMElement
- return dom.get_element_by_id(id);
- },
-
- _translateHTML: function(webview, lang) {
- let dom = webview.get_dom_document();
-
- // WebKit.DOMNodeList
- let translatable = dom.get_elements_by_name('translatable');
-
- for (var i = 0 ; i < translatable.get_length() ; i++) {
- // WebKit.DOMNode
- let element = translatable.item(i);
-
- // TODO here is where we would do the translation
- element.inner_html = '<i>' + element.inner_text + '</i>';
- }
- }
-});
diff --git a/test/smoke-tests/webview.js b/test/smoke-tests/webview.js
index 9b84728..98226f3 100644
--- a/test/smoke-tests/webview.js
+++ b/test/smoke-tests/webview.js
@@ -7,7 +7,7 @@ const Gtk = imports.gi.Gtk;
const WebKit = imports.gi.WebKit;
// WebHelper.js must be copied somewhere in GJS's imports.searchPath
-const WebHelper = imports.WebHelper;
+const WebHelper = imports.webhelper;
const TEST_APPLICATION_ID = 'com.endlessm.example.test-webview';