-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge 'master' into 'jsdbg_gdb_support' #46
Merged
sanketj
merged 138 commits into
MicrosoftEdge:jsdbg_gdb_support
from
cbiesinger:gdb-merge
Apr 25, 2019
Merged
Merge 'master' into 'jsdbg_gdb_support' #46
sanketj
merged 138 commits into
MicrosoftEdge:jsdbg_gdb_support
from
cbiesinger:gdb-merge
Apr 25, 2019
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… WTF Strings Add whitespace formatting functionality for WTF Strings. This was inadvertently removed from one of the last commits of the DOMTree extension.
…ta data type description Moving whitespace formatting behavior out of the lowest level WTFStringImpl Text type description and into the CharacterData data type description. Because the whitespace formatting functionality wraps the text in a span, adding this call at the lowest level creates problems for higher-level type descriptions that do not expect the span to be present.
Fix dbgobject documentation link
Extended fields being added: - Range startContainer - Range endContainer - Document DOMSelection - ShadowRoot DOMSelection - DOMSelection FrameSelection - Document body Type descriptions being added: - Range startOffset - Range endOffset
This change adds error messages for debugger errors to AXTree and DOMTree. To share the message structure and strings detailing common problems, a "error-messages" extension is being created. This extension is not only consumed by Chromium's AXTree and DOMTree extensions, but also by Edgehtml's BoxTree extension. As an additional refactoring change, the blink extension is being moved under the chromium extension, so that all chromium-related extensions are under one umbrella.
Also cleans up various build flavors.
In non-component builds of Chromium, the same type is occasionally declared in multiple modules. To handle this, the concept of a synthetic module name is being introduced. A synthetic module name is a "fake" name that represents one or more real module names. If a type is created using a synthetic module name, when that type is queried, every real module with that synthetic name will be tried until the type is successfully found. Symmetrically, when a real module name is returned from the server, it will be converted to its synthetic name (if it has one) before being consumed by higher-level extensions. This allows extended fields/array fields/type descriptions to be written once and work across multiple modules. To prevent excessive wrong module lookups, the collection of real module names for every synthetic name will be sorted such that the last successfully looked-up module will be the first one accessed during the next lookup. This heuristic works because it is highly likely that next lookup will be for a type in the same module.
…TMLCollections and NodeLists Extended fields being added: - Node childNodes - ContainerNode children - Document all - Document images - Document applets - Document embeds - Document links - Document forms - Document anchors - HTMLDataListElement options - HTMLFormElement elements - HTMLMapElement areas - HTMLSelectElement options - HTMLSelectElement selectedOptions - HTMLTableElement rows - HTMLTableElement tBodies - HTMLTableRowElement cells - HTMLTableSectionElement rows - Node rare_data_ - NodeRareData element_rare_data_ - ContainerNode child_nodes_ (renamed from "Child Nodes") Type descriptions being added: - WTF::KeyValuePair Pair Array fields being added: - WTF::HashTable Pairs
While adding support for target-specific extensions, the "debugger is not broken in" indicator was broken. This happened because the serving of extensions now needs to talk to the debugger to check if a given module is loaded or not. However, if the debugger is busy, JsDbg will wait infinitely for the debugger to break in before continuing to serve extensions. To fix this, a new API called "IsDebuggerBusy" is being added to server. This API will query WinDbg or the VS debugger to check if it is broken in or not, and is now called while serving extensions. If the debugger isn't broken in, the module loaded check will be skipped and the target-specific extension will be served unconditionally. (This is okay because the user will not be able to use the extension while the debugger is running anyways.)
Annotate added fields in BlinkHelpers and WTFHelpers with UserEditableFunctions.Create so that users can see/edit the implementations.
…lementData or ShareableElementData.
…or content!g_frame_map.
…s for any given element.
…corresponds to a node.
Enable Chromium extensions to work with content_shell
… developers contribute to JsDbg Adding a template for tree-inspector based extensions. Also adding an extension that includes example videos for creating a new JsDbg extension and adding fields.
…tree_global_fix_rebase Fixing AXTree code to refer to new AXTreeManager instance
Otherwise, templates won't display correctly
This change implements a visualizer for compositorframe. Break into CompositorFrameSinkImpl::SubmitCompositorFrameInternal and then pass the address of &frame in the extension to see the contents of the frame. on retail builds break into CompositorFrameSinkStubDispatch::Accept and pass &p_frame as the address to the extension. Also included are some visualizers for gfx::Rect,gfx::Size and gfx::Transform
To more easily go to the pointed object instead of requiring two steps. Modeled after the std::unique_ptr extended field.
This effectively manually cherry-picks commit a0bfeb6 from the jsdbg_gdb_support branch for easier merging.
This is basically a manual cherry-pick of commit 7799d05 from the jsdbg_gdb_support branch.
Manual cherry-pick of commit bd3d966 from the jsdbg_gdb_support branch.
…dules used in multiple Chromium processes.
a9fe148
to
e7b5dc9
Compare
sanketj
approved these changes
Apr 25, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The only thing I did not do was add JsDbg.Gdb to jsdg.sln; the Visual Studio UI does not let me do it
("Expected references are missing") and I did not want to risk manually editing the file. This should
be fine as you can just use "dotnet build" to build this project.