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&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>
> >>>>>>> <
> >>>>>>>>>>>>
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> --
> >>>>>>>>>>>>>>>>>> Carlos Rovira
> >>>>>>>>>>>>>>>>>>
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>
> >>>>>>> <
> >>>>>>>>>>>>
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=hmBF55kTuMIA8RLzZFSbfaSzdNgoxr8n0gwlVkfv5jI%3D&amp;reserved=0
> >>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> --
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Piotr Zarzycki
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Patreon: *
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=BPJwWOdHi1NDnDQ7vujOyeQNUInTpQDUQ%2FQ0isRcamc%3D&amp;reserved=0
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852977541&amp;sdata=BPJwWOdHi1NDnDQ7vujOyeQNUInTpQDUQ%2FQ0isRcamc%3D&amp;reserved=0
> >>>>
> >>>>>>> <
> >>>>>>>>>>>>
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&amp;sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&amp;reserved=0
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&amp;sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&amp;reserved=0
> >>>>>>>>>
> >>>>>>>>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&amp;sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&amp;reserved=0
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&amp;sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&amp;reserved=0
> >>>>
> >>>>>>> <
> >>>>>>>>>>>>
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&amp;sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&amp;reserved=0
> >>>>>>> <
> >>>>>>>
> >>>
> >>
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7C8fe1fe12a45c4547a87708d787f6e8e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637127366852987537&amp;sdata=abJP9qz96wpalZO2LidV9yth27gCABvHahThSnn%2FHxw%3D&amp;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

Reply via email to