WebView: Text-based Browser

...
  • Маленький фикс #7163 для поддержки ссылок, которые начинаются на "//".
    Из хаоса в космос
  • Add an option to "Download link contents".
    Attachments
    dl.png
    dl.png (11.15 KiB)
    Viewed 10272 times
    Из хаоса в космос
  • WebView 1.8

    1. possibility to open HTTPS sites via gate.aspero.pro (invisible for user), not working for files
    2. rewrite parse tag function to fix broken URLs on page in some cases ("/user" instead of "/user/")
    3. unify page/file downloading code
    4. fix hand cursor appearance, fix progress bar on page load
    5. load homepage on submitting empty url in adressbox
    6. F12 - debug on, F11 - old tag parser on

    1. возможность открытия HTTPS сайтов через шлюз gate.aspero.pro
    2. улучшения в парсинге тегов
    3. объединение кода загрузки страницы и файла
    4. исправлено отображение курсора и прогресс бара
    5. отображение домашней страницы когда ползователь перешел по пустому адресу
    6. F12 - включает дебаг, F11 - включает старый парсер тега
    Attachments
    https site opened
    wikipeda in webview 1.8.png (19.72 KiB)
    https site opened Viewed 10174 times
    Из хаоса в космос
  • Некоторые ссылки не правильно парсятся, например этот пост Пытаюсь понять почему, но пока идей нет. Судя по всему, проблема в тех ссылках, которые вставляется в комментарий не через тег url.
    Кстати, а почему WebView а не Aelia?
    to infinity and beyond
  • Aelia - попытка переписать WebView и написать его правильно. Я забросил Aelia т.к. в процессе переписывания понял, что не потяну. Некоторые вещи действительно сделал лучше, но не ядро. В частности, в WebView практически не используются указатели и структуры, вместо этого копирование строк и спагетти код из глобальных переменных и функций. Последние мои правки #7281 и #7282 говорят о том, что я стал значительно лучшим программистом, чем был :)
    Возможно, я очень надеюсь, что теперь смогу сделать лучше :)
    Из хаоса в космос
  • Снова всплыло
    Attachments
    title_error_webview.gif
    title_error_webview.gif (12.93 KiB)
    Viewed 9792 times
    to infinity and beyond
  • punk_joker wrote:Снова всплыло
    This is just cause UTF-8.

    Bug reports.

    BUG #1: When WebView gets to LF symbol, it creates new line in document

    Steps to produce:
    0. Connect internet
    1. Open WebView
    2. Go to page "boppan.org"
    3. See new line after "H!".

    Here is HEX dump of retrieved HTML

    Code: Select all

    00000000: 3c74 6974 6c65 3e42 6f70 7061 6e2e 6f72  <title>Boppan.or
    00000010: 673c 2f74 6974 6c65 3e3c 7374 796c 653e  g</title><style>
    00000020: 2a7b 6d61 7267 696e 3a30 2061 7574 6f3b  *{margin:0 auto;
    00000030: 7769 6474 683a 2036 3530 7078 7d70 7b66  width: 650px}p{f
    00000040: 6f6e 742d 7369 7a65 3a33 3270 787d 3c2f  ont-size:32px}</
    00000050: 7374 796c 653e 3c70 3e3c 6120 6872 6566  style><p><a href
    00000060: 3d22 7573 6572 732f 223e 5573 6572 733c  ="users/">Users<
    00000070: 2f61 3e3c 2f70 3e3c 6872 3e3c 736d 616c  /a></p><hr><smal
    00000080: 6c3e 596f 7572 2062 726f 7773 6572 2069  l>Your browser i
    00000090: 7320 556e 6b6e 6f77 6e20 3f20 6f6e 204c  s Unknown ? on L
    000000a0: 696e 7578 3c2f 736d 616c 6c3e 3c62 723e  inux</small><br>
    000000b0: 3c73 6d61 6c6c 3e48 210a 2066 726f 6d20  <small>H!. from 
    000000c0: 4845 4c4c 4f2e 6578 6521 3c2f 736d 616c  HELLO.exe!</smal
    000000d0: 6c3e                                     l>
    *replace "Unknown ? on Linux" by "WebView 1.1 on KolibriOS"*

    Problem byte is 0x0a (LF, '\n') at offset b9 (line b0, word 5, higher byte).

    BUG #2: Looks like WebView don't parse "title" tag if is the first one (caption does not change).
    Attachments
    newline.png
    newline.png (19.4 KiB)
    Viewed 8778 times
  • Hello Boppan,

    Your HTML page is totally invalid! It lacks html and body tags. It is a miracle that WebView can handle it.
    Please fix your page structure and retry.

    Use https://validator.w3.org/
    Из хаоса в космос
  • Leency wrote:Hello Boppan,

    Your HTML page is totally invalid! It lacks html and body tags. It is a miracle that WebView can handle it.
    Please fix your page structure and retry.

    Use https://validator.w3.org/
    Well, <!DOCTYPE html> helps, but it increased size of the page by 15 bytes. I'm sad...

    And one more extrimely strange bug detected: if I add HTML tag, WebView only draws one <hr> line. If you add one more <hr>, it also will be skipped.

    What's wrong with the code?

    Code: Select all

    <!DOCTYPE html>
    <html>
        <p>WHERE IS THIS TEXT???</p>
        <hr>
        <p> The line is here but... the text??</p>
        <hr> This line is also skipped
    </html>
    When I remove HTML tags all good, but with em the page breaks.

    UPD: Oops, I forget about <BODY>. No questions, the browser strongly follows the standard :)
    UPD: I hate the standard. +36 bytes just for nothing.
  • Приветствую!

    Ещё один малюсенький, но баг, при переходе по ссылкам пробелы не превращаются в %20.

    Пример такой ссылки: 'http://boppan.org/blog/?ru %D0%9E%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80+%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D0%B0+Fortran+77'

    Пробел стоит в начале ссылки после слова ru.

    Репрезентующая страница: boppan.org/file/wvb

    WebView показывает страницу-загрушку "Bad Request", но если мы, находясь на ней, в строке адреса вместо пробела вначале вставим "+" или "%20", страницу он найдёт.

    PS: Не уверен, на чьей стороне баг, мэйби, такое должно хэндлиться в libHTTP, мэйби нет.
    PPS: Могу помочь с тестированием.
  • Boppan wrote:Ещё один малюсенький, но баг, при переходе по ссылкам пробелы не превращаются в %20.
    C тебя бутылка сока #7720.
    Из хаоса в космос
  • WebView 1.82

    Ааа?? ААА??? Не ждали? :)

    В #7738 я пофиксил два древнейших бага:

    1. Исправлено падение на страницах, которые были длинной более 32000 пикселей - а таких много в современном вэбе.
    Если в кратце, я сделал динамическое выделение памяти под страницу и теперь по-умолчанию браузер отгрызает в 2 раза меньше памяти, а если нужно, то ест сколько требуется.
    Но из-за ограничений сисфункции ядра для записи текста в буфер, когда позиция текста по Y превышает 32000 то он тупо не пишется.

    2. Исправлен переход по ссылкам вида # и #idname, но и тут есть два замечания:
    - ссылки вида index.hml#idname пока работать не будут, работает только если # в начале ссылки. Я это позже исправлю.
    - индексируются только те id= и name= которые стоят в конце строки параметров. Например, <div name="hello" class=active"> не ок, должно быть <div class=active" name="hello"> или просто <div id="hello">. Тут пофиксить будет сложнее, но я чет попытаюсь.
    Last edited by Leency on Fri Mar 20, 2020 4:35 am, edited 1 time in total.
    Из хаоса в космос
  • Корона вирус к вам ещё не пришёл?
    Я один из тех, кто ещё не программист, но уже не новичок.
    Редактор в группе "KolibriOS - официальная группа".
  • WebView 1.83
    Leency wrote:из-за ограничений сисфункции ядра для записи текста в буфер, когда позиция текста по Y превышает 32000 то он тупо не пишется.
    Я это обошел хаком через смещение буфера.
    @Ядерщики, посмотрите пожалуйста в чем там проблема http://board.kolibrios.org/viewtopic.ph ... =60#p74068
    ссылки вида index.hml#idname пока работать не будут
    Уже работают.

    Еще я исправил глупый баг с крэшем браузера, если страница не найдена в некоторых случаях.
    Это прям очень хорошая версия, потому что браузер стал обрабатывать большие документы без проблем и падать намного реже :D
    Из хаоса в космос
  • Who is online

    Users browsing this forum: No registered users and 1 guest