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:40; helo=resqmta-ch2-08v.sys.comcast.net; envelope-from=eklhad@comcast.net; receiver= Received: from resqmta-ch2-08v.sys.comcast.net (resqmta-ch2-08v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:40]) by hurricane.the-brannons.com (Postfix) with ESMTPS id 16050787E9 for ; Tue, 30 Jan 2018 17:15:49 -0800 (PST) Received: from resomta-ch2-09v.sys.comcast.net ([69.252.207.105]) by resqmta-ch2-08v.sys.comcast.net with ESMTP id ggz2eX3L6vd8rgh0Ve98rJ; Wed, 31 Jan 2018 01:16:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20161114; t=1517361371; bh=ZMC+W3Pe0mYw6l8ogegteGq1dXfWdxr5Md7WigPKJ9I=; h=Received:Received:To:From:Reply-to:Subject:Date:Message-ID: Mime-Version:Content-Type; b=p+nmTismHDh0X0xbQn06biW7ksMXbxOXvaCFxnszT3piGin6QTjgeJkLG0GXF+cm9 wadFZI8U1zSNkvfAwFcoMo83xvAweDflbKAGPYW1W6owH30TA5e1HztC/tl8Vxm7Km dst52vahHeg6AzOnYsObmqsTm4AH7Is6ZvCp4BKAVwk5aKqot1iKFqmp+x3h6piKU3 tfQClWfWZHewik5Ap8a7XQVS2uM6zus2nQbl5dEUv/kiDJpogWie8+U+C42j0FmSAD ezle76ZCRxaq9t1Nl0yKnVs/Z9MXQWT2GIbRAzbfFg1/EHwfj3ug2HU8++3zel9ztA xH9B1Ci9pikwg== Received: from unknown ([IPv6:2601:408:c300:8f09:21e:4fff:fec2:a0f1]) by resomta-ch2-09v.sys.comcast.net with SMTP id gh0UeXUQ4ZSx0gh0UeF0Yq; Wed, 31 Jan 2018 01:16:10 +0000 To: Edbrowse-dev@lists.the-brannons.com From: Karl Dahlke Reply-to: Karl Dahlke User-Agent: edbrowse/3.7.1 Date: Tue, 30 Jan 2018 20:16:10 -0500 Message-ID: <20180030201610.eklhad@comcast.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=nextpart-eb-165206 Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfBnZi6DYCOmLTuFkrJqba1YAGauaaiwWRehcDSOXqIIIOvPwjVj0dmLPOHCs+m0prGf87s8UA2hCH/92ByMgCxo9hBea/p9Oi5qqrBKrctztTjFrF6Ej pNxv8lO4/A/xZbF5hgPnyj360I3TPRtFiU+MhWKEtasdAns89KEAf4T7 Subject: [Edbrowse-dev] master window 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: Wed, 31 Jan 2018 01:15:50 -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-165206 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable It wasn't a rewrite, but certainly a reorganize. Most of startwindow.js now lives in the "master window" block, wherein = it is compiled only once. This saves space and time, and allows for a proper instanceof operator, = as described in my previous post. Here's a tricky thing about the reorganization though. On rare occasions a function refers to document. If compiled once, it always refers to document in window 0. That's bad! I wrote a my$doc function in the master window to figure out the = document of your current context. The compiled-once function can use that to refer to document. I tried function() { return eval("document"); }, which I thought would = run in realtime and work, but it doesn't work. Don't know why. Maybe eval runs once when the function is compiled. In any case, I had to write it as a native method, which isn't hard, = it's only 3 lines of C. This function is critical; it's key to folding all that stuff into the = master window. I also made a few minor fixes here and there, and uncovered something = else that I didn't fix, because I don't know anything about it, never heard of it, and it = logically belongs in another commit. It did however cause a seg fault, and I had to work around that. See startwindow.js line 1421. Here it is, from oranges.com. document.createElement("g:plusone"); document.createElement(''); What are those?! Karl Dahlke --nextpart-eb-165206--