feat: implement mouse event emulator for Qt WebEngineView to enhance hover effects
Some checks are pending
Tests & Quality Checks / Test on Python 3.11 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.10 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-2 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-2 (push) Waiting to run
Tests & Quality Checks / Build Artifacts (push) Blocked by required conditions
Tests & Quality Checks / Build Artifacts-1 (push) Blocked by required conditions
Some checks are pending
Tests & Quality Checks / Test on Python 3.11 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-1 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.10 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.11-2 (push) Waiting to run
Tests & Quality Checks / Test on Python 3.12-2 (push) Waiting to run
Tests & Quality Checks / Build Artifacts (push) Blocked by required conditions
Tests & Quality Checks / Build Artifacts-1 (push) Blocked by required conditions
This commit is contained in:
parent
c612072dc8
commit
810baf65d9
5 changed files with 482 additions and 25 deletions
|
|
@ -32,25 +32,24 @@
|
|||
} else {
|
||||
console.log('[Intercept] Auth token capture disabled (checkout feature inactive)');
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// PART 1: Intercept Angular's dragstart listener registration
|
||||
// ============================================================================
|
||||
|
||||
EventTarget.prototype.addEventListener = function(type, listener, options) {
|
||||
if (listenerPatchActive && type === 'dragstart' && listener) {
|
||||
// Store Angular's dragstart handler instead of registering it
|
||||
console.log('[Intercept] Storing Angular dragstart listener for', this.tagName || this.constructor.name);
|
||||
angularDragHandlers.push({
|
||||
target: this,
|
||||
listener: listener,
|
||||
options: options
|
||||
});
|
||||
return; // Don't actually register it yet
|
||||
}
|
||||
// All other events: use original
|
||||
return originalAddEventListener.call(this, type, listener, options);
|
||||
};
|
||||
|
||||
// Only patch addEventListener for dragstart events
|
||||
// This minimizes impact on other event listeners (mouseover, mouseenter, etc.)
|
||||
EventTarget.prototype.addEventListener = function(type, listener, options) {
|
||||
if (listenerPatchActive && type === 'dragstart' && listener) {
|
||||
// Store Angular's dragstart handler instead of registering it
|
||||
console.log('[Intercept] Storing Angular dragstart listener for', this.tagName || this.constructor.name);
|
||||
angularDragHandlers.push({
|
||||
target: this,
|
||||
listener: listener,
|
||||
options: options
|
||||
});
|
||||
return; // Don't actually register it yet
|
||||
}
|
||||
// All other events (mouseover, mouseenter, mousedown, etc.): use original
|
||||
// This is critical to ensure mouseover/hover events work properly
|
||||
return originalAddEventListener.call(this, type, listener, options);
|
||||
};
|
||||
|
||||
// ============================================================================
|
||||
// PART 2: Intercept DataTransfer.setData to capture URL
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue