Расскажите о ядре браузера из события Red Core (1)

внешний интерфейс браузер Microsoft CSS

За последние несколько дней все, должно быть, были взломаны браузером с красным ядром.Этот продукт:




Известное как пятое независимое ядро ​​в мире и первое в Китае, неужели так просто быть ядром браузера?

Так уж получилось, что я много лет собираю информацию и анекдоты о различных браузерах, давайте посмотрим, что такое ядро ​​браузера и насколько оно сложное.

Говоря о браузерах, мы должны начать с IE и Netscape.

Доисторическая эра ИТ-индустрии

В доисторическую эпоху ИТ-индустрии (1992 г.), когда люди могли только читать строку за строкой символов на черно-белом экране в Интернете, Марк Андерсон из Университета Иллинойса (NCSA) придумал причудливый браузер под названием Мозаика, которая может отображать графическую информацию. После того, как он был бесплатно распространен в Интернете, все очень заинтересовались этим интерактивным методом. Но они поняли, что каким бы популярным ни был браузер Mosaic, это был всего лишь школьный продукт. К их ужасу, им не удалось убедить Иллинойсский университет передать браузер Mosaic. В конце концов Андерсон решил переписать браузер.Общими усилиями вышел новый платный браузер.Это был Navigator, а компания называлась Netscape, которая была основана в 1994 году.

Вскоре после того, как Netspace стала публичной, Microsoft выпустила долгожданную новую операционную систему Windows 95 вместе со своим браузером Internet Explore 1.0.

Функционал IE был очень пикантным на тот момент, не поддерживал Java, не поддерживал плагины, да и скорость была очень медленной. На самом деле IE1.0 в это время был трансформирован из браузера NCSA Mosaic, а время его выпуска — август 1995 года. В ноябре того же года Microsoft с энтузиазмом выпустила версию 2.0.

Другими словами, IE и Netspace года были взяты из Mosaic года.

Интересно, что много лет спустя просочился код для Microsoft NT4 и win2k, в котором оказался код для IE2 и IE5.5. Итак, однажды в 2011 году я по прихоти также вычел эти два продукта из просочившегося кода Microsoft и потратил много усилий на их компиляцию.Что касается кода, см.:

Не совсем. PE DIY.com/thread-1376…

Код IE2 относительно легко компилируется, в нем нужно восполнить кучу недостающих заголовочных файлов, а также неполные дополнения для отдельных реализаций, на основе понимания архитектуры исправлены некоторые мелкие ошибки.



Последняя картинка IE2.

IE2 - древний браузер без движка Microsoft Trident для набора текста. Говорят, что он был изменен с Mosaic. В настоящее время CSS еще не изобретен, и разрыв между ним и нынешним браузером огромен.

Но IE2 не значит, что он бесполезен, по крайней мере, я портировал эту штуку в свою интерфейсную библиотеку, и она стала офигенной richedit, хе-хе...

На самом деле структура IE2 очень понятна, и процесс ее вывода очень интересен. IE2 — это функция для отображения всех картинок и текстов. Также есть несколько функций, отвечающих за парсинг html.

После того, как я вычел это тогда, я сделал элемент управления отображением текста, что было очень круто, ха-ха. Логика выделения текста также завершена и легко читается, поскольку выполнена на чистом C.

После того, как SGML_write преобразует html в _w3doc, он вызывает TW_Draw для отображения всего содержимого, включая изображения.

Хронология приближается к эпохе IE6

За это время произошло большое событие, а также был изобретен CSS. согласно с

Ууху. Call.com/question/29…

Как указано в описании, человека, который изобрел CSS, зовут Хокон Виум Ли, технический директор Opera.

Интересно, что предшественник вебкита ядра другого браузера, KHTML, появился из проекта QT компании Trolltech. KHTML и Opera — обе норвежские компании, они в основном идут вверх и вниз по лестнице, и часть кода используется совместно, так что я должен подозревать, что они начали работать над ядром браузера в одно и то же время, а затем начали разошлись почему-то.

Таким образом, также видно, что пять популярных ядер (Opera, blink, webkit, firefox, IE), три из которых являются производными от норвежской фракции года, и даже многие стандарты CSS могут быть специально разработаны для Opera, а затем предложено стать стандартом.

Говоря об IE6, в то время это был эпохальный браузер. Хотя он был взломан сегодня, он также показывает, насколько мощным был тогда IE6, и до сих пор демонстрирует свою остаточную теплоту.

IE6 и его предшественник IE5.5 предлагали множество вещей, которые сегодня кажутся очень черными технологиями. Например:

1. Предлагаемый XMLHttpRequest, который стал AJAX, охватившим мир после того, как был обнаружен Google.

2. Предлагайте VML, язык векторного рендеринга, и рисуйте все виды крутой векторной графики.

3. Предложите функцию фильтра, с помощью которой можно добиться различных интересных эффектов для веб-страниц. По сути, анимация жалюзи в word, которую вы часто видите, — это функция фильтра. И что интересно, эта функция в word использует тот же модуль, что и IE.Я также пытался напрямую вызывать COM-интерфейс в своей собственной программе, чтобы добиться такого же крутого эффекта.

4. Концепция HTA, может стать локальным приложением непосредственно к html. А теперь гибридное приложение PWA не похоже на иже с ним?

5. Различные расширенные функции набора текста CSS.

Именно столько волшебных и мощных функций заставляют IE6 взорвать старого конкурента Netscape после своего запуска (конечно, Microsoft тоже использовала массу непристойных средств, вроде такой же комплектной установки, как 360). С тех пор Microsoft доминирует на рынке браузеров, так что 10 лет всему отделу браузеров делать было нечего, а потом его расформировали... в принципе нечего было развивать.

Библиотека интерфейса кода IE

Желающие ознакомиться с IE5.5\IE6 могут скачать его прямо сейчас в моем посте. Когда я был шокирован IE, я также попытался вычесть часть IE из утекшего кода win2k. Наконец, когда я был на полпути, я обнаружил, что уже вышел другой приятель-стручок, который организовал код IE5.5 в одну из своих интерфейсных библиотек (говорят, что, когда брат Ван набрал этот код, все плечи у него сжались). tapped вышел.Проблема в том,что он тоже очень жесткий):











Библиотека интерфейса кода на основе IE, организованная Wanxiong, не только имеет базовые функции div + css, но также поддерживает элементы управления ActiveX и эффекты фильтрации в интерфейсе. Однако vml не поддерживает его.По моим оценкам, версия кода vml для IE5.5 еще не разработана.

Ранее я написал несколько статей об этой версии архитектуры IE, которые изначально были размещены на Baidu Space, но Baidu Space закрылся, и статьи исчезли...

С небольшим остаточным впечатлением я вспоминаю, что эта версия кода немного сложна для понимания. Не так уж запутанно сказать, что разделение различных классов в нем очень четкое, но может быть это привычка старых программистов, вышедших из эпохи ДОСа.Многие имена переменных и функций в коде сокращены, что выглядит утомительно Всегда помните, что означают такие переменные, как pPbsz.


Подсчитано, что Microsoft ищет для меня проблемы, в конце концов, это утечка кода

Тем не менее, эта заметка написана хорошо.

Интересно, что проблема IE hasLayout, которая когда-то была известна в мире внешнего интерфейса, может быть найдена в этом коде, чтобы найти причину проблемы.


Подсчитано, что Microsoft ищет для меня проблемы, в конце концов, это утечка кода


Аннотация для haslayout

Из кода видно, что haslayout — это переменная-член элемента, которая используется для сокращения вычислений верстки. Те, кому интересно, могут внимательно прочитать конкретную логику haslayout.

Есть небольшая проблема с этой версией архитектуры IE, она не разделяет верстку и рендеринг, и все они смешаны в одной структуре данных (а позже webkit делится на Node и RenderObject), и нет кроссплатформенной подготовки , все из которых используют структуры данных Windows, такие как HDC. Не знаю, надо ли блевать кровью, когда IE реализует кроссплатформенность на MAC.

Говорят, что после выхода IE6 на N лет Google встал и дал ему пощечину. Первоначально Google продвигал Firfox (то есть после того, как Netscape был передан сообществу открытого исходного кода, новый браузер, возродившийся после реорганизации), но Google концентрирует огромные средства на разработке собственного браузера с открытым исходным кодом: chrome. Конечно же, в 2008 году, когда вышел хром, это сразу потрясло весь мир, в том числе и меня, конечно. Предскажите, что произойдет в будущем, и посмотрите на следующую декомпозицию.