if (!g_autofill_service_connected) {
LOGW("Not connected to autofill service");
- return 0;
}
if (!svc_rpc_h) {
LOGW("RPC port for autofill service is not created");
- return 0;
}
rpc_port_autofill_svc_save_view_info_h svi = NULL;
rpc_port_autofill_save_view_info_foreach_items(vi, __save_item_cb, svi);
- rpc_port_proxy_AutofillSvcPort_invoke_commit(svc_rpc_h, context_id, svi);
-
- if (view_id)
+ if (view_id) {
free(view_id);
+ view_id = NULL;
+ }
- if (view_title)
+ if (view_title) {
free(view_title);
+ view_title = NULL;
+ }
- rpc_port_autofill_svc_save_view_info_destroy(svi);
+ if (g_autofill_service_connected && svc_rpc_h) {
+ rpc_port_proxy_AutofillSvcPort_invoke_commit(svc_rpc_h, context_id, svi);
+ rpc_port_autofill_svc_save_view_info_destroy(svi);
+ }
+ else {
+ add_request_item(COMMIT, context_id, svi);
+ }
return 0;
}
return;
rpc_port_autofill_svc_view_info_h svi = handle->req_data;
+ rpc_port_autofill_svc_save_view_info_h save_view_info_h;
switch (handle->req_type) {
case AUTH_INFO_REQUEST:
case CANCEL_FILL_REQUEST:
rpc_port_autofill_svc_view_info_destroy(svi);
break;
+ case COMMIT:
+ save_view_info_h = handle->req_data;
+ rpc_port_autofill_svc_save_view_info_destroy(save_view_info_h);
default:
break;
}
autofill_request_item_s *req_item;
GList *iter;
- LOGI("");
+ rpc_port_autofill_svc_save_view_info_h save_view_info_h;
+ rpc_port_autofill_svc_view_info_h svi;
+
+ if (!__pending_request_item_list)
+ LOGI("No pending request");
iter = __pending_request_item_list;
while (iter) {
LOGI("request type : %d", req_item->req_type);
- rpc_port_autofill_svc_view_info_h svi = req_item->req_data;
+ svi = req_item->req_data;
switch (req_item->req_type) {
case AUTH_INFO_REQUEST:
- LOGI("auth info request. context id : %d", req_item->context_id);
+ LOGI("auth info request. context id(%d)", req_item->context_id);
rpc_port_proxy_AutofillSvcPort_invoke_request_auth_info(svc_rpc_h, req_item->context_id, svi);
break;
case FILL_REQUEST:
- LOGI("fill request. context id : %d", req_item->context_id);
+ LOGI("fill request. context id(%d)", req_item->context_id);
rpc_port_proxy_AutofillSvcPort_invoke_send_fill_request(svc_rpc_h, req_item->context_id, svi);
break;
case CANCEL_FILL_REQUEST:
- LOGI("cancel fill request. context id : %d", req_item->context_id);
+ LOGI("cancel fill request. context id(%d)", req_item->context_id);
rpc_port_proxy_AutofillSvcPort_invoke_cancel_fill_request(svc_rpc_h, req_item->context_id, svi);
break;
+ case COMMIT:
+ LOGI("commit. context id(%d)", req_item->context_id);
+ save_view_info_h = req_item->req_data;
+ rpc_port_proxy_AutofillSvcPort_invoke_commit(svc_rpc_h, req_item->context_id, save_view_info_h);
+ break;
default:
break;
}