New issue
Advanced search Search tips

Issue 902646 link

Starred by 4 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature

Blocked on: View detail
issue 61248
issue 919364
issue 915112



Sign in to add a comment

Implement annotation of pdf documents

Project Member Reported by dstockwell@google.com, Nov 7

Issue description

go/pdf-annotations-design-doc (sorry, not accessible to everyone yet).
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6a3bbaed64bcd5bbc8c5b32dc721ba4638ab1972

commit 6a3bbaed64bcd5bbc8c5b32dc721ba4638ab1972
Author: Douglas Stockwell <dstockwell@chromium.org>
Date: Wed Nov 28 10:44:05 2018

pdf: Add annotation UI entry-point and guard behind feature

R=dsinclair@chromium.org, hnakashima@chromium.org

Bug: 902646
Change-Id: I896f190feeacededc97355d575b8dc3c26b03879
Reviewed-on: https://chromium-review.googlesource.com/c/1329808
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Ben Wells <benwells@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dstockwell <dstockwell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611637}
[modify] https://crrev.com/6a3bbaed64bcd5bbc8c5b32dc721ba4638ab1972/chrome/browser/extensions/api/resources_private/resources_private_api.cc
[modify] https://crrev.com/6a3bbaed64bcd5bbc8c5b32dc721ba4638ab1972/chrome/browser/pdf/pdf_extension_test.cc
[modify] https://crrev.com/6a3bbaed64bcd5bbc8c5b32dc721ba4638ab1972/chrome/browser/resources/pdf/elements/icons.html
[modify] https://crrev.com/6a3bbaed64bcd5bbc8c5b32dc721ba4638ab1972/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.html
[modify] https://crrev.com/6a3bbaed64bcd5bbc8c5b32dc721ba4638ab1972/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.js
[modify] https://crrev.com/6a3bbaed64bcd5bbc8c5b32dc721ba4638ab1972/chrome/browser/resources/pdf/pdf_viewer.js
[add] https://crrev.com/6a3bbaed64bcd5bbc8c5b32dc721ba4638ab1972/chrome/test/data/pdf/annotations_feature_disabled_test.js
[add] https://crrev.com/6a3bbaed64bcd5bbc8c5b32dc721ba4638ab1972/chrome/test/data/pdf/annotations_feature_enabled_test.js
[modify] https://crrev.com/6a3bbaed64bcd5bbc8c5b32dc721ba4638ab1972/pdf/pdf_features.cc
[modify] https://crrev.com/6a3bbaed64bcd5bbc8c5b32dc721ba4638ab1972/pdf/pdf_features.h

Project Member

Comment 2 by bugdroid1@chromium.org, Nov 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1752f77668c38c2a3dd3100692d4ac38931e660e

commit 1752f77668c38c2a3dd3100692d4ac38931e660e
Author: Douglas Stockwell <dstockwell@chromium.org>
Date: Wed Nov 28 23:41:36 2018

pdf: Move page to screen coordinate transformation to JS

The motivation to do this is to be able to convert in annotation mode
when the plugin is not active.

Fortunately it turns out that there is enough information to do this
without communicating with the plugin -- the dimensions of each page
are available and the translation from points to pixels is straightforward.

This new implementation also deals with the case where the
document has been rotated.

Bug: 902646
Change-Id: Id2814f96f6020c44cee07f725f5170494f1b512b
Reviewed-on: https://chromium-review.googlesource.com/c/1347646
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dstockwell <dstockwell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611940}
[modify] https://crrev.com/1752f77668c38c2a3dd3100692d4ac38931e660e/chrome/browser/resources/component_extension_resources.grd
[modify] https://crrev.com/1752f77668c38c2a3dd3100692d4ac38931e660e/chrome/browser/resources/pdf/BUILD.gn
[delete] https://crrev.com/7eed0fa8ec13ea17a2ee89e9833f13b2ae040129/chrome/browser/resources/pdf/coords_transformer.js
[modify] https://crrev.com/1752f77668c38c2a3dd3100692d4ac38931e660e/chrome/browser/resources/pdf/index.html
[modify] https://crrev.com/1752f77668c38c2a3dd3100692d4ac38931e660e/chrome/browser/resources/pdf/pdf_viewer.js
[modify] https://crrev.com/1752f77668c38c2a3dd3100692d4ac38931e660e/chrome/browser/resources/pdf/viewport.js
[modify] https://crrev.com/1752f77668c38c2a3dd3100692d4ac38931e660e/chrome/browser/ui/webui/print_preview/print_preview_ui.cc
[modify] https://crrev.com/1752f77668c38c2a3dd3100692d4ac38931e660e/pdf/out_of_process_instance.cc
[modify] https://crrev.com/1752f77668c38c2a3dd3100692d4ac38931e660e/pdf/pdf_engine.h
[modify] https://crrev.com/1752f77668c38c2a3dd3100692d4ac38931e660e/pdf/pdfium/pdfium_engine.cc
[modify] https://crrev.com/1752f77668c38c2a3dd3100692d4ac38931e660e/pdf/pdfium/pdfium_engine.h

Blockedon: pdfium:1193
Labels: M-73
Blockedon: 61248
Project Member

Comment 6 by bugdroid1@chromium.org, Dec 4

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d8bb43a1ed36f4b5a48e11ab5c399f0d499b5907

commit d8bb43a1ed36f4b5a48e11ab5c399f0d499b5907
Author: dstockwell <dstockwell@google.com>
Date: Tue Dec 04 22:08:11 2018

pdf: viewer-toolbar-dropdown improvements

I'm making this component reusable for use in the annotation toolbar.

 * dropdown is now positioned relative to the button (rather than absolutely to
   the right side of the screen)
 * dropdown handles dismissing itself when a pointer down event occurs anywhere
   outside its tree. (Previously tapping on the top bar would not dismiss the
   bookmarks dropdown).
 * width can now be customized
 * header is now optional

Bug: 902646
Change-Id: Ic1c4cb59810417339d67a17586cc0ca106ae9818
Reviewed-on: https://chromium-review.googlesource.com/c/1352080
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dstockwell <dstockwell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#613718}
[modify] https://crrev.com/d8bb43a1ed36f4b5a48e11ab5c399f0d499b5907/chrome/browser/resources/pdf/elements/viewer-toolbar-dropdown/viewer-toolbar-dropdown.html
[modify] https://crrev.com/d8bb43a1ed36f4b5a48e11ab5c399f0d499b5907/chrome/browser/resources/pdf/elements/viewer-toolbar-dropdown/viewer-toolbar-dropdown.js
[modify] https://crrev.com/d8bb43a1ed36f4b5a48e11ab5c399f0d499b5907/chrome/browser/resources/pdf/pdf_viewer.js
[modify] https://crrev.com/d8bb43a1ed36f4b5a48e11ab5c399f0d499b5907/chrome/test/data/pdf/basic_test.js

Project Member

Comment 7 by bugdroid1@chromium.org, Dec 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6b4d81b2d610bba6e691389b2ef771db17c40498

commit 6b4d81b2d610bba6e691389b2ef771db17c40498
Author: dstockwell <dstockwell@google.com>
Date: Mon Dec 10 01:43:41 2018

pdf: Introduce content controller abstraction

Primary motivation is to enable the plugin to be swapped out for the
Ink-based PDF renderer in annotation mode.

* An abstract `ContentController` class is added. This abstracts the
  logic that pdf_viewer used to communicate with the plugin so that
  the Ink component can replace it. Most plugin logic has been moved
  to `PluginController`, this also required adding many new APIs to
  `PDFViewer` to allow messages from the plugin to behave as before
  without exposing too much of `PDFViewer` private details. There are
  still some uses of `plugin.postMessage` that can be converted to
  `ContentController` APIs in future.
* The PDF saving logic has been slightly rewritten using promises.
  Instead of storing only tokens, at save-request time a promise
  is created and associated with the token. When the save data
  becomes available (or is consumed) the promise is resolved.

Bug: 902646
Change-Id: Ic33b7c250eb54515564a3646283e3897419984af
Reviewed-on: https://chromium-review.googlesource.com/c/1368845
Commit-Queue: dstockwell <dstockwell@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615028}
[modify] https://crrev.com/6b4d81b2d610bba6e691389b2ef771db17c40498/chrome/browser/resources/pdf/pdf_viewer.js

Cc: thestig@chromium.org
@dstockwell: Passing on a request I received privately for consideration.

"The best PDF annotation apps (Xodo is a good example) have a stylus only option. This option makes it so that only the stylus draws, and your fingers are used for navigation and selecting annotations. This really is a must have feature for PDF annotation as it does not require the user to enter/exit edit mode."
Project Member

Comment 9 by bugdroid1@chromium.org, Dec 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/79f69685103861bc946e0ad06aae88451b111d24

commit 79f69685103861bc946e0ad06aae88451b111d24
Author: Henrique Nakashima <hnakashima@chromium.org>
Date: Thu Dec 13 03:42:08 2018

Revert "pdf: Introduce content controller abstraction"

This reverts commit 6b4d81b2d610bba6e691389b2ef771db17c40498.

Reason for revert: Breaks navigation

Original change's description:
> pdf: Introduce content controller abstraction
> 
> Primary motivation is to enable the plugin to be swapped out for the
> Ink-based PDF renderer in annotation mode.
> 
> * An abstract `ContentController` class is added. This abstracts the
>   logic that pdf_viewer used to communicate with the plugin so that
>   the Ink component can replace it. Most plugin logic has been moved
>   to `PluginController`, this also required adding many new APIs to
>   `PDFViewer` to allow messages from the plugin to behave as before
>   without exposing too much of `PDFViewer` private details. There are
>   still some uses of `plugin.postMessage` that can be converted to
>   `ContentController` APIs in future.
> * The PDF saving logic has been slightly rewritten using promises.
>   Instead of storing only tokens, at save-request time a promise
>   is created and associated with the token. When the save data
>   becomes available (or is consumed) the promise is resolved.
> 
> Bug: 902646
> Change-Id: Ic33b7c250eb54515564a3646283e3897419984af
> Reviewed-on: https://chromium-review.googlesource.com/c/1368845
> Commit-Queue: dstockwell <dstockwell@chromium.org>
> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
> Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#615028}

TBR=dstockwell@chromium.org,dpapad@chromium.org,hnakashima@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 902646
Change-Id: I1cfb8b83d4121f91c0e6085132b95eec4d6e4433
Reviewed-on: https://chromium-review.googlesource.com/c/1374962
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616198}
[modify] https://crrev.com/79f69685103861bc946e0ad06aae88451b111d24/chrome/browser/resources/pdf/pdf_viewer.js

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b40eb5f558d94b70ea763e00664e5ea6b706ab74

commit b40eb5f558d94b70ea763e00664e5ea6b706ab74
Author: dstockwell <dstockwell@google.com>
Date: Thu Dec 13 19:56:53 2018

Reland "pdf: Introduce content controller abstraction"

This is a reland of 6b4d81b2d610bba6e691389b2ef771db17c40498

Original change's description:
> pdf: Introduce content controller abstraction
>
> Primary motivation is to enable the plugin to be swapped out for the
> Ink-based PDF renderer in annotation mode.
>
> * An abstract `ContentController` class is added. This abstracts the
>   logic that pdf_viewer used to communicate with the plugin so that
>   the Ink component can replace it. Most plugin logic has been moved
>   to `PluginController`, this also required adding many new APIs to
>   `PDFViewer` to allow messages from the plugin to behave as before
>   without exposing too much of `PDFViewer` private details. There are
>   still some uses of `plugin.postMessage` that can be converted to
>   `ContentController` APIs in future.
> * The PDF saving logic has been slightly rewritten using promises.
>   Instead of storing only tokens, at save-request time a promise
>   is created and associated with the token. When the save data
>   becomes available (or is consumed) the promise is resolved.
>
> Bug: 902646
> Change-Id: Ic33b7c250eb54515564a3646283e3897419984af
> Reviewed-on: https://chromium-review.googlesource.com/c/1368845
> Commit-Queue: dstockwell <dstockwell@chromium.org>
> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
> Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#615028}

Bug: 902646,914596
Change-Id: I73e6dcc1b077ef824232ddb2817dee1dd4bc6429
Reviewed-on: https://chromium-review.googlesource.com/c/1375295
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dstockwell <dstockwell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616406}
[modify] https://crrev.com/b40eb5f558d94b70ea763e00664e5ea6b706ab74/chrome/browser/resources/pdf/pdf_viewer.js

Blockedon: 915112

Comment 12 Deleted

The above r616406 in the presence of "OutOfBlinkCors" field-trial causes bug 915546.
Could you take a look please?

Project Member

Comment 14 by bugdroid1@chromium.org, Dec 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249

commit f905e88821fa8e2d4b0cf3fe8ea6cd1002967249
Author: dstockwell <dstockwell@google.com>
Date: Wed Dec 19 00:20:01 2018

pdf: Add entry and exit of annotation-mode

* Adds a new viewer element to host the Ink component. For now this is
  just a dummy implementation of the expected API allowing us to test
  entry/exit.
* `ContentController` is extended with load/unload
* `InkController` is added and made the current controller when in
  annotation mode, delegating behavior to the viewer-ink-host rather
  than plugin.
* The plugin interface is extended to allow the PDF to be saved and
  sent back regardless of whether the PDF has been modified.
* The loaded state of PDFViewer is centralized and exposed via the
  `loaded` property. This allows the switching logic and tests to wait
  for the mode switch to complete.

Bug: 902646
Change-Id: I2922cb121e510e9e84c21b75faddc48fa90a195c
Reviewed-on: https://chromium-review.googlesource.com/c/1368846
Commit-Queue: dstockwell <dstockwell@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617686}
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/chrome/browser/resources/component_extension_resources.grd
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/chrome/browser/resources/pdf/BUILD.gn
[add] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/chrome/browser/resources/pdf/elements/viewer-ink-host/BUILD.gn
[add] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/chrome/browser/resources/pdf/elements/viewer-ink-host/viewer-ink-host.html
[add] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/chrome/browser/resources/pdf/elements/viewer-ink-host/viewer-ink-host.js
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.html
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.js
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/chrome/browser/resources/pdf/index.css
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/chrome/browser/resources/pdf/index.html
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/chrome/browser/resources/pdf/pdf_viewer.js
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/chrome/browser/ui/webui/print_preview/print_preview_ui.cc
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/chrome/test/data/pdf/annotations_feature_enabled_test.js
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/pdf/out_of_process_instance.cc
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/pdf/out_of_process_instance.h
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/pdf/pdf_engine.h
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/pdf/pdfium/pdfium_engine.cc
[modify] https://crrev.com/f905e88821fa8e2d4b0cf3fe8ea6cd1002967249/pdf/pdfium/pdfium_engine.h

Project Member

Comment 16 by bugdroid1@chromium.org, Jan 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0e988a8cf35dc46fbdd15d5c94ba6016cba830d2

commit 0e988a8cf35dc46fbdd15d5c94ba6016cba830d2
Author: dstockwell <dstockwell@google.com>
Date: Thu Jan 03 02:57:40 2019

pdf: Host ink component inside an iframe

This will allow the ink component to be unloaded and will prevent any of
its globals from intefering with the PDF viewer.

Covered by existing tests in annotations_feature_enabled.js

Bug: 902646
Change-Id: Ie45067d95df2d91441516714b04e6e5f4f3e459d
Reviewed-on: https://chromium-review.googlesource.com/c/1392702
Reviewed-by: calamity <calamity@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dstockwell <dstockwell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#619570}
[modify] https://crrev.com/0e988a8cf35dc46fbdd15d5c94ba6016cba830d2/chrome/browser/resources/component_extension_resources.grd
[modify] https://crrev.com/0e988a8cf35dc46fbdd15d5c94ba6016cba830d2/chrome/browser/resources/pdf/BUILD.gn
[modify] https://crrev.com/0e988a8cf35dc46fbdd15d5c94ba6016cba830d2/chrome/browser/resources/pdf/elements/viewer-ink-host/BUILD.gn
[modify] https://crrev.com/0e988a8cf35dc46fbdd15d5c94ba6016cba830d2/chrome/browser/resources/pdf/elements/viewer-ink-host/viewer-ink-host.html
[modify] https://crrev.com/0e988a8cf35dc46fbdd15d5c94ba6016cba830d2/chrome/browser/resources/pdf/elements/viewer-ink-host/viewer-ink-host.js
[add] https://crrev.com/0e988a8cf35dc46fbdd15d5c94ba6016cba830d2/chrome/browser/resources/pdf/ink/BUILD.gn
[add] https://crrev.com/0e988a8cf35dc46fbdd15d5c94ba6016cba830d2/chrome/browser/resources/pdf/ink/index.html
[add] https://crrev.com/0e988a8cf35dc46fbdd15d5c94ba6016cba830d2/chrome/browser/resources/pdf/ink/ink_api.js

Project Member

Comment 17 by bugdroid1@chromium.org, Jan 3

Project Member

Comment 18 by bugdroid1@chromium.org, Jan 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4719c07770100e25172510926b5ff5c3874e3bf4

commit 4719c07770100e25172510926b5ff5c3874e3bf4
Author: dstockwell <dstockwell@google.com>
Date: Thu Jan 03 23:26:56 2019

third_party/ink: remove stale files and prepare for new artifacts

Ink is now open source at https://github.com/google/ink. As discussed
in go/ink-in-chromium the short term plan is to include build artifacts
based on those sources rather than attempt to produce as part of the
chromium build.

That strategy is demonstrated in https://chromium-review.googlesource.com/c/chromium/src/+/1393204

Bug: 902646,  818624 
Change-Id: I65f0e3eeb406f72c8c26fb71c4de846c557ba17c
Reviewed-on: https://chromium-review.googlesource.com/c/1393583
Reviewed-by: François Degros <fdegros@chromium.org>
Commit-Queue: dstockwell <dstockwell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#619802}
[add] https://crrev.com/4719c07770100e25172510926b5ff5c3874e3bf4/third_party/ink/LICENSE
[add] https://crrev.com/4719c07770100e25172510926b5ff5c3874e3bf4/third_party/ink/README.chromium
[modify] https://crrev.com/4719c07770100e25172510926b5ff5c3874e3bf4/third_party/ink/README.md
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/array/array.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/asserts/asserts.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/base.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/crypt/base64.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/crypt/crypt.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/debug/debug.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/debug/entrypointregistry.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/debug/error.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/debug/errorcontext.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/disposable/disposable.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/disposable/idisposable.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/dom/asserts.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/dom/browserfeature.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/dom/classlist.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/dom/dom.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/dom/htmlelement.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/dom/nodetype.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/dom/safe.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/dom/tagname.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/dom/tags.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/dom/vendor.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/browserevent.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/browserfeature.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/event.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/eventhandler.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/eventid.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/events.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/eventtarget.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/eventtype.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/keycodes.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/listenable.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/listener.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/listenermap.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/events/wheelevent.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/format/format.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/fs/url.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/functions/functions.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/html/legacyconversions.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/html/safehtml.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/html/safescript.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/html/safestyle.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/html/safestylesheet.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/html/safeurl.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/html/trustedresourceurl.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/html/uncheckedconversions.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/i18n/bidi.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/i18n/bidiformatter.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/i18n/graphemebreak.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/i18n/uchar.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/iter/iter.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/labs/useragent/browser.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/labs/useragent/engine.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/labs/useragent/platform.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/labs/useragent/util.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/math/box.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/math/coordinate.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/math/irect.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/math/long.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/math/math.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/math/rect.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/math/size.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/object/object.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/proto2/descriptor.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/proto2/fielddescriptor.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/proto2/message.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/proto2/objectserializer.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/proto2/serializer.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/reflect/reflect.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/soy/data.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/soy/soy.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/string/const.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/string/string.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/string/typedstring.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/structs/collection.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/structs/inversionmap.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/structs/map.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/structs/set.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/structs/structs.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/style/style.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/ui/component.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/ui/idgenerator.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/uri/uri.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/uri/utils.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/useragent/product.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/closure/useragent/useragent.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/ink/web/js/canvas_manager/canvas_manager.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/ink/web/js/cursor_updater.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/ink/web/js/embed/embed.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/ink/web/js/embed/embed_component.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/ink/web/js/embed/events.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/ink/web/js/main.soy.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/ink_event.pb.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/ink_scripts.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/prebuilt/nacl/_platform_specific/arm/ink_arm.nexe
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/prebuilt/nacl/_platform_specific/x86-32/ink_x86_32.nexe
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/prebuilt/nacl/_platform_specific/x86-64/ink_x86_64.nexe
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/prebuilt/nacl/index.html
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/prebuilt/nacl/ink.nmf
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/prebuilt/nacl/ink_demo.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/prebuilt/nacl/ink_lib_binary.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/prebuilt/wasm/glcore_base.wasm
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/prebuilt/wasm/index.html
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/prebuilt/wasm/ink_demo.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/prebuilt/wasm/ink_lib_binary.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/proto/animations.pb.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/proto/document.pb.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/proto/elements.pb.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/proto/rect_bounds.pb.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/proto/sengine.pb.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/public/js/common/brush_model.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/public/js/common/color.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/public/js/common/element_listener.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/public/js/common/model.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/public/js/common/proto_serializer.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/public/js/common/undo_state_change_event.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/public/js/common/util.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/public/nacl/embed.soy.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/sketchology/public/nacl/sketchology_engine_wrapper.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/template/soy/soyutils_usegoog.js
[delete] https://crrev.com/b4060ea260b4253863cbf00300396a418304361e/third_party/ink/wireserializer.js

Blockedon: -pdfium:1193 919364
Project Member

Comment 20 by bugdroid1@chromium.org, Jan 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0fe63ffc53896807790f989132f925808c07a1b7

commit 0fe63ffc53896807790f989132f925808c07a1b7
Author: dstockwell <dstockwell@google.com>
Date: Mon Jan 07 07:05:39 2019

pdf: Add annotations sub-toolbar and wire to Ink API

The main resource, viewer-pen-options.html is only loaded on chromeos
and the elements left inert elsewhere. Strings will follow in a
separate patch.

Screencast: go/pdf-pen-options

Bug: 902646
Change-Id: I20db59cbef8bda3e1af0ba123cb85c2a7a6e8ee3
Reviewed-on: https://chromium-review.googlesource.com/c/1394109
Reviewed-by: calamity <calamity@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dstockwell <dstockwell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620265}
[modify] https://crrev.com/0fe63ffc53896807790f989132f925808c07a1b7/chrome/browser/resources/component_extension_resources.grd
[modify] https://crrev.com/0fe63ffc53896807790f989132f925808c07a1b7/chrome/browser/resources/pdf/elements/viewer-ink-host/viewer-ink-host.js
[modify] https://crrev.com/0fe63ffc53896807790f989132f925808c07a1b7/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.html
[modify] https://crrev.com/0fe63ffc53896807790f989132f925808c07a1b7/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.js
[add] https://crrev.com/0fe63ffc53896807790f989132f925808c07a1b7/chrome/browser/resources/pdf/elements/viewer-pen-options/BUILD.gn
[add] https://crrev.com/0fe63ffc53896807790f989132f925808c07a1b7/chrome/browser/resources/pdf/elements/viewer-pen-options/viewer-pen-options.html
[add] https://crrev.com/0fe63ffc53896807790f989132f925808c07a1b7/chrome/browser/resources/pdf/elements/viewer-pen-options/viewer-pen-options.js
[modify] https://crrev.com/0fe63ffc53896807790f989132f925808c07a1b7/chrome/browser/resources/pdf/ink/ink_api.js
[modify] https://crrev.com/0fe63ffc53896807790f989132f925808c07a1b7/chrome/browser/resources/pdf/pdf_viewer.js
[modify] https://crrev.com/0fe63ffc53896807790f989132f925808c07a1b7/chrome/browser/ui/webui/print_preview/print_preview_ui.cc
[modify] https://crrev.com/0fe63ffc53896807790f989132f925808c07a1b7/chrome/test/data/pdf/annotations_feature_enabled_test.js

Project Member

Comment 21 by bugdroid1@chromium.org, Jan 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f0ebe2a0dae0df0b7686f6ec1bf271258cbe0e73

commit f0ebe2a0dae0df0b7686f6ec1bf271258cbe0e73
Author: dstockwell <dstockwell@google.com>
Date: Mon Jan 07 08:04:48 2019

pdf: Add new icons for annotation tools

Highligher and marker icons are styled by CSS Variables when the
selected color changes.

Bug: 902646
Change-Id: I8c6f8e852eaf661a5ec730a9f095d31e9699455d
Reviewed-on: https://chromium-review.googlesource.com/c/1394114
Commit-Queue: dstockwell <dstockwell@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620272}
[modify] https://crrev.com/f0ebe2a0dae0df0b7686f6ec1bf271258cbe0e73/chrome/browser/resources/pdf/elements/icons.html
[modify] https://crrev.com/f0ebe2a0dae0df0b7686f6ec1bf271258cbe0e73/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.html
[modify] https://crrev.com/f0ebe2a0dae0df0b7686f6ec1bf271258cbe0e73/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.js

Project Member

Comment 23 by bugdroid1@chromium.org, Jan 8

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c4b3411cc95c819e508b7d58b17abff4f8f410c6

commit c4b3411cc95c819e508b7d58b17abff4f8f410c6
Author: dstockwell <dstockwell@google.com>
Date: Tue Jan 08 08:01:03 2019

pdf: Proxy pointer events from Ink host to Ink API

The first valid down pointer (pen, touch, or mouse with buttons = 1) becomes
the active pointer. Events for that pointer are propagated to Ink until it
is released (pointerup/cancel).

If the active pointer becomes part of a multi-touch gesture, it is cancelled
causing Ink to recall the stroke. Subsequent events are suppressed until it
is released.

The plugin and ink-host are now moved from body to a new #content element so
that the GestureDetector can listen to touch events from both.

Bug: 902646
Change-Id: I95474254a83220a7009547d7641ef31df4547ad8
Reviewed-on: https://chromium-review.googlesource.com/c/1396000
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dstockwell <dstockwell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620652}
[modify] https://crrev.com/c4b3411cc95c819e508b7d58b17abff4f8f410c6/chrome/browser/resources/pdf/elements/viewer-ink-host/viewer-ink-host.html
[modify] https://crrev.com/c4b3411cc95c819e508b7d58b17abff4f8f410c6/chrome/browser/resources/pdf/elements/viewer-ink-host/viewer-ink-host.js
[modify] https://crrev.com/c4b3411cc95c819e508b7d58b17abff4f8f410c6/chrome/browser/resources/pdf/index.css
[modify] https://crrev.com/c4b3411cc95c819e508b7d58b17abff4f8f410c6/chrome/browser/resources/pdf/index.html
[modify] https://crrev.com/c4b3411cc95c819e508b7d58b17abff4f8f410c6/chrome/browser/resources/pdf/ink/ink_api.js
[modify] https://crrev.com/c4b3411cc95c819e508b7d58b17abff4f8f410c6/chrome/browser/resources/pdf/pdf_viewer.js
[modify] https://crrev.com/c4b3411cc95c819e508b7d58b17abff4f8f410c6/chrome/test/data/pdf/annotations_feature_enabled_test.js
[modify] https://crrev.com/c4b3411cc95c819e508b7d58b17abff4f8f410c6/chrome/test/data/pdf/touch_handling_test.js

Project Member

Comment 24 by bugdroid1@chromium.org, Jan 9

Project Member

Comment 25 by bugdroid1@chromium.org, Jan 9

Project Member

Comment 28 by bugdroid1@chromium.org, Jan 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f83cfbdc58b495233b08aeac7d1aa06d902934d3

commit f83cfbdc58b495233b08aeac7d1aa06d902934d3
Author: dstockwell <dstockwell@google.com>
Date: Wed Jan 09 23:30:07 2019

pdf: Reorder annotation test to avoid timeouts loading Wasm

Bug: 902646
Change-Id: I760dbde81d85d968055b887dc5df3932e8b9020a
Reviewed-on: https://chromium-review.googlesource.com/c/1404214
Commit-Queue: dstockwell <dstockwell@chromium.org>
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621367}
[modify] https://crrev.com/f83cfbdc58b495233b08aeac7d1aa06d902934d3/chrome/test/data/pdf/annotations_feature_enabled_test.js
[modify] https://crrev.com/f83cfbdc58b495233b08aeac7d1aa06d902934d3/chrome/test/data/pdf/test_util.js

Project Member

Comment 29 by bugdroid1@chromium.org, Jan 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b21d585776db39ee3f20ebc2ca5baeaa709a58a7

commit b21d585776db39ee3f20ebc2ca5baeaa709a58a7
Author: dstockwell <dstockwell@google.com>
Date: Thu Jan 10 02:42:06 2019

pdf: Use real Ink component in annotation mode

* The dummy implementation in ink_api is replaced with a real
  implementation that proxies to the Ink component.
* For now some externs need to be manually defined while we
  wait for upstream fixes.

Existing tests now cover the PDF document being round-tripped via
the Ink component (setPDF, getPDF).

Bug: 902646
Change-Id: I178adc174d2bd4a4d0da96ae11d893658ee3cff2
Reviewed-on: https://chromium-review.googlesource.com/c/1396004
Commit-Queue: dstockwell <dstockwell@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621434}
[modify] https://crrev.com/b21d585776db39ee3f20ebc2ca5baeaa709a58a7/chrome/browser/resources/pdf/BUILD.gn
[modify] https://crrev.com/b21d585776db39ee3f20ebc2ca5baeaa709a58a7/chrome/browser/resources/pdf/elements/viewer-ink-host/viewer-ink-host.js
[modify] https://crrev.com/b21d585776db39ee3f20ebc2ca5baeaa709a58a7/chrome/browser/resources/pdf/ink/BUILD.gn
[add] https://crrev.com/b21d585776db39ee3f20ebc2ca5baeaa709a58a7/chrome/browser/resources/pdf/ink/externs.js
[modify] https://crrev.com/b21d585776db39ee3f20ebc2ca5baeaa709a58a7/chrome/browser/resources/pdf/ink/index.html
[modify] https://crrev.com/b21d585776db39ee3f20ebc2ca5baeaa709a58a7/chrome/browser/resources/pdf/ink/ink_api.js
[modify] https://crrev.com/b21d585776db39ee3f20ebc2ca5baeaa709a58a7/chrome/browser/resources/pdf/manifest.json

Project Member

Comment 30 by bugdroid1@chromium.org, Jan 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/05c4e412942d37fa177f4d3582e42a934d1e21a3

commit 05c4e412942d37fa177f4d3582e42a934d1e21a3
Author: dstockwell <dstockwell@google.com>
Date: Thu Jan 10 05:51:13 2019

pdf: Exit annotation mode after using destructive save

Due to limitations around saving documents that contain bookmarks
we must temporarily use a save API that destroys the Ink engine.
For now when the user triggers a save in annotation mode we will
save and then exit back to the plugin.

Bug: 919364,902646
Change-Id: Ia61d59b3d01965aba259692e96d40fc4389680b9
Reviewed-on: https://chromium-review.googlesource.com/c/1397502
Commit-Queue: dstockwell <dstockwell@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621481}
[modify] https://crrev.com/05c4e412942d37fa177f4d3582e42a934d1e21a3/chrome/browser/resources/pdf/elements/viewer-ink-host/viewer-ink-host.js
[modify] https://crrev.com/05c4e412942d37fa177f4d3582e42a934d1e21a3/chrome/browser/resources/pdf/ink/ink_api.js
[modify] https://crrev.com/05c4e412942d37fa177f4d3582e42a934d1e21a3/chrome/browser/resources/pdf/pdf_viewer.js

Project Member

Comment 31 by bugdroid1@chromium.org, Jan 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/58f0d71d506b2668d4c5a50f515bfb09093d9841

commit 58f0d71d506b2668d4c5a50f515bfb09093d9841
Author: dstockwell <dstockwell@google.com>
Date: Thu Jan 10 05:58:33 2019

pdf: Annotations rendering tweaks

 * Set Ink's background color, border and page-spacing to mirror
   the plugin's rendering.
 * Ensure that the plugin receives a viewport message after
   exiting annotation mode.

Bug: 902646
Change-Id: I018396aef6f0761fbea89dbab74502900fa93c74
Reviewed-on: https://chromium-review.googlesource.com/c/1402975
Commit-Queue: dstockwell <dstockwell@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621483}
[modify] https://crrev.com/58f0d71d506b2668d4c5a50f515bfb09093d9841/chrome/browser/resources/pdf/elements/viewer-ink-host/viewer-ink-host.js
[modify] https://crrev.com/58f0d71d506b2668d4c5a50f515bfb09093d9841/chrome/browser/resources/pdf/ink/ink_api.js
[modify] https://crrev.com/58f0d71d506b2668d4c5a50f515bfb09093d9841/chrome/browser/resources/pdf/pdf_viewer.js

Project Member

Comment 32 by bugdroid1@chromium.org, Jan 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/208c494f404b9b96784efe16d6873b9f65fce8f4

commit 208c494f404b9b96784efe16d6873b9f65fce8f4
Author: dstockwell <dstockwell@google.com>
Date: Thu Jan 10 06:03:03 2019

pdf: Exit annotation mode before printing

Ink doesn't have the capability to print the document, so we must
switch back to the plugin first.

Bug: 902646
Change-Id: I0da50e90bec2d5797bbf0db32008bec54420b629
Reviewed-on: https://chromium-review.googlesource.com/c/1402976
Commit-Queue: dstockwell <dstockwell@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621484}
[modify] https://crrev.com/208c494f404b9b96784efe16d6873b9f65fce8f4/chrome/browser/resources/pdf/pdf_viewer.js

Project Member

Comment 33 by bugdroid1@chromium.org, Jan 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5f4244d322801e2213ee090c3ced9beeab6e8c1b

commit 5f4244d322801e2213ee090c3ced9beeab6e8c1b
Author: dstockwell <dstockwell@google.com>
Date: Thu Jan 10 06:49:31 2019

pdf: Ensure annotations are saved

If save is triggered after exiting annoation mode we must ensure
that the plugin posts the contents back for saving.

Bug: 902646
Change-Id: Ib5428ff778eaa5cfa35eac5c1d2a55f63886bba5
Reviewed-on: https://chromium-review.googlesource.com/c/1402977
Commit-Queue: dstockwell <dstockwell@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621488}
[modify] https://crrev.com/5f4244d322801e2213ee090c3ced9beeab6e8c1b/chrome/browser/resources/pdf/pdf_viewer.js

Chrome on ChromeOS stopped building for me yesterday with the error below. Is there some additional action I'm missing?

FAILED: gen/third_party/ink/ink_resources_stamp.d.stamp gen/third_party/ink/grit/ink_resources.h gen/third_party/ink/grit/ink_resources_map.cc gen/third_party/ink/grit/ink_resources_map.h gen/third_party/ink/ink_resources.pak gen/third_party/ink/ink_resources.pak.info 
python ../../tools/grit/grit.py -i ../../third_party/ink/ink_resources.grd build -o gen/third_party/ink --depdir . --depfile gen/third_party/ink/ink_resources_stamp.d --write-only-new=1 --depend-on-stamp -D _chromium -E CHROMIUM_BUILD=chromium -D chromeos -D scale_factors=2x -D toolkit_views -D use_aura -D use_nss_certs -D use_ozone -t linux2 -f ../../tools/gritsettings/resource_ids --assert-file-list=obj/third_party/ink/ink_resources_expected_outputs.txt
Error processing node <?xml version="1.0" encoding="UTF-8"?>
<include file="build/ink_lib_binary.js" name="IDR_INK_LIB_BINARY_JS" type="BINDATA" />
Traceback (most recent call last):
  File "../../tools/grit/grit.py", line 15, in <module>
    sys.exit(grit.grit_runner.Main(sys.argv[1:]))
  File "/usr/local/google/home/vkuzkokov/cr/src/tools/grit/grit/grit_runner.py", line 256, in Main
    return toolobject.Run(options, args[1:])
  File "/usr/local/google/home/vkuzkokov/cr/src/tools/grit/grit/tool/build.py", line 260, in Run
    self.Process()
  File "/usr/local/google/home/vkuzkokov/cr/src/tools/grit/grit/tool/build.py", line 401, in Process
    self.ProcessNode(self.res, output, outfile)
  File "/usr/local/google/home/vkuzkokov/cr/src/tools/grit/grit/tool/build.py", line 324, in ProcessNode
    formatted = formatter(node, output_node.GetLanguage(), output_dir=base_dir)
  File "/usr/local/google/home/vkuzkokov/cr/src/tools/grit/grit/format/data_pack.py", line 83, in Format
    value = node.GetDataPackValue(lang, UTF8)
  File "/usr/local/google/home/vkuzkokov/cr/src/tools/grit/grit/node/include.py", line 102, in GetDataPackValue
    data = util.ReadFile(filename, util.BINARY)
  File "/usr/local/google/home/vkuzkokov/cr/src/tools/grit/grit/util.py", line 206, in ReadFile
    with open(filename, mode) as f:
IOError: [Errno 2] No such file or directory: u'../../third_party/ink/build/ink_lib_binary.js'

W.r.t. #34:
Nvm, "chromeos" was missing from "target_os" in .gclient.
I'm actually not sure why was it working until now.
I'm getting the same BUILD failure as Comment #34. My gn args does include target_os = "chromeos", here's the full args:

use_goma = true
target_os = "chromeos"
is_debug = false
is_component_build = true
dcheck_always_on = true
closure_compile = true
use_jumbo_build = false
If you're seeing errors related to: No such file or directory: u'../../third_party/ink/build/ink_lib_binary.js' then see comment #2 in  issue 920712 .
Project Member

Comment 39 by bugdroid1@chromium.org, Jan 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/09815ba8ecd23735e2dc1624826606e6d70b4dba

commit 09815ba8ecd23735e2dc1624826606e6d70b4dba
Author: dstockwell <dstockwell@google.com>
Date: Wed Jan 16 06:44:24 2019

pdf: Enable pen mode and out-of-bounds panning for annotation

* Pen mode: once a pen is detected touch is only used for panning and
  not drawing strokes.
* Out-of-bounds panning: pen and touch events that occur outside of
  the page are allowed to start pan-x or pan-y gestures.

Bug: 902646
Change-Id: Ieb9719c61d31db2c7e7e6e4f5f97ebea8084bb39
Reviewed-on: https://chromium-review.googlesource.com/c/1405157
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dstockwell <dstockwell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623139}
[modify] https://crrev.com/09815ba8ecd23735e2dc1624826606e6d70b4dba/chrome/browser/resources/pdf/elements/viewer-ink-host/externs.js
[modify] https://crrev.com/09815ba8ecd23735e2dc1624826606e6d70b4dba/chrome/browser/resources/pdf/elements/viewer-ink-host/viewer-ink-host.js
[modify] https://crrev.com/09815ba8ecd23735e2dc1624826606e6d70b4dba/chrome/browser/resources/pdf/pdf_viewer.js
[modify] https://crrev.com/09815ba8ecd23735e2dc1624826606e6d70b4dba/chrome/browser/resources/pdf/viewport.js
[modify] https://crrev.com/09815ba8ecd23735e2dc1624826606e6d70b4dba/chrome/test/data/pdf/annotations_feature_enabled_test.js

Project Member

Comment 41 by bugdroid1@chromium.org, Yesterday (32 hours ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/14262e2fc5f2b25a386ad8bee6d078583577ccc2

commit 14262e2fc5f2b25a386ad8bee6d078583577ccc2
Author: Darren Shen <shend@chromium.org>
Date: Mon Jan 21 23:33:18 2019

Revert "Roll third_party/ink to 230250745"

This reverts commit 45ce00a7dc3fb08046922af7d626464fe0dc0932.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Roll third_party/ink to 230250745
> 
> Bug: 902646
> Change-Id: Ife9419c49c925dd74c3381cf3c9ce703bc1bede4
> Reviewed-on: https://chromium-review.googlesource.com/c/1426197
> Auto-Submit: dstockwell <dstockwell@chromium.org>
> Commit-Queue: Darren Shen <shend@chromium.org>
> Reviewed-by: Darren Shen <shend@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#624690}

TBR=dstockwell@chromium.org,shend@chromium.org

Change-Id: I5e0f5b021237fe3769e5df2bc38b9cc3a24997ac
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 902646
Reviewed-on: https://chromium-review.googlesource.com/c/1425839
Reviewed-by: Darren Shen <shend@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624692}
[modify] https://crrev.com/14262e2fc5f2b25a386ad8bee6d078583577ccc2/third_party/ink/README.chromium
[modify] https://crrev.com/14262e2fc5f2b25a386ad8bee6d078583577ccc2/third_party/ink/build/ink_lib_binary.js.sha1
[modify] https://crrev.com/14262e2fc5f2b25a386ad8bee6d078583577ccc2/third_party/ink/build/ink_lib_externs.js.sha1
[modify] https://crrev.com/14262e2fc5f2b25a386ad8bee6d078583577ccc2/third_party/ink/build/wasm/glcore_base.js.sha1
[modify] https://crrev.com/14262e2fc5f2b25a386ad8bee6d078583577ccc2/third_party/ink/build/wasm/glcore_base.wasm.sha1
[modify] https://crrev.com/14262e2fc5f2b25a386ad8bee6d078583577ccc2/third_party/ink/build/wasm/glcore_wasm_bootstrap_compiled.js.sha1

Project Member

Comment 42 by bugdroid1@chromium.org, Today (17 hours ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/16ccbc50c44e65e7fb21114db06655458043e019

commit 16ccbc50c44e65e7fb21114db06655458043e019
Author: dstockwell <dstockwell@google.com>
Date: Tue Jan 22 14:57:05 2019

pdf: Annotation pen options shouldn't open until selected

Adds a new attribute, 'open-after-select', to <viewer-toolbar-dropdown>. This
requires that 'selected' is first set before the dropdown will open.

Bug: 902646
Change-Id: I79f73b1b159f500680de24fb43cf10e74b0f911e
Reviewed-on: https://chromium-review.googlesource.com/c/1425838
Auto-Submit: dstockwell <dstockwell@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624778}
[modify] https://crrev.com/16ccbc50c44e65e7fb21114db06655458043e019/chrome/browser/resources/pdf/elements/viewer-pdf-toolbar/viewer-pdf-toolbar.html
[modify] https://crrev.com/16ccbc50c44e65e7fb21114db06655458043e019/chrome/browser/resources/pdf/elements/viewer-toolbar-dropdown/viewer-toolbar-dropdown.js

Comment 43 by pdr@chromium.org, Today (16 hours ago)

I had a compile issue with the ink library last week (same issue as vkuzkokov and katie) and someone else is reporting this is breaking them this morning:
https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/8zjIwSJ-ZoQ

Could a BUILD rule be misconfigured that leads to ink changes breaking chromeos builds?

Comment 44 by dstockwell@google.com, Today (12 hours ago)

See comment 38 above.

Sign in to add a comment