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" <[email protected]> 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 <[email protected]> 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, <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <
    >> [email protected]>
    >>>> 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 <[email protected] <mailto:
    >>>> [email protected]>> 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 <[email protected]> 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 <[email protected] <mailto:
    >>>> [email protected]> <mailto:
    >>>>>> [email protected] <mailto:[email protected]>>> 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 <[email protected] <mailto:
    >>>> [email protected]> <mailto:
    >>>>>> [email protected] <mailto:[email protected]>>> 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 <
    >> [email protected]
    >>>> <mailto:[email protected]>
    >>>>>> <mailto:[email protected] <mailto:[email protected]>>>
    >>>> 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 (<[email protected]
    >>>> <mailto:[email protected]>
    >>>>>> <mailto:[email protected] <mailto:[email protected]>>>)
    >>>> 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 <
    >>>> [email protected] <mailto:[email protected]>
    >>>>>> <mailto:[email protected] <mailto:[email protected]>>>
    >>>>>>>>>>> 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 (<
    >> [email protected]
    >>>> <mailto:[email protected]>
    >>>>>> <mailto:[email protected] <mailto:[email protected]>>>)
    >>>>>>>>>>> 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
    >>>> <[email protected] <mailto:[email protected]>
    >>>>>> <mailto:[email protected] <mailto:[email protected]>>>
    >>>>>>>>>>>>> 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" <[email protected]
    >> <mailto:
    >>>> [email protected]> <mailto:
    >>>>>> [email protected] <mailto:[email protected]>>> 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>>
    >>>>>>>>>>> 
    >>>>>>>>>>> 
    >>>>>>>>>> 
    >>>>>>>>>> --
    >>>>>>>>>> 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>>
    >>>>>>>>> 
    >>>>>>>> 
    >>>>>>> 
    >>>>>> 
    >>>>>> 
    >>>>> 
    >>>>> --
    >>>>> 
    >>>>> 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%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>>*
    >>>> 
    >>>> 
    >> 
    >> 
    
    

Reply via email to