refactor(page-controller): remove viewportExpansion constants module

This commit is contained in:
fancy
2026-03-10 15:34:24 +08:00
parent 16da7d936d
commit 1c354ab5d3
3 changed files with 16 additions and 23 deletions

View File

@@ -14,7 +14,6 @@ import {
scrollVertically,
selectOptionElement,
} from './actions'
import { resolveViewportExpansion } from './constants'
import * as dom from './dom'
import type { FlatDomTree, InteractiveElementDomNode } from './dom/dom_tree/type'
import { getPageInfo } from './dom/getPageInfo'
@@ -130,7 +129,7 @@ export class PageController extends EventTarget {
const url = window.location.href
const title = document.title
const pi = getPageInfo()
const viewportExpansion = resolveViewportExpansion(this.config.viewportExpansion)
const viewportExpansion = dom.resolveViewportExpansion(this.config.viewportExpansion)
await this.updateTree()

View File

@@ -1,20 +0,0 @@
/**
* Copyright (C) 2025 Alibaba Group Holding Limited
* All rights reserved.
*/
/**
* Viewport expansion for DOM tree extraction.
* -1 means full page (no viewport restriction)
* 0 means viewport only
* positive values expand the viewport by that many pixels
*
* @note Since isTopElement depends on elementFromPoint,
* it returns null when out of viewport, this feature has no practical use, only differ between -1 and 0
*/
// export const VIEWPORT_EXPANSION = 100
export const VIEWPORT_EXPANSION = -1
export function resolveViewportExpansion(viewportExpansion?: number): number {
return viewportExpansion ?? VIEWPORT_EXPANSION
}

View File

@@ -1,4 +1,3 @@
import { resolveViewportExpansion } from '../constants'
import domTree from './dom_tree/index.js'
import {
ElementDomNode,
@@ -7,6 +6,21 @@ import {
TextDomNode,
} from './dom_tree/type'
/**
* Viewport expansion for DOM tree extraction.
* -1 means full page (no viewport restriction)
* 0 means viewport only
* positive values expand the viewport by that many pixels
*
* @note Since isTopElement depends on elementFromPoint,
* it returns null when out of viewport, this feature has no practical use, only differ between -1 and 0
*/
const DEFAULT_VIEWPORT_EXPANSION = -1
export function resolveViewportExpansion(viewportExpansion?: number): number {
return viewportExpansion ?? DEFAULT_VIEWPORT_EXPANSION
}
export interface DomConfig {
viewportExpansion?: number
interactiveBlacklist?: (Element | (() => Element))[]