commit | 3704ccf02007dd912933abc3f3006159171bc41b | [log] [tgz] |
---|---|---|
author | art-snake <art-snake@yandex-team.ru> | Thu Nov 03 02:13:20 2016 |
committer | Commit bot <commit-bot@chromium.org> | Thu Nov 03 02:15:16 2016 |
tree | b1beb2336860213dd1fb5acafe1ec8eab71237f2 | |
parent | a8b605106b36ad73ed37fe3a7bded7f631ac014c [diff] |
Reland of Improve linearized pdf load/show time. Original issue's description: > Improve linearized pdf load/show time. > Reduce Pdf Plugin's count of reconnects. > Add tests for PDFPlugin DocumentLoader. > > DocumentLoader was splitted into separate components, and missing tests was added for them. > > The main ideas in this CL are: > > 1) Do not reset browser initiated connection at start (includes case when we can use range requests), if we request data near current downloading position. > 2) Request as much data as we can on each request, and continue loading data using current range request. (like tape rewind) > 3) Isolate RangeRequest logic into DocumentLoader. Method OnPendingRequestComplete is called, when we receive requested data (main connection, or Range connection). (like tape playing without rewing). > 4) Fill this logic by tests. > > Example URL: > http://www.major-landrover.ru/upload/attachments/f/9/f96aab07dab04ae89c8a509ec1ef2b31.pdf > Comparison of changes: > https://drive.google.com/file/d/0BzWfMBOuik2QNGg0SG93Y3lpUlE/view?usp=sharing > > Committed: https://crrev.com/7fd7423cdee0dba84faf480d10dd66dcb57110d9 > Cr-Commit-Position: refs/heads/master@{#427752} Original review: https://codereview.chromium.org/2349753003/ Review-Url: https://codereview.chromium.org/2455403002 Cr-Commit-Position: refs/heads/master@{#429514}