From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2001:558:fe21:29:69:252:207:37; helo=resqmta-ch2-05v.sys.comcast.net; envelope-from=eklhad@comcast.net; receiver= Received: from resqmta-ch2-05v.sys.comcast.net (resqmta-ch2-05v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:37]) by hurricane.the-brannons.com (Postfix) with ESMTPS id 0C8A177AAF for ; Sat, 24 Feb 2018 11:20:05 -0800 (PST) Received: from resomta-ch2-03v.sys.comcast.net ([69.252.207.99]) by resqmta-ch2-05v.sys.comcast.net with ESMTP id pfNEeRVV33HEkpfNhevsu1; Sat, 24 Feb 2018 19:21:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20161114; t=1519500073; bh=klwUJkUQK0BoH3sGb2oEOuzMmEJ/+ewcMteA1g09wk4=; h=Received:Received:To:From:Reply-to:Subject:Date:Message-ID: Mime-Version:Content-Type; b=Tr5DK8uIINsa7fFqDGgbe/SWv47DwPWHhr7UljWTNpUVLFHK70ja7CY0WQPDTmV05 4pgaux2Rodd1JOu3ydJKf3xgWyiFnZdTPBetGT/dF+npK33omMdRjqbipCj/+bH6iX sZtCbB9jl/qGwnu5Uyty0SzmUenzOHWGTwkPn1nyyMB/FEbpV2SFAch7dtBgAQGaDA d1sp06X2RLoZAipUOq5/6BehO7TezqnWTLWStgRChAtssjN7CigYN5i7JEB+oKU0BR AAtPuo3Qng2LGmAc7QkNXP5GWUpez4aYez8NgbvbZVR7Ruxc4NuZciesIwBWADfVfz b2UM26inChkdg== Received: from unknown ([IPv6:2601:408:c300:8f09:21e:4fff:fec2:a0f1]) by resomta-ch2-03v.sys.comcast.net with SMTP id pfNgeHPHrd9oypfNge9FUC; Sat, 24 Feb 2018 19:21:12 +0000 To: Edbrowse-dev@lists.the-brannons.com From: Karl Dahlke Reply-to: Karl Dahlke User-Agent: edbrowse/3.7.2 Date: Sat, 24 Feb 2018 14:21:11 -0500 Message-ID: <20180124142111.eklhad@comcast.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=nextpart-eb-156013 Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfHhSSf57drnUfHHzW1arQuDQl2Jun8UPGvv0I4tYIda1q2O2j1uOGqVJ6TKiLeP3UgNfG+PMSlbALI9Kz23l8B0Jc9A0knu/jKJe9qa9yLamRxzD0d5N Sfv9qoMCearU18W/20Lj+yNU/4fzsEiWCDC1N85Z0G4/bVfQ2M7EKyFe Subject: [Edbrowse-dev] css in c X-BeenThere: edbrowse-dev@lists.the-brannons.com X-Mailman-Version: 2.1.25 Precedence: list List-Id: Edbrowse Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Feb 2018 19:20:06 -0000 This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --nextpart-eb-156013 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Over the past month I've come to conclude that a lot of css stuff will = have to run at document load time, maybe not all of it but enough, and that says the stuff probably has to be rewritten in C. I translated the css parser from javascript to c, thus the new file = css.c. This was about as much fun as cleaning the bathroom. I pushed just because there are 900 new lines of code and I didn't want = to lose all that work if my computer flaked out. It isn't used yet, it just exists. You can invoke it from jdb by cssCompile("css string") or perhaps an existing source like cssCompile(cssSource[0].data) It parses the css and builds the tree of descriptors and rules = internally and prints it out for debugging purposes, in /tmp/css All the old js machinery still does querySelectorAll and = getComputedStyle etc. This is the foundation. I do expect it all to be very fast when done though. I did find a few things while translating that I wasn't doing at all. Like @import url(blah) which lets one css file import another. Like #include So that's working in the c version. And a couple other small fixes too. It's going to be a long road. Karl Dahlke --nextpart-eb-156013--