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> 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>) 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>
>> 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> 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
> http://about.me/carlosrovira

Reply via email to