Delete file user_variables.js (duplicates content in utils.js)
[conkeror.git] / modules / load-spec.js
blob5ad069ea3310d37641f93a3f48e7aca35f8ef810
2 function get_web_navigation_for_frame(frame) {
3     var ifr = frame.QueryInterface(Ci.nsIInterfaceRequestor);
4     return ifr.getInterface(Ci.nsIWebNavigation);
7 function get_SHEntry_for_document(doc)
9     try
10     {
11         var frame = doc.defaultView;
12         var webNav = get_web_navigation_for_frame(frame);
13         var pageLoader = webNav.QueryInterface(Ci.nsIWebPageDescriptor);
14         var desc = pageLoader.currentDescriptor.QueryInterface(Ci.nsISHEntry);
15         return desc;
16     } catch (e) { return null; }
19 function document_load_spec(doc) {
20     var sh_entry = get_SHEntry_for_document(doc);
21     var result = {url: doc.location.href, document: doc};
22     if (sh_entry != null) {
23         result.cache_key = sh_entry;
24         result.referrer = sh_entry.referrerURI;
25         result.post_data = sh_entry.postData;
26     }
27     return result;
30 function uri_string_from_load_spec(spec) {
31     if (typeof(spec) == "object")
32         return spec.url;
33     return spec;
36 function uri_from_load_spec(spec) {
37     if (typeof(spec) == "object" && spec.document != null)
38         return spec.document.documentURIObject;
39     return make_uri(uri_string_from_load_spec(spec));
42 function mime_type_from_load_spec(spec) {
43     if (typeof(spec) == "object" && spec.document) {
44         return spec.document.contentType || "application/octet-stream";
45     }
46     return mime_type_from_url(uri_string_from_load_spec(spec));
49 function mime_info_from_load_spec(spec) {
50     var type = mime_type_from_load_spec(spec);
51     return mime_info_from_mime_type(type);
54 function default_shell_command_from_load_spec(spec) {
55     var mime_type = mime_type_from_load_spec(spec);
56     var handler = get_external_handler_for_mime_type(mime_type);
57     return handler;
60 /* Target can be either a content_buffer or an nsIWebNavigation */
61 function apply_load_spec(target, load_spec) {
62     var url, flags, referrer, post_data;
63     if (typeof(load_spec) == "string") {
64         url = load_spec;
65         flags = null;
66         referrer = null;
67         post_data = null;
68     } else {
69         url = load_spec.url;
70         flags = load_spec.flags;
71         referrer = load_spec.referrer;
72         post_data = load_spec.post_data;
73     }
74     if (flags == null)
75         flags = Ci.nsIWebNavigation.LOAD_FLAGS_NONE;
76     if (target instanceof content_buffer) {
77         target._display_URI = url;
78         target = target.web_navigation;
79         //buffer_description_change_hook.run(target);
80     }
81     target.loadURI(url, flags, referrer, post_data, null /* headers */);