DescriptionIncrease the depth limit of JSONParser and IPC serialization from 100 to 200.
This impacts extension APIs and the debug protocol. Some webpages
have over 100 levels of nested elements. Some internal representations
further use 2 levels per node to represent the DOM data (e.g. one
DictionaryValue for the node and a ListValue containing the children.)
The affected APIs fail silently when this limit is reached.
Percentiles over ~90M random pages:
Max depth: go/html-depth
Iframes found at depth: go/html-iframe-depth
To support 99.9% of pages we need (62 + 35) * 2 == 194 levels of nesting.
BUG=673263
Review-Url: https://codereview.chromium.org/2570113002
Cr-Commit-Position: refs/heads/master@{#442542}
Committed: https://chromium.googlesource.com/chromium/src/+/383b174a3c321fc6963c50515745d559222ba709
Patch Set 1 #Patch Set 2 : Increase the depth limit of JSONParser and IPC serialization. #Patch Set 3 : updated unittest #Patch Set 4 : fixed another test #Patch Set 5 : updated JsonSanitizer.java #Patch Set 6 : updated the limit to 150 #Patch Set 7 : set recursion limit to 200 #
Total comments: 2
Patch Set 8 : added comment #
Messages
Total messages: 39 (23 generated)
|