commit | 9c484a22d01e9482be2997dea811367505556a86 | [log] [tgz] |
---|---|---|
author | Elly Fong-Jones <ellyjones@chromium.org> | Fri Dec 14 18:34:33 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Fri Dec 14 18:34:33 2018 |
tree | 857f7d6bcfac5d5efbef14d16f673f6ffd2316bb | |
parent | dacd59c9179d75f89a27be539dde8892984612bc [diff] |
Revert "Find-in-page per block using FindBuffer" This reverts commit 71e551ac476ec9b247be8f19c6eb696632d90cf4. Reason for revert: broke MHTMLGenerationTest.ViewedMHTMLContainsNoStoreContentIfNoCacheControlPolicy on win7 tests dbg: https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win7%20Tests%20%28dbg%29%281%29/73554 [7424:304:1214/084019.035:FATAL:find_buffer.cc(27)] Check failed: start_position == PositionInFlatTree::FirstPositionInNode( *start_position.ComputeContainerNode()). Original change's description: > Find-in-page per block using FindBuffer > > This CL introduces FindBuffer, which Find-in-page will use to find > matches instead of using FindPlainText that uses TextIterator. > > Since find-in-page matches can't span multiple blocks, we are using > that fact to know where we can separate the text in the document. > FindBuffer collects text one block at a time, and then finds the match > in that block. We trigger FindBuffer text collection & finding many > times until it goes through everything. FindInPage uses TextSearcherICU > to find text, and uses flat-tree traversal, ComputedStyle, and > LayoutObject + NGOffsetMapping, whereas the previous way was to use > TextIterator. > > This CL also changes the way we handle newlines - newlines will be > saved as object replacement character/whitespaces for Find-in-page > purposes. Some tests that rely on newlines are deleted as a result. > Note: > This change is not user-visible because it is not possible to do a > Find-in-page from the UI with newlines. > > See doc for details: > https://docs.google.com/document/d/1D5q7ZMrLPfilXnIGI3SOL0mwdiQC7SQEtGWk-9ysbMg/edit?usp=sharing > > Bug: 868227 > Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng > Change-Id: Id5dd7e6c428f59442d02ec88ea0cec6eb4e64c22 > Reviewed-on: https://chromium-review.googlesource.com/c/1282425 > Commit-Queue: Rakina Zata Amni <rakina@chromium.org> > Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org> > Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#616701} TBR=ellyjones@chromium.org,yosin@chromium.org,yoichio@chromium.org,kojii@chromium.org,xiaochengh@chromium.org,rakina@chromium.org Change-Id: Ic06a33d1c630bb4423fc0963bc55b6af5e8ef865 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 868227 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng Reviewed-on: https://chromium-review.googlesource.com/c/1378407 Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org> Reviewed-by: Hongchan Choi <hongchan@chromium.org> Commit-Queue: Hongchan Choi <hongchan@chromium.org> Cr-Commit-Position: refs/heads/master@{#616757}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .