Skip to content

Commit 6ede4b2

Browse files
committed
fix: actually include the fix
1 parent 7b3c9a6 commit 6ede4b2

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

navigator-html-injectables/src/modules/Decorator.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { Locator } from "@readium/shared";
22
import { Comms } from "../comms/comms";
3-
import { Module } from "./Module";
4-
import { rangeFromLocator } from "../helpers/locator";
5-
import { ModuleName } from "./ModuleLibrary";
6-
import { Rect, getClientRectsNoOverlap } from "../helpers/rect";
3+
import { isDarkColor } from "../helpers/color";
74
import { getProperty } from "../helpers/css";
85
import { ReadiumWindow } from "../helpers/dom";
9-
import { isDarkColor } from "../helpers/color";
6+
import { rangeFromLocator } from "../helpers/locator";
7+
import { Rect, getClientRectsNoOverlap } from "../helpers/rect";
8+
import { Module } from "./Module";
9+
import { ModuleName } from "./ModuleLibrary";
1010

1111
export enum Width {
1212
Wrap = "wrap", // Smallest width fitting the CSS border box.
@@ -103,8 +103,12 @@ class DecorationGroup {
103103
// The common ancestor is an element that definitely cannot be highlighted
104104
this.notTextFlag?.set(id, true);
105105
}
106-
if(ancestor.querySelector(cannotNativeHighlight.join(", ").toLowerCase())) {
107-
// Contains elements that definitely cannot be highlighted as children
106+
// Check if the range itself contains elements that cannot be highlighted
107+
const rangeFragment = range.cloneContents();
108+
const tempDiv = this.wnd.document.createElement('div');
109+
tempDiv.appendChild(rangeFragment);
110+
if(tempDiv.querySelector(cannotNativeHighlight.join(", ").toLowerCase())) {
111+
// Range contains elements that definitely cannot be highlighted
108112
this.notTextFlag?.set(id, true);
109113
}
110114
if((ancestor.textContent?.trim() || "").length === 0) {

0 commit comments

Comments
 (0)