>From ccb4a6d1090cdedb502af0ab6b95d6542cc201c2 Mon Sep 17 00:00:00 2001
From: Kevin Carhart <[email protected]>
Date: Thu, 30 Jun 2016 20:14:31 -0700
Subject: [PATCH] (1) Commenting out the iframe may cause regressions, so this
 is backed out.  (2) The changes to addEventListener are undone because the
 reason why it works is too opaque.  It isn't stable enough to go in the
 master branch.  We want event firing to work, but if it doesn't, we had
 better implement something with better comprehension of the root cause of why
 (3) fixing KC mistake in adding hasAttribute to prototypes.

---
 src/decorate.c     |  2 +-
 src/startwindow.js | 48 ++++++++++++++++++------------------------------
 2 files changed, 19 insertions(+), 31 deletions(-)

diff --git a/src/decorate.c b/src/decorate.c
index 0704596..d512357 100644
--- a/src/decorate.c
+++ b/src/decorate.c
@@ -1274,7 +1274,7 @@ const struct tagInfo availableTags[] = {
        {"form", "a form", TAGACT_FORM, 10, 1},
        {"button", "a button", TAGACT_INPUT, 0, 4},
        {"frame", "a frame", TAGACT_FRAME, 2, 4},
-//     {"iframe", "a frame", TAGACT_FRAME, 2, 4},
+       {"iframe", "a frame", TAGACT_FRAME, 2, 4},
        {"map", "an image map", TAGACT_MAP, 2, 4},
        {"area", "an image map area", TAGACT_AREA, 0, 4},
        {"table", "a table", TAGACT_TABLE, 10, 1},
diff --git a/src/startwindow.js b/src/startwindow.js
index a8223de..2675875 100644
--- a/src/startwindow.js
+++ b/src/startwindow.js
@@ -510,7 +510,6 @@ Third arg is not used cause I don't understand it.
 
 function addEventListener(ev, handler, notused)
 {
-ev_before_changes = ev;
 ev = "on" + ev;
 var evarray = ev + "$$array"; // array of handlers
 var evorig = ev + "$$orig"; // original handler from html
@@ -524,7 +523,7 @@ this[ev] = undefined;
 }
 this[evarray] = a;
 eval(
-'this.' + ev + ' = function(){ var a = this.' + evarray + '; if(this.' + 
evorig + ') this.' + evorig + '(); for(var i = 0; i<a.length; ++i) {var 
tempEvent = new Event;tempEvent.type = "' + ev_before_changes + 
'";a[i](tempEvent);} };');
+'this.' + ev + ' = function(){ var a = this.' + evarray + '; if(this.' + 
evorig + ') this.' + evorig + '(); for(var i = 0; i<a.length; ++i) {a[i]();} 
};');
 }
 this[evarray].push(handler);
 }
@@ -769,7 +768,7 @@ Array.prototype.hasChildNodes = document.hasChildNodes;
 Array.prototype.replaceChild = document.replaceChild;
 Array.prototype.getAttribute = document.getAttribute;
 Array.prototype.setAttribute = document.setAttribute;
-Array.prototype.hasAttribute = document.setAttribute;
+Array.prototype.hasAttribute = document.hasAttribute;
 
 Head.prototype.appendChild = document.appendChild;
 Head.prototype.apch$ = document.apch$;
@@ -786,7 +785,7 @@ Head.prototype.replaceChild = document.replaceChild;
 Head.prototype.getAttribute = document.getAttribute;
 Head.prototype.setAttribute = document.setAttribute;
 Head.prototype.cloneNode = document.cloneNode;
-Head.prototype.hasAttribute = document.setAttribute;
+Head.prototype.hasAttribute = document.hasAttribute;
 
 Body.prototype.appendChild = document.appendChild;
 Body.prototype.apch$ = document.apch$;
@@ -803,7 +802,7 @@ Body.prototype.replaceChild = document.replaceChild;
 Body.prototype.getAttribute = document.getAttribute;
 Body.prototype.setAttribute = document.setAttribute;
 Body.prototype.cloneNode = document.cloneNode;
-Body.prototype.hasAttribute = document.setAttribute;
+Body.prototype.hasAttribute = document.hasAttribute;
 
 /*********************************************************************
 Special functions for form and input.
@@ -862,7 +861,7 @@ Form.prototype.replaceChild = document.replaceChild;
 Form.prototype.getAttribute = document.getAttribute;
 Form.prototype.setAttribute = document.setAttribute;
 Form.prototype.cloneNode = document.cloneNode;
-Form.prototype.hasAttribute = document.setAttribute;
+Form.prototype.hasAttribute = document.hasAttribute;
 
 Element.prototype.appendChild = document.appendChild;
 Element.prototype.apch$ = document.apch$;
@@ -881,7 +880,7 @@ Element.prototype.setAttribute = document.setAttribute;
 Element.prototype.focus = document.focus;
 Element.prototype.blur = document.blur;
 Element.prototype.cloneNode = document.cloneNode;
-Element.prototype.hasAttribute = document.setAttribute;
+Element.prototype.hasAttribute = document.hasAttribute;
 
 Anchor.prototype.appendChild = document.appendChild;
 Anchor.prototype.apch$ = document.apch$;
@@ -890,7 +889,7 @@ Anchor.prototype.blur = document.blur;
 Anchor.prototype.getAttribute = document.getAttribute;
 Anchor.prototype.setAttribute = document.setAttribute;
 Anchor.prototype.cloneNode = document.cloneNode;
-Anchor.prototype.hasAttribute = document.setAttribute;
+Anchor.prototype.hasAttribute = document.hasAttribute;
 
 Div.prototype.appendChild = document.appendChild;
 Div.prototype.apch$ = document.apch$;
@@ -907,7 +906,7 @@ Div.prototype.replaceChild = document.replaceChild;
 Div.prototype.getAttribute = document.getAttribute;
 Div.prototype.setAttribute = document.setAttribute;
 Div.prototype.cloneNode = document.cloneNode;
-Div.prototype.hasAttribute = document.setAttribute;
+Div.prototype.hasAttribute = document.hasAttribute;
 
 HtmlObj.prototype.appendChild = document.appendChild;
 HtmlObj.prototype.apch$ = document.apch$;
@@ -924,12 +923,12 @@ HtmlObj.prototype.replaceChild = document.replaceChild;
 HtmlObj.prototype.getAttribute = document.getAttribute;
 HtmlObj.prototype.setAttribute = document.setAttribute;
 HtmlObj.prototype.cloneNode = document.cloneNode;
-HtmlObj.prototype.hasAttribute = document.setAttribute;
+HtmlObj.prototype.hasAttribute = document.hasAttribute;
 
 Script.prototype.getAttribute = document.getAttribute;
 Script.prototype.setAttribute = document.setAttribute;
 Script.prototype.cloneNode = document.cloneNode;
-Script.prototype.hasAttribute = document.setAttribute;
+Script.prototype.hasAttribute = document.hasAttribute;
 
 P.prototype.appendChild = document.appendChild;
 P.prototype.apch$ = document.apch$;
@@ -946,7 +945,7 @@ P.prototype.hasChildNodes = document.hasChildNodes;
 P.prototype.removeChild = document.removeChild;
 P.prototype.replaceChild = document.replaceChild;
 P.prototype.cloneNode = document.cloneNode;
-P.prototype.setAttribute = document.setAttribute;
+P.prototype.setAttribute = document.hasAttribute;
 
 Lister.prototype.appendChild = document.appendChild;
 Lister.prototype.apch$ = document.apch$;
@@ -963,7 +962,7 @@ Lister.prototype.hasChildNodes = document.hasChildNodes;
 Lister.prototype.removeChild = document.removeChild;
 Lister.prototype.replaceChild = document.replaceChild;
 Lister.prototype.cloneNode = document.cloneNode;
-Lister.prototype.hasAttribute = document.setAttribute;
+Lister.prototype.hasAttribute = document.hasAttribute;
 
 Listitem.prototype.appendChild = document.appendChild;
 Listitem.prototype.apch$ = document.apch$;
@@ -980,7 +979,7 @@ Listitem.prototype.hasChildNodes = document.hasChildNodes;
 Listitem.prototype.removeChild = document.removeChild;
 Listitem.prototype.replaceChild = document.replaceChild;
 Listitem.prototype.cloneNode = document.cloneNode;
-Listitem.prototype.hasAttribute = document.setAttribute;
+Listitem.prototype.hasAttribute = document.hasAttribute;
 
 Table.prototype.appendChild = document.appendChild;
 Table.prototype.apch$ = document.apch$;
@@ -997,7 +996,7 @@ Table.prototype.hasChildNodes = document.hasChildNodes;
 Table.prototype.removeChild = document.removeChild;
 Table.prototype.replaceChild = document.replaceChild;
 Table.prototype.cloneNode = document.cloneNode;
-Table.prototype.hasAttribute = document.setAttribute;
+Table.prototype.hasAttribute = document.hasAttribute;
 
 Tbody.prototype.appendChild = document.appendChild;
 Tbody.prototype.apch$ = document.apch$;
@@ -1014,7 +1013,7 @@ Tbody.prototype.hasChildNodes = document.hasChildNodes;
 Tbody.prototype.removeChild = document.removeChild;
 Tbody.prototype.replaceChild = document.replaceChild;
 Tbody.prototype.cloneNode = document.cloneNode;
-Tbody.prototype.hasAttribute = document.setAttribute;
+Tbody.prototype.hasAttribute = document.hasAttribute;
 
 Trow.prototype.appendChild = document.appendChild;
 Trow.prototype.apch$ = document.apch$;
@@ -1031,7 +1030,7 @@ Trow.prototype.hasChildNodes = document.hasChildNodes;
 Trow.prototype.removeChild = document.removeChild;
 Trow.prototype.replaceChild = document.replaceChild;
 Trow.prototype.cloneNode = document.cloneNode;
-Trow.prototype.hasAttribute = document.setAttribute;
+Trow.prototype.hasAttribute = document.hasAttribute;
 
 Cell.prototype.appendChild = document.appendChild;
 Cell.prototype.apch$ = document.apch$;
@@ -1048,7 +1047,7 @@ Cell.prototype.hasChildNodes = document.hasChildNodes;
 Cell.prototype.removeChild = document.removeChild;
 Cell.prototype.replaceChild = document.replaceChild;
 Cell.prototype.cloneNode = document.cloneNode;
-Cell.prototype.hasAttribute = document.setAttribute;
+Cell.prototype.hasAttribute = document.hasAttribute;
 
 Span.prototype.appendChild = document.appendChild;
 Span.prototype.apch$ = document.apch$;
@@ -1065,7 +1064,7 @@ Span.prototype.hasChildNodes = document.hasChildNodes;
 Span.prototype.removeChild = document.removeChild;
 Span.prototype.replaceChild = document.replaceChild;
 Span.prototype.cloneNode = document.cloneNode;
-Span.prototype.hasAttribute = document.setAttribute;
+Span.prototype.hasAttribute = document.hasAttribute;
 
 Image.prototype.appendChild = document.appendChild;
 Image.prototype.apch$ = document.apch$;
@@ -1373,15 +1372,4 @@ getPropertyValue: function (n)
         }
 }
 
-Event = function(options){
-    this._bubbles = true;
-    this._cancelable = true;
-    this._cancelled = false;
-    this._currentTarget = null;
-    this._target = null;
-    this._eventPhase = Event.AT_TARGET;
-    this._timeStamp = new Date().getTime();
-    this._preventDefault = false;
-    this._stopPropagation = false;
-};
 
-- 
1.8.3.2

_______________________________________________
Edbrowse-dev mailing list
[email protected]
http://lists.the-brannons.com/mailman/listinfo/edbrowse-dev

Reply via email to