Implement "autosuggest" in form history and bump the version
1. Honor non W3C but commonly used "autosuggest" attribute. 2. Bump version to 1.0. The plugin can be considered stable.
This commit is contained in:
parent
089315bcaa
commit
2832704f7d
2 changed files with 9 additions and 6 deletions
|
@ -301,9 +301,11 @@ function initSuggestions () {
|
||||||
{
|
{
|
||||||
var ename = inputs[i].getAttribute("name");
|
var ename = inputs[i].getAttribute("name");
|
||||||
var eid = inputs[i].getAttribute("id");
|
var eid = inputs[i].getAttribute("id");
|
||||||
|
var autocomplete = inputs[i].getAttribute ("autocomplete");
|
||||||
|
|
||||||
if (!ename && eid)
|
if (!ename && eid)
|
||||||
ename=eid;
|
ename=eid;
|
||||||
if (inputs[i].type == "text")
|
if (inputs[i].type == "text" && autocomplete != "off")
|
||||||
var smth = new AutoSuggestControl(inputs[i], new FormSuggestions(ename));
|
var smth = new AutoSuggestControl (inputs[i], new FormSuggestions (ename));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -191,7 +191,6 @@ formhistory_navigation_decision_cb (WebKitWebView* web_view,
|
||||||
WebKitWebPolicyDecision* decision,
|
WebKitWebPolicyDecision* decision,
|
||||||
MidoriExtension* extension)
|
MidoriExtension* extension)
|
||||||
{
|
{
|
||||||
JSContextRef js_context = webkit_web_frame_get_global_context (web_frame);
|
|
||||||
/* The script returns form data in the form "field_name|,|value|,|field_type".
|
/* The script returns form data in the form "field_name|,|value|,|field_type".
|
||||||
We are handling only input fields with 'text' or 'password' type.
|
We are handling only input fields with 'text' or 'password' type.
|
||||||
The field separator is "|||" */
|
The field separator is "|||" */
|
||||||
|
@ -203,6 +202,7 @@ formhistory_navigation_decision_cb (WebKitWebView* web_view,
|
||||||
" var eid = inputs[i].getAttribute('id');"
|
" var eid = inputs[i].getAttribute('id');"
|
||||||
" if (!ename && eid)"
|
" if (!ename && eid)"
|
||||||
" ename=eid;"
|
" ename=eid;"
|
||||||
|
" if (inputs[i].getAttribute('autocomplete') != 'off')"
|
||||||
" out += ename+'|,|'+inputs[i].value +'|,|'+inputs[i].type +'|||';"
|
" out += ename+'|,|'+inputs[i].value +'|,|'+inputs[i].type +'|||';"
|
||||||
" }"
|
" }"
|
||||||
" }"
|
" }"
|
||||||
|
@ -212,8 +212,9 @@ formhistory_navigation_decision_cb (WebKitWebView* web_view,
|
||||||
|
|
||||||
if (webkit_web_navigation_action_get_reason (action) == WEBKIT_WEB_NAVIGATION_REASON_FORM_SUBMITTED)
|
if (webkit_web_navigation_action_get_reason (action) == WEBKIT_WEB_NAVIGATION_REASON_FORM_SUBMITTED)
|
||||||
{
|
{
|
||||||
|
JSContextRef js_context = webkit_web_frame_get_global_context (web_frame);
|
||||||
gchar* value = sokoke_js_script_eval (js_context, script, NULL);
|
gchar* value = sokoke_js_script_eval (js_context, script, NULL);
|
||||||
if (value)
|
if (value && *value)
|
||||||
{
|
{
|
||||||
gpointer db = g_object_get_data (G_OBJECT (extension), "formhistory-db");
|
gpointer db = g_object_get_data (G_OBJECT (extension), "formhistory-db");
|
||||||
gchar** inputs = g_strsplit (value, "|||", 0);
|
gchar** inputs = g_strsplit (value, "|||", 0);
|
||||||
|
@ -496,7 +497,7 @@ extension_init (void)
|
||||||
|
|
||||||
if (formhistory_prepare_js ())
|
if (formhistory_prepare_js ())
|
||||||
{
|
{
|
||||||
ver = "0.1";
|
ver = "1.0";
|
||||||
desc = g_strdup (_("Stores history of entered form data"));
|
desc = g_strdup (_("Stores history of entered form data"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue