Newsgroup: it.comp.www.html
Titolo: Browser Wars II: The Saga Continues

questo l'ho spedito ieri e non e' ancora arrivato al NG,
riprovo:
http://tinyurl.com/govf
''The famous talk show transcript says: "Further improvements to IE will
require enhancements to the underlying OS." I tentatively translate this
line as "We cannot improve IE any more" because it fits with an idea
I've had in the back of my mind for two years now.''
''Why is Microsoft unwilling to fix the CSS bugs that everyone's been
asking it to fix for ages? I think it's not *unwilling* but *unable* to
do so. Explorer's code engine cannot be updated any more.''
come conclude l'autore se fosse cosi', MS si ritroverebbe nella stessa
situazione di Netscape nel 1998 quando quest'ultima rese conto che
l'engine di NS4 era talmente compromesso da dover riscrivere il tutto da
zero.
***
"Should Netscape have abandoned its code?"
http://www.mozillazine.org/talkback.html?article=3398
''I know it's been argued ad nauseam, but Guardian may have brought up
one correct point: the time it took Netscape/Mozilla to rewrite
everything from the ground up gave away a piece of the market that it
couldn't have afforded to lose. Assuming that Netscape 7.0 was the first
usable version of Gecko for the public, we lost 4 years of competition.
Could the code have been so bad?''
''Yes. It waS. More importantly, it was not at all designed to have a
DOM tree or render CSS -- retrofitting those on top of it would have
been nearly impossible.''
ciao.
-- 
goldicus1970 AT 
yahoo.it
http://www.deelan.com

 zero.
E, per quanto da te citato sopra, non penso sia una cosa molto lontana dalla
realtà.
Poi secondo me un po' tutti i browser saranno da rivedere con l'arrivo,
ormai imminente, di CSS3... o no? :)
Deep

ormai imminente, di CSS3... o no? :)
Per ora l'unico che un supporto minimo a CSS3 č Moz per quanto ne so
io :)
-- 
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com
XmlDesk - 
http://tinyurl.com/fhrz
 - for Xml developers
UGIdotNET - User Group Italiano .NET - 
http://www.ugidotnet.org

 io :)
anche opera7, con i selector mi sembra che sia allineato
a moz, se non ricordo male pero' ha ":content" che moz non
ha ancora.
guarda qui:
http://www.macedition.com/cb/resources/css3support_selectors.html
ciao.
-- 
email: goldicus1970 AT 
yahoo.it
web: 
http://www.deelan.com


http://www.macedition.com/cb/resources/css3support_selectors.html
Quello + avanti di tutti sembrerebbe MSN for Mac OS X :)


 ormai imminente, di CSS3... o no? :)
naaa, non credo.. alla fine sono sempre l'estensione
dei CSS2.1. IMO una delle cose piu' complesse da fare e'
generare contenuto via CSS (:before e :after) ma moz
e gli altri gia' lo fanno con i CSS2.
tra l'altro come programmatore, mi sono chiesto spesso come
rappresentano in memoria una pagina e come associano le
regole dei CSS. deve essere piuttosto complesso.


regole dei CSS. deve essere piuttosto complesso.
Sarebbe interessante provare a scrivere un browser (anche minimale)
proprio per vivere in prima persona questo genere di cose


 proprio per vivere in prima persona questo genere di cose
guarda caso ieri ho preso carta e penna e ho cominciato a buttar giu'
qualche idea. ho cominciato a porre qualche limite:
* XHTML (quindi XML valido, se non e' valido ti attacchi)
* CSS1
poi ho detto: SAX parser di python, e costruzione
del doc-tree in memoria. cacciamoci anche un DTD
per verificare che oltre che well-formed l'XHTML
sia anche coerente.
tempo fa ho trovato un DTD  parser. supponiamo
di avere un CSS parser per  python (non ce l'abbiamo).
ti smazzi l'XHTML con il SAX parser e costruisci un doc-tree
in memoria, mantieni lo stato di dove di trovi con uno stack (una
lista). in style-info poi raccogli tutti gli stili che possono arrivare
da un CSS esterno, da un blocco <style>, style="", class="".
qui decidi anche le proprieta', style-info sara' oridinata
per peso degli stili.
implicitamente il browser carica un default.css dove all'interno
ci sono gli stili di default per ogni elemento definito nell'XHTML
quindi, ad esempio, H1 sara' font-size:24px, font-weight:bold display:block.
parlando pythonicamente style-info potrebbe essere una lista
di dictionary:
<p> tag = [
  {'border': (top, left, bottom, right)}
  {'background': backgroundStruct}
]
poi si puo' decidere di costruire delle strutture ad hoc per
i vari attributi, backgroundStruct avra' "color", "url",
"repeat", "posx", "posy" e via cosi'.
si puo' decidere di codificare color con una tuple (R, G, B, A)
di float in modo da "normalizzarlo" qualsiasi sia la
forma abbia usato l'autore per specificare il colore
color: #000; ---> (0.0, 0.0, 0.0, 0.0)
color: black; ---> (0.0, 0.0, 0.0, 0.0)
ok, sta cosa fa acqua da tutta le parti, ma siate
comprensivi, ieri era un caldo boia.
una volta che abbiamo il doc-tree in memoria possiamo provare
a visualizzarlo. e qui mi sono incartato. non ho ben chiaro
come fare... <body> non puo' conoscere immediatemente, prima non ha ma
deve prima interpellare i suoi nodi figli e cosi via a
seguire:
<body>
   <div>
     <p>Testo di <strong>esempio</strong>.</p>
   </div>
</body>
ad un certo punto <p> sapra' quanto sara' alto e
largo... dovra' calcolare le sue dimensioni interpellando
anche l'inline-element <strong>. <p> dovra' tener conto
di padding, border e margin e poi passera' questa informazione
al <div> padre e cosi' a ritroso.
...e non abbiamo tenuto conto del fatto che alcuni elementi
possono essere float'ed.


 proprio per vivere in prima persona questo genere di cose
guarda caso ieri ho preso carta e penna e ho cominciato a buttar giu'















ciao.


possono essere float'ed.
Sinceramente nemmeno io ho la + pallida idea di come fare :P
-- 
Lawrence "Rhymes" Oluyede
http://loluyede.blogspot.com
rhy...@NOSPAMmyself.com

 Sinceramente nemmeno io ho la + pallida idea di come fare :P
il bello di 'sta baracca e che' permetterebbe di essere
scriptata via python anziche' JS. ma sai che bello?
<script type="text/python">
def onload(page):
   ...
</script>
hehehe :)


hehehe :)
eh eh per me potremmo metterci una vita...ma č una figata :)


 aiutarci? Se no chiedo su comp.lang.python o su it.comp.lang.python
so di un progetto ora abbandonato (chiamto "grail") che
mirava ad costruire un webbrowser in python. ho recuperato
i sorgenti
http://grail.sourceforge.net/
cmq e' stato sviluppato in py 1.5. ho provato ad
eseguirlo, ma mi lancia deprecationwarning a
tutto spiano e poi muore.  ;(
ciao


tutto spiano e poi muore.  ;(
Ci guarderò :)
