Hi Harbs, thanks for the hard work, I just could do a quick try and saw DataGrid is now fixed, but the crux examples I tried are again failing in some place. I must close for now until tomorrow, we enter Christmast ;) Try to check tomorrow
Thanks! Carlos El mar., 24 dic. 2019 a las 22:30, Harbs (<harbs.li...@gmail.com>) escribió: > I think I got it. > > We’re gradually rewriting the goog event code. Eventually we’re going to > need to make a clean break. > > Once I was knee-deep in this, I fixed stopImmediatePropogation as well, > which has been something that’s made errors in event handlers difficult to > debug. It’s something I wanted to fix for a long time... > > Please let me know if you see any more problems. > > Harbs > > > On Dec 24, 2019, at 2:21 PM, Carlos Rovira <carlosrov...@apache.org> > wrote: > > > > Hi Piotr, > > > > I think we need to wait Harbs, he seems to know what's the problem and > > hopefully will be able to fix it. > > @Harbs <ha...@apache.org> other example that you can check is Tour de > > Jewel, since it has the new Jewel DataGrid, it suffers as well the same > > problem of the "Maximun call stack size exceeded" > > > > Anyway, aside from this problem, I'd like to propose you all that this > kind > > of changes, that modifies Royale at its core, should be done in a branch, > > and be more tested, since it's normal it will be unstable during some > > period of time until people test and report if all is ok. As well use to > > require various commits until things works ok, so that for me is a signal > > that things should be done in branches. Other changes that are > incremental > > and does not affect other developments and can be not finished, could be > > directly in commits to develop (ensuring always it does not break the > > complete build). > > > > Thanks :) > > > > Carlos > > > > > > El mar., 24 dic. 2019 a las 13:10, Piotr Zarzycki (< > > piotrzarzyck...@gmail.com>) escribió: > > > >> Hi Guys, > >> > >> I have just used all changes which has been pushed and build our app > using > >> Maven. It's breaking up completely. I'm getting now Null Pointer > exceptions > >> for components has been created, it's children doesn't exists even if I > >> check after onInitComplete. - It's weird behavior and hard to explain > for > >> me. Something in general is really bad. > >> > >> I hope to tell you more in upcoming days if I will be able to. > >> > >> Thanks, > >> Piotr > >> > >> wt., 24 gru 2019 o 11:38 Harbs <harbs.li...@gmail.com> napisał(a): > >> > >>> Never mind. I see the problem. > >>> > >>>> On Dec 24, 2019, at 12:16 PM, Harbs <harbs.li...@gmail.com> wrote: > >>>> > >>>> Please try with my latest changes. > >>>> > >>>> I think I fixed it. > >>>> > >>>> > >>>>> On Dec 24, 2019, at 12:03 PM, Carlos Rovira <carlosrov...@apache.org > > > >>> wrote: > >>>>> > >>>>> Hi Harbs, > >>>>> > >>>>> the problem seems to affect the Basic DataGrid if you check > >>> DataGridExample > >>>>> you can see the error too. > >>>>> > >>>>> In CruxGitHubCommitLogViewer the problem is: > >>>>> > >>>>> Activating JSStageEvents > >>>>> [WARNING] getStaticConstantsByConvention :: the reflection target > >>>>> mx.rpc.http.mxml.HTTPService was not Compiled with default > >> initializers > >>>>> enabled > >>>>> InjectProcessor set up [Inject( "configuratorService" )] on Bean{ > >>> source: > >>>>> [object Object], name: configurationDelegate } > >>>>> InjectProcessor set up [Inject] on Bean{ source: [object Object], > >> name: > >>>>> configurationController } > >>>>> getProject executing in ConfigurationController via PostConstruct > >>> processing > >>>>> InjectProcessor set up [Inject( "commitsService" )] on Bean{ source: > >>>>> [object Object], name: commitsDelegate } > >>>>> InjectProcessor set up [Inject] on Bean{ source: [object Object], > >> name: > >>>>> commitsController } > >>>>> InjectProcessor set up [Inject] on Bean{ source: [object Object], > >> name: > >>>>> commitsController } > >>>>> RangeError: Maximum call stack size exceeded > >>>>> at Array.concat (<anonymous>) > >>>>> at crux.view.MainContent.goog.events.EventTarget.fireListeners > >>>>> > >>> > >> > (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:271:34) > >>>>> at Function.goog.events.EventTarget.dispatchEventInternal_ > >>>>> > >>> > >> > (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:372:27) > >>>>> at > >>>>> > >>> > >> > org.apache.royale.html.DataGridButtonBar.goog.events.EventTarget.dispatchEvent > >>>>> > >>> > >> > (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:196:35) > >>>>> at > >>>>> > >>> > >> > org.apache.royale.html.DataGridButtonBar.org.apache.royale.events.EventDispatcher.dispatchEvent > >>>>> > >>> > >> > (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/events/EventDispatcher.as:94:32) > >>>>> at > >>>>> > >>> > >> > org.apache.royale.html.DataGridButtonBar.org.apache.royale.core.ElementWrapper.dispatchEvent > >>>>> > >>> > >> > (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Core/src/main/royale/org/apache/royale/core/ElementWrapper.as:370:44) > >>>>> at org.apache.royale.express.beads.layouts.DataGridLayout.layout > >>>>> > >>> > >> > (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as:225:11) > >>>>> at > >>>>> > >>> > >> > org.apache.royale.express.beads.layouts.DataGridLayout.org_apache_royale_express_beads_layouts_DataGridLayout_handleLayoutNeeded > >>>>> > >>> > >> > (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks/projects/Express/src/main/royale/org/apache/royale/express/beads/layouts/DataGridLayout.as:105:4) > >>>>> at > >>>>> > >> org.apache.royale.express.DataGrid.goog.events.EventTarget.fireListeners > >>>>> > >>> > >> > (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:284:24) > >>>>> at Function.goog.events.EventTarget.dispatchEventInternal_ > >>>>> > >>> > >> > (/Users/carlosrovira/Dev/Royale/Source/royale-asjs/examples/crux/CruxGitHubCommitLogViewer/target/javascript/bin/js-debug/library/closure/goog/events/eventtarget.js:389:27) > >>>>> InjectProcessor set up [Inject( > >>> source="commitsController.commits.commits", > >>>>> bind="true" )] on Bean{ source: [object Object], name: null } > >>>>> InjectProcessor set up [Inject( > >>> source="configurationController.project", > >>>>> bind="true" )] on Bean{ source: [object Object], name: null } > >>>>> > >>>>> > >>>>> El mar., 24 dic. 2019 a las 10:33, Carlos Rovira (< > >>> carlosrov...@apache.org>) > >>>>> escribió: > >>>>> > >>>>>> Hi Harbs, > >>>>>> > >>>>>> thanks for taking the time to look into this and sorry for my delay > >> in > >>>>>> response, as Piotr exposed I'm as well on Christmas time here in > >>> Spain, so > >>>>>> with few time, although hope to be around here from in some slices > of > >>> time. > >>>>>> > >>>>>> About the problem, I built all and check all Crux examples: > >>>>>> > >>>>>> > >>>>>> - examples/crux/CruxQuickStart -> This is now working ok > >>>>>> - examples/crux/CruxQuickStartBasic -> This is now working ok > >>>>>> - examples/crux/CruxGitHubCommitLogViewer -> This is not working, > >> not > >>>>>> retrieve the GitHub data and even the DataGrid seems to be not > >> laying > >>> the > >>>>>> header right. Can you take a look at this one, maybe something was > >>> missing > >>>>>> for make this working again. > >>>>>> > >>>>>> > >>>>>> I saw 2 test failing, but just see you fixed right now so I'll try > to > >>>>>> rebuild again to check that part. > >>>>>> > >>>>>> Anyway good work! :) > >>>>>> > >>>>>> Carlos > >>>>>> > >>>>>> > >>>>>> > >>>>>> El mar., 24 dic. 2019 a las 9:10, Harbs (<harbs.li...@gmail.com>) > >>>>>> escribió: > >>>>>> > >>>>>>> I realized that the reason bubbling is not working is because > >>>>>>> EventTarget.getParentEventTarget() is relying on parentEventTarget_ > >>> which > >>>>>>> is generally not set in Royale. > >>>>>>> > >>>>>>> Royale already has a parent getter for objects which have > >> hierarchy. I > >>>>>>> changed the method to simply return the parent instead of > >>>>>>> parentEventTarget_ which will be null if there is no parent or its > >>> not an > >>>>>>> IChild. > >>>>>>> > >>>>>>> Ideally, the change should be in the EventTarget code, but I’m not > >>> trying > >>>>>>> to touch that. I overrode the the method in EventDispatcher. If the > >>> event > >>>>>>> does not have bubbling set to true, none of this should effect > >>> anything. If > >>>>>>> there are any apps which have bubbling events and are relying on > >>> Royale > >>>>>>> bubbling to be broken, they might break with this change… ;-) > >>>>>>> > >>>>>>> Royale should now support event bubbling out of the box. :-) > >>>>>>> > >>>>>>> Harbs > >>>>>>> > >>>>>>>> On Dec 24, 2019, at 9:01 AM, Alex Harui <aha...@adobe.com.INVALID > > > >>>>>>> wrote: > >>>>>>>> > >>>>>>>> I took a peek at the commit and made some comments on the commit > >>> thread > >>>>>>> that may help. > >>>>>>>> > >>>>>>>> HTH, > >>>>>>>> -Alex > >>>>>>>> > >>>>>>>> On 12/23/19, 2:24 PM, "Harbs" <harbs.li...@gmail.com <mailto: > >>>>>>> harbs.li...@gmail.com>> wrote: > >>>>>>>> > >>>>>>>> I read through what you did in JSStageEvents. That’s really quite > >>>>>>> ingenious. Well done! :-) > >>>>>>>> > >>>>>>>> I think we could use a similar approach for an application bead to > >>>>>>> support full event bubbling without modifying ElementWrapper and > >>>>>>> HTMLElementWrapper. > >>>>>>>> > >>>>>>>> I still have no idea what broke though. > >>>>>>>> > >>>>>>>> Let me know if I should revert the changes until someone has the > >>>>>>> time to look at this. > >>>>>>>> > >>>>>>>> Thanks, > >>>>>>>> Harbs > >>>>>>>>> On Dec 23, 2019, at 10:59 PM, Greg Dove <greg.d...@gmail.com> > >>> wrote: > >>>>>>>>> > >>>>>>>>> Iirc it was dispatching capture phase events that was > >> 'difficult'. I > >>>>>>> think > >>>>>>>>> I had to override something and undo something in Royale that was > >>>>>>> switching > >>>>>>>>> off goog support for that. It was only needed in the > JSStageEvents > >>>>>>>>> emulation stuff iirc. I have no idea what the issue is, but that > >> is > >>>>>>>>> probably what I would look at first. Have to go now... I can look > >> at > >>>>>>> this > >>>>>>>>> if needed but not for a few days. > >>>>>>>>> > >>>>>>>>> On Tue, 24 Dec 2019, 09:38 Harbs, <harbs.li...@gmail.com> wrote: > >>>>>>>>> > >>>>>>>>>> AIUI, for bubbling to work automatically, setParentEventTarget > >>> needs > >>>>>>> to be > >>>>>>>>>> called to construct the hierarchy. > >>>>>>>>>> > >>>>>>>>>> Maybe we should have a bead that takes care of this (on > >>> addedToParent > >>>>>>> or > >>>>>>>>>> something) for applications which rely on bubbling for > >>>>>>> non-browser-native > >>>>>>>>>> events. > >>>>>>>>>> > >>>>>>>>>> There is a dispatchBubblingEvent in HTMLElementWrapper which > >> forces > >>>>>>> the > >>>>>>>>>> event to bubble up for all events, but it’s JS only. We could > >> add a > >>>>>>> method > >>>>>>>>>> for SWF for compatibility. > >>>>>>>>>> > >>>>>>>>>> I just tested dispatchBubblingEvent and that makes the alert > >>> appear. > >>>>>>>>>> > >>>>>>>>>> None of this explains why it worked before my change, though... > >>>>>>>>>> > >>>>>>>>>>> On Dec 23, 2019, at 10:17 PM, Greg Dove <greg.d...@gmail.com> > >>> wrote: > >>>>>>>>>>> > >>>>>>>>>>> Harbs, I can only check Crux in 4-5 days time. > >>>>>>>>>>> From memory I did set up something specific to make either > >>> capture or > >>>>>>>>>>> bubbling work, maybe that was for the 'addedToStage' event > >>>>>>> emulation. I > >>>>>>>>>>> think one of them (either capture or bubbling) was not working > >> by > >>>>>>>>>> default, > >>>>>>>>>>> or did was not easy to enable by default. > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> On Tue, Dec 24, 2019 at 9:13 AM Harbs <harbs.li...@gmail.com> > >>> wrote: > >>>>>>>>>>> > >>>>>>>>>>>> Nope. Didn’t figure it out. > >>>>>>>>>>>> > >>>>>>>>>>>> It looks like Crux listens on the ancestor and is relying on > >>>>>>> bubbling. > >>>>>>>>>>>> > >>>>>>>>>>>> I’m guessing bubbling is not working, but I have no idea why > >> that > >>>>>>> would > >>>>>>>>>>>> have changed with my commit. > >>>>>>>>>>>> > >>>>>>>>>>>>> On Dec 23, 2019, at 10:06 PM, Piotr Zarzycki < > >>>>>>>>>> piotrzarzyck...@gmail.com> > >>>>>>>>>>>> wrote: > >>>>>>>>>>>>> > >>>>>>>>>>>>> Harbs, > >>>>>>>>>>>>> > >>>>>>>>>>>>> I feel like Carlos has started his Christmas time ;) I'm glad > >>> that > >>>>>>> you > >>>>>>>>>>>>> figured it out! :) > >>>>>>>>>>>>> > >>>>>>>>>>>>> pon., 23 gru 2019 o 21:01 Harbs <harbs.li...@gmail.com > >> <mailto: > >>>>>>>>>>>> harbs.li...@gmail.com>> napisał(a): > >>>>>>>>>>>>> > >>>>>>>>>>>>>> The asconfig file did not include the necessary metadata. > >> Fixed > >>>>>>> that… > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> OK. I’m not getting any errors, but UserForm is dispatching > >> an > >>>>>>> event > >>>>>>>>>> not > >>>>>>>>>>>>>> listened to by anyone. > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Where is the listener supposed to be attached? Maybe it’s > >>>>>>> listening to > >>>>>>>>>>>> the > >>>>>>>>>>>>>> wrong object? > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>>> On Dec 23, 2019, at 9:35 PM, Harbs <harbs.li...@gmail.com> > >>>>>>> wrote: > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> I’m getting an error that UserForm.user is null. > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> I have no idea where that should have been set, and I have > >> no > >>>>>>> idea > >>>>>>>>>> how > >>>>>>>>>>>>>> my commit could have possibly effected that. I don’t see > >>> anything > >>>>>>> that > >>>>>>>>>>>>>> would initialize the user variable. > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> If you want my help on this, I’m going to need some > >> direction. > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> Thanks, > >>>>>>>>>>>>>>> Harbs > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> On Dec 23, 2019, at 9:28 PM, Harbs <harbs.li...@gmail.com > >>>>>>> <mailto: > >>>>>>>>>>>> harbs.li...@gmail.com> <mailto: > >>>>>>>>>>>>>> harbs.li...@gmail.com <mailto:harbs.li...@gmail.com>>> > >> wrote: > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> I fixed this, but I have no idea what Crux is supposed to > >> do. > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> What am I looking for? > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> On Dec 23, 2019, at 8:30 PM, Harbs < > harbs.li...@gmail.com > >>>>>>> <mailto: > >>>>>>>>>>>> harbs.li...@gmail.com> <mailto: > >>>>>>>>>>>>>> harbs.li...@gmail.com <mailto:harbs.li...@gmail.com>>> > >> wrote: > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> I can’t compile Jewel right now. > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> I’m getting an error: > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> [java] > >>>>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>> > >>>>>>> > >>> > >> > /Apache/royale-asjs/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/IconButton.as(104): > >>>>>>>>>>>>>> col: 13 Access of possibly undefined property > >>> classSelectorList. > >>>>>>>>>>>>>>>>> [java] > >>>>>>>>>>>>>>>>> [java] classSelectorList.toggle("icon", > (_icon > >>> != > >>>>>>>>>>>>>> null)); > >>>>>>>>>>>>>>>>> [java] ^ > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 7:17 PM, Carlos Rovira < > >>>>>>>>>> carlosrov...@apache.org > >>>>>>>>>>>> <mailto:carlosrov...@apache.org> > >>>>>>>>>>>>>> <mailto:carlosrov...@apache.org <mailto: > >>> carlosrov...@apache.org > >>>>>>>>>> > >>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> Compilation is ok. The problem is that example is not > >>> really > >>>>>>>>>>>> working. > >>>>>>>>>>>>>>>>>> In that example you should be able to fill the form and > >>> push > >>>>>>> the > >>>>>>>>>>>>>> button. > >>>>>>>>>>>>>>>>>> After that a JS Alert should be show with the ID of the > >>> user > >>>>>>>>>> record > >>>>>>>>>>>>>> saved. > >>>>>>>>>>>>>>>>>> That Alert is not show anymore. > >>>>>>>>>>>>>>>>>> If you revert locally that commit and recompile Core and > >>> then > >>>>>>> the > >>>>>>>>>>>>>> example > >>>>>>>>>>>>>>>>>> and run you'll be able to see it again. > >>>>>>>>>>>>>>>>>> We have a client complaining about the app stopped to > >> work > >>>>>>> today > >>>>>>>>>>>>>> since they > >>>>>>>>>>>>>>>>>> are using Crux. > >>>>>>>>>>>>>>>>>> After investigation I was able to trace the problem to > >> that > >>>>>>>>>> commit. > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> Thanks > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> Carlos > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> El lun., 23 dic. 2019 a las 17:59, Harbs (< > >>>>>>> harbs.li...@gmail.com > >>>>>>>>>>>> <mailto:harbs.li...@gmail.com> > >>>>>>>>>>>>>> <mailto:harbs.li...@gmail.com <mailto:harbs.li...@gmail.com > >>>>>> ) > >>>>>>>>>>>> escribió: > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> I compiled CruxQuickStartBasic and I don’t see anything > >>>>>>> wrong. > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> Can you give me more clues? > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> FWIW, I used Ant, is the problem specific to Maven? > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> On Dec 23, 2019, at 6:26 PM, Carlos Rovira < > >>>>>>>>>>>> carlosrov...@apache.org <mailto:carlosrov...@apache.org> > >>>>>>>>>>>>>> <mailto:carlosrov...@apache.org <mailto: > >>> carlosrov...@apache.org > >>>>>>>>>> > >>>>>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> Hi Harbs, > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> seems recent changes break Crux library > >>>>>>>>>>>>>>>>>>>> (commit: f50c9990a3190cf681364905525656984ab2e9c5 - > >>> Cleaned > >>>>>>> up > >>>>>>>>>>>>>>>>>>>> ElementWrapper and HTMLElementWrapper) > >>>>>>>>>>>>>>>>>>>> I'm trying to see what could be the problem. I suppose > >>> that > >>>>>>> is > >>>>>>>>>> the > >>>>>>>>>>>>>> change > >>>>>>>>>>>>>>>>>>>> of HTMLElementWrapper now extending ElementWrapper. > >>>>>>>>>>>>>>>>>>>> Tried to change one for the other in Crux library, but > >>> with > >>>>>>> no > >>>>>>>>>>>> luck > >>>>>>>>>>>>>>>>>>>> I'm using /examples/crux/CruxQuickStartBasic to test > >>>>>>>>>>>>>>>>>>>> Can you see what could be wrong? > >>>>>>>>>>>>>>>>>>>> Thanks > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> Carlos > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> El dom., 22 dic. 2019 a las 17:24, Harbs (< > >>>>>>>>>> harbs.li...@gmail.com > >>>>>>>>>>>> <mailto:harbs.li...@gmail.com> > >>>>>>>>>>>>>> <mailto:harbs.li...@gmail.com <mailto:harbs.li...@gmail.com > >>>>>> ) > >>>>>>>>>>>>>>>>>>> escribió: > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> There is lots of what looks like shared code, so > >> could > >>>>>>>>>>>>>>>>>>>>> HTMLElementWrapper extend ElementWrapper? > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> Totally. Excellent idea. > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> On Dec 22, 2019, at 5:46 PM, Alex Harui > >>>>>>>>>>>> <aha...@adobe.com.INVALID <mailto:aha...@adobe.com.INVALID> > >>>>>>>>>>>>>> <mailto:aha...@adobe.com.INVALID <mailto: > >>> aha...@adobe.com.INVALID > >>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> wrote: > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> In a quick look at history, HTMLElementWrapper's > >>> override > >>>>>>>>>> logic > >>>>>>>>>>>>>> was the > >>>>>>>>>>>>>>>>>>>>> same as ElementWrapper's. > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> Maybe as you upgraded HTMLElementWrapper's logic, > >>>>>>>>>> ElementWrapper > >>>>>>>>>>>>>> should > >>>>>>>>>>>>>>>>>>>>> have changed as well but didn't? > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> There is lots of what looks like shared code, so > >> could > >>>>>>>>>>>>>>>>>>>>> HTMLElementWrapper extend ElementWrapper? > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> My 2 cents, > >>>>>>>>>>>>>>>>>>>>>> -Alex > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> On 12/22/19, 1:00 AM, "Harbs" < > harbs.li...@gmail.com > >>>>>>>>>> <mailto: > >>>>>>>>>>>> harbs.li...@gmail.com> <mailto: > >>>>>>>>>>>>>> harbs.li...@gmail.com <mailto:harbs.li...@gmail.com>>> > >> wrote: > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> We found a weird bug with events and currentTarget. > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> I traced the problem to the following: > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> The app loads both HTMLElementWrapper and > >>> ElementWrapper. > >>>>>>> The > >>>>>>>>>>>>>> lstener > >>>>>>>>>>>>>>>>>>>>> overrides in the two are stepping on each other. > >> Here’s > >>>>>>> what > >>>>>>>>>>>>>> happens: > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> 1. HTMLElementWrapper is loaded first. It replaces > >>>>>>>>>>>>>>>>>>>>> goog.events.fireListener with its > fireListenerOverride > >>>>>>> function > >>>>>>>>>>>>>> (which > >>>>>>>>>>>>>>>>>>>>> calls the existing one when it’s done). > >>>>>>>>>>>>>>>>>>>>>> 2. ElementWrapper is loaded next and it replaces the > >>>>>>> existing > >>>>>>>>>>>>>>>>>>>>> goog.events.fireListener function — which was already > >>>>>>> changed > >>>>>>>>>> to > >>>>>>>>>>>>>> point > >>>>>>>>>>>>>>>>>>> to > >>>>>>>>>>>>>>>>>>>>> HTMLElementWrapper.fireListenerOverride with the one > >>> from > >>>>>>>>>>>>>>>>>>> ElementWrapper. > >>>>>>>>>>>>>>>>>>>>>> 3. When an event is actually dispatched, > >>>>>>>>>>>>>>>>>>>>> ElementWrapper.fireListenerOverride first changes the > >>>>>>> event to > >>>>>>>>>> a > >>>>>>>>>>>>>> royale > >>>>>>>>>>>>>>>>>>>>> BrowserEvent instead of a goog one. > >>>>>>>>>>>>>>>>>>> HTMLElementWrapper.fireListenerOverride > >>>>>>>>>>>>>>>>>>>>> is then called and where it expects a goog > >> BrowserEvent, > >>>>>>> it in > >>>>>>>>>>>> fact > >>>>>>>>>>>>>>>>>>> gets a > >>>>>>>>>>>>>>>>>>>>> royale BrowserEvent. This causes the wrappedEvent to > >> be > >>> the > >>>>>>>>>> wrong > >>>>>>>>>>>>>> type > >>>>>>>>>>>>>>>>>>> and > >>>>>>>>>>>>>>>>>>>>> messes things up down the line. > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> I’m not sure of the best way to fix this. > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> * We could check the event type in > >>>>>>>>>>>>>> HTMLElementWrapper/ElementWrapper, > >>>>>>>>>>>>>>>>>>>>> but that’s just-in-case code. > >>>>>>>>>>>>>>>>>>>>>> * I’m not completely sure why we need this logic in > >>> both > >>>>>>>>>>>>>>>>>>>>> ElementWrapper and HTMLElementWrapper. Is there > >>> something > >>>>>>> that > >>>>>>>>>>>> can > >>>>>>>>>>>>>> be > >>>>>>>>>>>>>>>>>>>>> changed there? > >>>>>>>>>>>>>>>>>>>>>> * Maybe there’s some way for ElementWrapper to know > >>> that > >>>>>>> some > >>>>>>>>>>>>>> other > >>>>>>>>>>>>>>>>>>>>> class is installing an override? > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>>> Thoughts? > >>>>>>>>>>>>>>>>>>>>>> Harbs > >>>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>>> -- > >>>>>>>>>>>>>>>>>>>> Carlos Rovira > >>>>>>>>>>>>>>>>>>>> > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>> > >>>>>>> < > >>>>>>>>>>>> > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>> > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>>>>>>> > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>>>> -- > >>>>>>>>>>>>>>>>>> Carlos Rovira > >>>>>>>>>>>>>>>>>> > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>> > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>> > >>>>>>> < > >>>>>>>>>>>> > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>> > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&reserved=0 > >>>>>>>>>> > >>>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> -- > >>>>>>>>>>>>> > >>>>>>>>>>>>> Piotr Zarzycki > >>>>>>>>>>>>> > >>>>>>>>>>>>> Patreon: * > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=BPJwWOdHi1NDnDQ7vujOyeQNUInTpQDUQ%2FQ0isRcamc%3D&reserved=0 > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&sdata=BPJwWOdHi1NDnDQ7vujOyeQNUInTpQDUQ%2FQ0isRcamc%3D&reserved=0 > >>>> > >>>>>>> < > >>>>>>>>>>>> > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&reserved=0 > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&reserved=0 > >>>>>>>>> > >>>>>>>>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&reserved=0 > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&reserved=0 > >>>> > >>>>>>> < > >>>>>>>>>>>> > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&reserved=0 > >>>>>>> < > >>>>>>> > >>> > >> > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&reserved=0 > >>>>>>>>>> * > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> -- > >>>>>> Carlos Rovira > >>>>>> http://about.me/carlosrovira > >>>>>> > >>>>>> > >>>>> > >>>>> -- > >>>>> Carlos Rovira > >>>>> http://about.me/carlosrovira > >>>> > >>> > >>> > >> > >> -- > >> > >> Piotr Zarzycki > >> > >> Patreon: *https://www.patreon.com/piotrzarzycki > >> <https://www.patreon.com/piotrzarzycki>* > >> > > > > > > -- > > Carlos Rovira > > http://about.me/carlosrovira > > -- Carlos Rovira http://about.me/carlosrovira