commit | 0be1119f808d95d053e7368aa3352b7de29ecc87 | [log] [tgz] |
---|---|---|
author | Rakina Zata Amni <rakina@chromium.org> | Sat Dec 15 00:37:08 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Sat Dec 15 00:37:08 2018 |
tree | fa53506db0391e94ba1a3824da074b0db997a2c7 | |
parent | 32ab520f603b9ca4de0809ea54d9336b6e48b8f3 [diff] |
Reland "Find-in-page per block using FindBuffer" This reverts commit 9c484a22d01e9482be2997dea811367505556a86. Reason for revert: <INSERT REASONING HERE> Original change's description: > 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} TBR=ellyjones@chromium.org,yosin@chromium.org,yoichio@chromium.org,kojii@chromium.org,hongchan@chromium.org,xiaochengh@chromium.org,rakina@chromium.org Change-Id: Ib48618ecfb9a0daa55cd0bd86bda4744a324d5cf 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/1379086 Reviewed-by: Rakina Zata Amni <rakina@chromium.org> Commit-Queue: Rakina Zata Amni <rakina@chromium.org> Cr-Commit-Position: refs/heads/master@{#616898}
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 .