mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
Show the URI in the title bar even if document title is set.
ECMAcript's window.title overrides this.
This commit is contained in:
parent
c656c5c929
commit
d06cccffd6
@ -35,6 +35,7 @@
|
|||||||
#include "document/renderer.h"
|
#include "document/renderer.h"
|
||||||
#include "intl/charsets.h"
|
#include "intl/charsets.h"
|
||||||
#include "osdep/types.h"
|
#include "osdep/types.h"
|
||||||
|
#include "protocol/protocol.h"
|
||||||
#include "protocol/uri.h"
|
#include "protocol/uri.h"
|
||||||
#include "session/session.h"
|
#include "session/session.h"
|
||||||
#include "terminal/color.h"
|
#include "terminal/color.h"
|
||||||
@ -2411,6 +2412,7 @@ render_html_document(struct cache_entry *cached, struct document *document,
|
|||||||
unsigned char *start;
|
unsigned char *start;
|
||||||
unsigned char *end;
|
unsigned char *end;
|
||||||
struct string title;
|
struct string title;
|
||||||
|
struct string uristring;
|
||||||
struct string head;
|
struct string head;
|
||||||
|
|
||||||
assert(cached && document);
|
assert(cached && document);
|
||||||
@ -2442,14 +2444,41 @@ render_html_document(struct cache_entry *cached, struct document *document,
|
|||||||
#endif /* CONFIG_UTF8 */
|
#endif /* CONFIG_UTF8 */
|
||||||
html_context->doc_cp = document->cp;
|
html_context->doc_cp = document->cp;
|
||||||
|
|
||||||
if (title.length) {
|
/* setting URI in the title bar */
|
||||||
|
if (init_string(&uristring)) {
|
||||||
|
unsigned char *url;
|
||||||
|
enum uri_component components;
|
||||||
|
|
||||||
|
if (cached->uri->protocol == PROTOCOL_FILE) {
|
||||||
|
components = URI_PATH;
|
||||||
|
} else {
|
||||||
|
components = URI_PUBLIC;
|
||||||
|
}
|
||||||
|
url = get_uri_string(cached->uri, components);
|
||||||
|
if (url) {
|
||||||
|
#ifdef CONFIG_UTF8
|
||||||
|
if (document->options.utf8)
|
||||||
|
decode_uri(url);
|
||||||
|
else
|
||||||
|
#endif /* CONFIG_UTF8 */
|
||||||
|
decode_uri_for_display(url);
|
||||||
|
|
||||||
|
add_to_string(&uristring, url);
|
||||||
|
add_char_to_string(&uristring, ' ');
|
||||||
|
mem_free(url);
|
||||||
|
}
|
||||||
|
add_string_to_string(&uristring, &title);
|
||||||
|
|
||||||
|
if (uristring.length) {
|
||||||
/* CSM_DEFAULT because init_html_parser() did not
|
/* CSM_DEFAULT because init_html_parser() did not
|
||||||
* decode entities in the title. */
|
* decode entities in the title. */
|
||||||
document->title = convert_string(renderer_context.convert_table,
|
document->title = convert_string(renderer_context.convert_table,
|
||||||
title.source, title.length,
|
uristring.source, uristring.length,
|
||||||
document->options.cp,
|
document->options.cp,
|
||||||
CSM_DEFAULT, NULL, NULL, NULL);
|
CSM_DEFAULT, NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
done_string(&uristring);
|
||||||
|
}
|
||||||
done_string(&title);
|
done_string(&title);
|
||||||
|
|
||||||
part = format_html_part(html_context, start, end, par_format.align,
|
part = format_html_part(html_context, start, end, par_format.align,
|
||||||
|
Loading…
Reference in New Issue
Block a user