WebView 3.15: no more static buffers for parsing tag, some fixes, update page not found

git-svn-id: svn://kolibrios.org@8445 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
2020-12-18 15:39:38 +00:00
parent 408000706a
commit 1b9dbc2232
5 changed files with 33 additions and 51 deletions

View File

@@ -35,7 +35,7 @@ VIDINTEL запускается автоматически, его функци
Драйверы ATIKMS и i915 портированы из Линукса. Они дают поддержку аппаратного курсора мыши, смену видеорежимов через утилиту <a href="/kolibrios/utils/vmode">VMODE</a> и акселерацию двумерной графики. Драйверы ATIKMS и i915 портированы из Линукса. Они дают поддержку аппаратного курсора мыши, смену видеорежимов через утилиту <a href="/kolibrios/utils/vmode">VMODE</a> и акселерацию двумерной графики.
Без использования данных драйверов выбор разрешения экрана возможен лишь на этапе загрузки, но не в процессе работы системы. Без использования данных драйверов выбор разрешения экрана возможен лишь на этапе загрузки, но не в процессе работы системы.
<h2>Аудио</h2> <h2 name="audio">Аудио</h2>
Поддерживаются большинство аудиокарт стандарта AC97, HDAudio и SB16. Поддерживаются большинство аудиокарт стандарта AC97, HDAudio и SB16.
Список конкретных поддерживаемых карт есть на вики. Список конкретных поддерживаемых карт есть на вики.
Также поддерживается вывод звука на наушники. Также поддерживается вывод звука на наушники.
@@ -54,7 +54,7 @@ HDD - Поддерживается ядром чтение и запись в р
Поддерживаются USB 1.1 и 2.0 (UHCI, OHCI and EHCI). Также есть поддержка хабов. Поддерживаются USB 1.1 и 2.0 (UHCI, OHCI and EHCI). Также есть поддержка хабов.
USB 3.0 (XHCI) не поддерживается. USB 3.0 (XHCI) не поддерживается.
<h2>Сеть</h2> <h2 name="net">Сеть</h2>
<b>Wi-Fi</b> не поддерживается. <b>Wi-Fi</b> не поддерживается.
<b>Ethernet</b> cетевые контроллеры поддерживаются драйверами в составе ядра ОС, но ведётся активная работа по выносу кода в динамически подгружаемые драйвера. В таблице ниже перечислены поддерживаемые системой в настоящее время. <b>Ethernet</b> cетевые контроллеры поддерживаются драйверами в составе ядра ОС, но ведётся активная работа по выносу кода в динамически подгружаемые драйвера. В таблице ниже перечислены поддерживаемые системой в настоящее время.
@@ -76,7 +76,7 @@ rtl8169 Realtek 8110/8111/8167/8168/8169
sis900 SiS900, 7016 sis900 SiS900, 7016
* - в разработке * - в разработке
<h2>Устройства ввода и вывода</h2> <h2 name="io">Устройства ввода и вывода</h2>
<b>COM-мышь</b> поддерживается драйвером, см. SYSPANEL &gt; <a href="/sys/tinypad|/sys/settings/autorun.dat">AUTORUN</a>. <b>COM-мышь</b> поддерживается драйвером, см. SYSPANEL &gt; <a href="/sys/tinypad|/sys/settings/autorun.dat">AUTORUN</a>.
<b>Встроенный динамик</b> поддерживается ядром ОС, по-умолчанию выключен. Включается в программе SYSPANEL &gt; <a href="/sys/setup">SETUP</a>. <b>Встроенный динамик</b> поддерживается ядром ОС, по-умолчанию выключен. Включается в программе SYSPANEL &gt; <a href="/sys/setup">SETUP</a>.
<b>HDMI</b> ограниченная поддержка, смотрите документацию к видео-драйверам ATIKMS и i915. <b>HDMI</b> ограниченная поддержка, смотрите документацию к видео-драйверам ATIKMS и i915.

View File

@@ -121,7 +121,7 @@ dword _tag::get_next_param(dword ps, pe)
// "q" - quote char // "q" - quote char
char q = NULL; char q = NULL;
dword fixeq; dword fixeq;
unsigned char val[6000]; dword val;
dword attr; dword attr;
if (ESBYTE[pe] == '/') pe--; if (ESBYTE[pe] == '/') pe--;
@@ -136,9 +136,9 @@ dword _tag::get_next_param(dword ps, pe)
//find VAL start and copy //find VAL start and copy
pe = strrchr(ps, q) + ps; pe = strrchr(ps, q) + ps;
strlcpy(#val, pe, sizeof(val)-1); val = pe;
ESBYTE[pe] = '\0';
pe--; pe--;
ESBYTE[pe] = '\0';
//find ATTR end //find ATTR end
while (pe > ps) && (ESBYTE[pe] != '=') pe--; while (pe > ps) && (ESBYTE[pe] != '=') pe--;
@@ -148,7 +148,7 @@ dword _tag::get_next_param(dword ps, pe)
{ {
//find VAL start and copy //find VAL start and copy
while (pe > ps) && (ESBYTE[pe] != '=') pe--; while (pe > ps) && (ESBYTE[pe] != '=') pe--;
strlcpy(#val, pe+1, sizeof(val)-1); val = pe+1;
ESBYTE[pe] = '\0'; ESBYTE[pe] = '\0';
//already have ATTR end //already have ATTR end
} }
@@ -158,21 +158,24 @@ dword _tag::get_next_param(dword ps, pe)
attr = pe + 1; attr = pe + 1;
ESBYTE[pe] = '\0'; ESBYTE[pe] = '\0';
//fix case: src=./images/KolibriOS_logo2.jpg?sid=e8ece8b38b // Fix case: src=./images/logo?sid=e8ece8b38b
// Exchange '=' and '\0' position.
// attr: src=./images/logo?sid => src
// val: e8ece8b38b => ./images/logo?sid=e8ece8b38b
fixeq = strchr(attr,'='); fixeq = strchr(attr,'=');
if (!q) && (fixeq) { if (!q) && (fixeq) {
strlcpy(#val, fixeq+1, sizeof(val)-1); ESBYTE[val-1] >< ESBYTE[fixeq];
ESBYTE[fixeq+1] = '\0'; val = fixeq+1;
} }
strlwr(attr); strlwr(attr);
strrtrim(#val); strrtrim(val);
attributes.add(attr); attributes.add(attr);
values.add(#val); values.add(val);
if (debug_mode) { if (debug_mode) {
debug("atr: "); debugln(attr); debug("atr: "); debugln(attr);
debug("val: "); debugln(#val); debug("val: "); debugln(val);
debugch('\n'); debugch('\n');
} }

View File

@@ -41,7 +41,7 @@
// DATA // // DATA //
// // // //
//===================================================// //===================================================//
char version[]="WebView 3.14"; char version[]="WebView 3.15";
#define DEFAULT_URL URL_SERVICE_HOMEPAGE #define DEFAULT_URL URL_SERVICE_HOMEPAGE
@@ -75,7 +75,7 @@ proc_info Form;
dword cur_img_url; dword cur_img_url;
dword shared_url; dword shared_url;
dword http_get_type; dword http_get_type=PAGE;
dword render_start_time; dword render_start_time;
int menu_id=NULL; int menu_id=NULL;
@@ -723,7 +723,7 @@ void LoadInternalPage(dword _bufdata, _in_bufsize){
} else { } else {
WB1.DrawPage(); WB1.DrawPage();
} }
if (WB1.img_url.count) GetImg(true); if (WB1.img_url.count) { GetImg(true); DrawOmnibox(); }
} }
} }

View File

@@ -1,27 +1,16 @@
<html> <html>
<head> <head><title>Page not found</title></head>
<meta http-equiv="content-type" content="text/html; charset=cp-866" />
<title>Page not found</title>
</head>
<body> <body>
<h1>&nbsp;Webpage Not Available</h1> <h1>&nbsp;Webpage Not Available</h1>
<h2>&nbsp;What could be done:</h2> <h2>&nbsp;What could be done:</h2>
<ul> <ul>
<li> <li>Make sure that evetything fine with Internet connection.<br>
Make sure that evetything fine with Internet connection.<br>
Open <a href="/sys/network/netcfg">Netcfg</a> network diagnostic tool.<br> Open <a href="/sys/network/netcfg">Netcfg</a> network diagnostic tool.<br>
</li> <li>Check page address, there may have been made a typo.<br>
<li> <li>Server is temporarily unavailable.<br>
Check page address, there may have been made a typo.<br>
</li>
<li>
Server is temporarily unavailable.<br>
Refresh the page.<br> Refresh the page.<br>
</li> <li>Browser doesn't handled properly server's response.<br>
<li>
Browser doesn't handled properly server's response.<br>
Please, report an error.<br> Please, report an error.<br>
</li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@@ -4,24 +4,14 @@
<title><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></title> <title><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></title>
</head> </head>
<body> <body>
<h1>&nbsp;<EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></h1> <h1>&nbsp;<EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAdCAMAAAD8QJ61AAAAIVBMVEUBAAAAAAAAgAAAgIAAAIAAAP+AgICZmZnAwMD/mZn///8vq9FJAAAAAXRSTlMAQObYZgAAAORJREFUeNpiGHQAUCcZoEgMwzAQyXbj9f8ffMJp7xz2Om2dgAaUQLF5j8vKBPAS5xWk6eM/iuKqcD7gK6+rjMEXAwqvkX61ICuSwo2uR5jjKBBkCA1ZJDiFrEqahzMIaAgnMG9AjwyBtdAVdO1uwVSQln0GCQvdsU4hkg2WgFhDSBl5DaEZgmVF1ZlPA2kxG0pjL4/QxnWZbQE9ekHHWJHRUMLns260ldA27RCw+m1BGwg+wu5odsM9LYZx3gF7hocwCYFfjr9Vhh5juBb3EQp0rYKgN91/Cu34iGdBHwT729V/8Q+bbAkSfuA/hwAAAABJRU5ErkJggg=="></h1>
<h2>&nbsp;<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><><E1A4A5><EFBFBD><EFBFBD>:</h2>
<ul> <ul>
<li> <li><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>뫠 ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⪠.<br>
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A5AD> <EFBFBD> <20><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<br> <li><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...<br>
<09><><EFBFBD><EFBFBD><E0AEA9> <a href="/sys/network/netcfg">Netcfg</a> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.<br> <li><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A5AD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.<br>
</li> <09> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A5AD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (WiFi <20><><><EFBFBD>). <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭, <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E0A0A9><EFBFBD> <20><><EFBFBD><E2A5A2> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><E0AEA9> <a href="/sys/network/netcfg">Netcfg</a> <20><><E3A1A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> DRIVER 㪠<><E3AAA0><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.<br>
<li> <09><><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A5A2> <20><><EFBFBD><EFBFBD> <a target="_blank" href="/kolibrios/res/guide/hardware_support.htm#net"><EFBFBD><EFBFBD><EFBFBD></a>.<br>
<09><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>뫠 ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.<br> <li><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><20><><EFBFBD><20><EFBFBD> <20><><EFBFBD><EFBFBD>.<br>
</li>
<li>
<09><><EFBFBD> <20><EFBFBD><E0A5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <br>
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AD><EFBFBD>.<br>
</li>
<li>
<09><><EFBFBD><EFBFBD><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E0A0A2><20><><EFBFBD><20><EFBFBD> <20><><EFBFBD><E0A2A5>.<br>
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E8A8A1>.<br> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E8A8A1>.<br>
</li>
</ul> </ul>
</body>
</html>