Skip to content

Click Event Triggers on Complex Buttons are ignored in some environments #10366

@ericdrobinson

Description

@ericdrobinson

Version

2.6.10

Reproduction link

https://jsfiddle.net/s7hyqk13/2/

Steps to reproduce

  1. Configure one of the Adobe CEP Sample Panels. The PProPanel is a good starting point as it has very clear documentation on how to set up the environment for testing.
  2. Replace the HTML/JavaScript/CSS contents of the panel project with the contents of the linked JSFiddle.
  3. Open the panel.
  4. Attach a debugger (with the default PProPanel setup this would mean browsing to localhost:7777 in Chrome).
  5. Set the "Mouse > click" Event Listener Breakpoint in the "Sources" tab of the Chrome Debugger.
  6. Click the Vue icon in the center of the silver div.

What is expected?

Method bound to the @click handler is triggered when the image embedded in the parent div is clicked.

What is actually happening?

The method bound to the @click handler is only triggered when clicking outside of the parent div.


This is a non-trivial bug to reproduce as the only place I've experienced it is in Adobe CEP extensions (which run NW.js under the hood). That said, it does reproduce 100% of the time there.

The debugger (CEP context) seems to show several funny things at around this line in the Vue events.js file. Specifically:

  1. The e.timeStamp value does not change between callbacks for different buttons/elements.
  2. The attachedTimestamp is significantly larger than the e.timeStamp value.
  3. The attachedTimestamp value does change when the component is updated (the e.timeStamp remains identical).

I should note that this affects at least CEP 8.0 and CEP 9.0 (tested in Premiere Pro).

Vue Versions Note: This broke somewhere between versions 2.5.17 and 2.6.x. If we run a version of 2.5 (2.5.17 and some earlier versions verified), then this issue does not occur. In testing 2.6.x, we've found that this same issue occurs from 2.6.5 to 2.6.10 (latest). Versions of 2.6 prior to 2.6.5 are actually worse in that the buttons basically don't work at all.

Important Note: I should further note that apparently right-clicking to open the basic CEF [not CEP] context menu will cause the e.timeStamp values to begin reporting as expected. Once this occurs, the buttons will also work as expected. That said, we shouldn't have to instruct users to right-click prior to interfacing with the extension.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions