[webkit-changes] [WebKit/WebKit] d1eb17: Web Inspector: private symbols should not be shown...

Devin Rousso noreply at github.com
Fri Apr 28 13:08:23 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d1eb17d9b5dc2abf9d7bde49daf25d31fb62b7ef
      https://github.com/WebKit/WebKit/commit/d1eb17d9b5dc2abf9d7bde49daf25d31fb62b7ef
  Author: Devin Rousso <hi at devinrousso.com>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M LayoutTests/inspector/debugger/paused-scopes-expected.txt
    M LayoutTests/inspector/debugger/paused-scopes.html
    M Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp
    M Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp
    M Source/JavaScriptCore/runtime/SymbolTable.h

  Log Message:
  -----------
  Web Inspector: private symbols should not be shown in the scope chain
https://bugs.webkit.org/show_bug.cgi?id=255946

Reviewed by Patrick Angle.

The fact that private fields are implemented using a private `Symbol` is kinda sorta an implementation detail, so Web Inspector shouldn't be exposing them.

* Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::getOwnSpecialPropertyNames):
* Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp:
(JSC::JSSymbolTableObject::getOwnSpecialPropertyNames):
Private properties should be ignored if `PropertyNameArray::privateSymbolMode` (in addition to already ignoring them based on `PropertyNameArray::includeSymbolProperties`).

* Source/JavaScriptCore/runtime/SymbolTable.h:
(JSC::SymbolTable::hasPrivateName const): Added.
Expose a way for callers to query if a given `UniquedStringImpl` is a private field.

* LayoutTests/inspector/debugger/paused-scopes.html:
* LayoutTests/inspector/debugger/paused-scopes-expected.txt:

Canonical link: https://commits.webkit.org/263513@main




More information about the webkit-changes mailing list