Skip to content

Commit

Permalink
Don't allow text selection to start on a HTMLMediaElement
Browse files Browse the repository at this point in the history
Don't allow text selection to start on a HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=249249

Reviewed by Ryosuke Niwa.

This patch is to align Webkit with Blink / Chromium and Gecko / Firefox.

Merge - https://src.chromium.org/viewvc/blink?revision=196741&view=revision

This patch introduces a bool function with the return value of 'false' to disable text selection on media element controls.

* Source/WebCore/html/HTMLMediaElement.h: Add 'bool' with return value of 'false'
* LayoutTests/media/video-controls-start-selection.html: Add Test Case
* LayoutTests/media/video-controls-start-selection-expected.txt: Add Test Case Expectation

Canonical link: https://commits.webkit.org/257876@main
  • Loading branch information
Ahmad-S792 authored and Ahmad Saleem committed Dec 14, 2022
1 parent 0b8cd1e commit 45eab14
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 0 deletions.
7 changes: 7 additions & 0 deletions LayoutTests/media/video-controls-start-selection-expected.txt
@@ -0,0 +1,7 @@
PASS document.getSelection().rangeCount is 0
PASS successfullyParsed is true

TEST COMPLETE
Start selection on video with controls

Some text here
16 changes: 16 additions & 0 deletions LayoutTests/media/video-controls-start-selection.html
@@ -0,0 +1,16 @@
<!DOCTYPE html>
<script src="../resources/js-test.js"></script>
<p>Start selection on video with controls</p>
<video controls></video>
<span>Some text here</span>
<script>
var video = document.querySelector('video');
var span = document.querySelector('span');
if (window.eventSender) {
eventSender.mouseMoveTo(video.offsetLeft + video.offsetWidth / 2, video.offsetTop + video.offsetHeight / 2);
eventSender.mouseDown();
eventSender.mouseMoveTo(span.offsetLeft + span.offsetWidth / 2, span.offsetTop + span.offsetHeight / 2);
eventSender.mouseUp();
}
shouldBe('document.getSelection().rangeCount', '0');
</script>
1 change: 1 addition & 0 deletions Source/WebCore/html/HTMLMediaElement.h
Expand Up @@ -678,6 +678,7 @@ class HTMLMediaElement
void didFinishInsertingNode() override;
void removedFromAncestor(RemovalType, ContainerNode&) override;
void didRecalcStyle(Style::Change) override;
bool canStartSelection() const override { return false; }
bool isInteractiveContent() const override;

void setFullscreenMode(VideoFullscreenMode);
Expand Down

0 comments on commit 45eab14

Please sign in to comment.