Commit Graph

130 Commits

Author SHA1 Message Date
Konstantin Shcheglov 91d3c02d19 Rewrite relative URIs in instrumented Flutter outline code.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I33e73400643d77eb7c2b105eae918f4997e7d55d
Reviewed-on: https://dart-review.googlesource.com/46920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-16 16:52:40 +00:00
Konstantin Shcheglov 64e092d4a3 Add fields codeOffset/codeLength to FlutterOutline.
R=brianwilkerson@google.com

Change-Id: I917a780704882fcd7537a9334febc21098aabd4f
Reviewed-on: https://dart-review.googlesource.com/46579
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-15 21:01:14 +00:00
Konstantin Shcheglov e1909cb52a Update Outline protocol - change offset/length, add codeOffset/codeLength.
R=brianwilkerson@google.com

Change-Id: I4b5c03a21254f7c497adc4c043641b18599c5c39
Reviewed-on: https://dart-review.googlesource.com/45764
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-09 01:52:57 +00:00
Konstantin Shcheglov 6b44182344 Only widgets in libraries can be rendered.
Technically we could eventually implement rendering widgets in parts,
but this is probably rare situation, and IntelliJ plugin does not
handle this case yet.

R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I734eb5f5b26c386780a776f652366bd4d21125f9
Reviewed-on: https://dart-review.googlesource.com/45361
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-06 18:02:39 +00:00
Konstantin Shcheglov be87175fee Implement Flutter Outline rendering API.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I7cbb4c0be7656ba1e684e8864348e6f1af54efae
Reviewed-on: https://dart-review.googlesource.com/45140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-06 16:33:34 +00:00
Danny Tuppeny e9527bed5e Fix plugin tests on Windows
Bug: https://github.com/dart-lang/sdk/issues/32226
Change-Id: Iffbd616eec6afcc7613d829c47d8c278a268ab1b
Reviewed-on: https://dart-review.googlesource.com/43662
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-02-26 15:35:42 +00:00
Danny Tuppeny 40e3f9addc Convert paths for mock SDK libraries to fix tests on Windows
The other lines on this method are calling `provider.convertPath` around their paths but these ones do not, which is causing almost all analysis server tests to fail on Windows (for me - I can't explain them not
failing builds). This causes the hard-coded paths like `/lib/core/core.dart` to be fixed up to `C:\lib\core\core.dart` which is what the server is looking for (because at the other end the paths *have* been fixed up).

See #32226.

Closes #32230
https://github.com/dart-lang/sdk/pull/32230

GitOrigin-RevId: 1adeee23f8ac8efc8acf61caf5f769e4ec44c030
Change-Id: Id9bf195967db0912c6f4b67bd79d504e627b8aab
Reviewed-on: https://dart-review.googlesource.com/42300
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-20 18:55:38 +00:00
Konstantin Shcheglov 223eeb2ebe Always shorten function expressions, list/map literals, multiline values.
R=brianwilkerson@google.com, devoncarew@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/1762
Change-Id: I742ac6cb0ebbdde78f1326c5e07775d94e335d42
Reviewed-on: https://dart-review.googlesource.com/40560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-02-12 19:15:05 +00:00
Konstantin Shcheglov 49686f7ffa Don't insert a trailing comma after a missing required argument, when there is on already.
R=brianwilkerson@google.com

Change-Id: I47819c9d2698880f793de2e3c056e1112b1b8f57
Reviewed-on: https://dart-review.googlesource.com/40402
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-02-09 19:01:49 +00:00
Konstantin Shcheglov 59716fede1 New Quick Asists for Flutter: 'Replace with child' and 'Replace with children'.
R=brianwilkerson@google.com, devoncarew@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/1283
Change-Id: Ic50de9739cdab5cd82649dcbd8370c5e728d2ee3
     https://github.com/flutter/flutter-intellij/issues/1756
Reviewed-on: https://dart-review.googlesource.com/40240
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2018-02-09 17:09:18 +00:00
Konstantin Shcheglov 330ad8d287 Fix for NPE when an argument does not correspond to a constructor parameter.
R=brianwilkerson@google.com

Change-Id: I97ba245398e4375e0e132cc3280db0357859e494
Reviewed-on: https://dart-review.googlesource.com/40104
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-08 21:38:57 +00:00
Konstantin Shcheglov f3242f8533 Fix for some cases of indentation in 'Move widget up/down'.
R=brianwilkerson@google.com, devoncarew@google.com

Bug: https://github.com/Dart-Code/Dart-Code/issues/495
Change-Id: I62c8374a1b7a578886bad1fec5a7c8eaf83cf231
Reviewed-on: https://dart-review.googlesource.com/39841
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-07 20:08:19 +00:00
Konstantin Shcheglov cfa159ceb3 Wrap any Flutter widget expressions, not just instance creations.
Relanding https://dart-review.googlesource.com/c/sdk/+/38922 with all
changes.

Change-Id: I40b533521f420eccf2f4f86cf9e722ab498636e2
Reviewed-on: https://dart-review.googlesource.com/39201
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-02-06 18:20:13 +00:00
Konstantin Shcheglov 1d95d50192 Revert "Wrap any Flutter widget expressions, not just instance creations."
This reverts commit 9356382e6b.

Reason for revert: Landed incomplete change.

Original change's description:
> Wrap any Flutter widget expressions, not just instance creations.
> 
> So, we can wrap references to widgets, e.g. variables.
> 
> R=​brianwilkerson@google.com, devoncarew@google.com
> 
> Change-Id: Idc233251a3f5a62e47a0899c27f524537a3497d3
> Reviewed-on: https://dart-review.googlesource.com/38922
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>

TBR=devoncarew@google.com,scheglov@google.com,brianwilkerson@google.com

Change-Id: I0b7c75802e328bc3ae7fdc4c2be6fab663bac570
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/39200
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-02-06 17:36:13 +00:00
Konstantin Shcheglov 9356382e6b Wrap any Flutter widget expressions, not just instance creations.
So, we can wrap references to widgets, e.g. variables.

R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: Idc233251a3f5a62e47a0899c27f524537a3497d3
Reviewed-on: https://dart-review.googlesource.com/38922
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-06 17:35:34 +00:00
Konstantin Shcheglov fb9b24a8cc Shorted MethodInvocation as outline labels.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I9056b9116ad50b2d9cddc38895e17d53c010d934
Reviewed-on: https://dart-review.googlesource.com/38921
Reviewed-by: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-02-06 01:27:56 +00:00
Konstantin Shcheglov 8871ffbae1 Include generic label into Flutter outlines.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I98f96b38839bf339080144f2dc1f4f8dc9f3126f
Reviewed-on: https://dart-review.googlesource.com/38840
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-02-05 20:46:27 +00:00
Konstantin Shcheglov 65e6697cf8 Add 'Add padding' quick assist.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I03ed7ec1c25dd8e9ee7b115d95f24baeee016251
Reviewed-on: https://dart-review.googlesource.com/38341
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-02 21:26:39 +00:00
Konstantin Shcheglov 0ff7348c7b Switch tests to use Flutter package mock that more closely resembles the actual package structure.
So, we can test that "Wrap with Center" works when we ask for Center
in package:flutter/widgets.dart

R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I3446f5cf97c1d6f2e68686de6561d894b5e95620
Reviewed-on: https://dart-review.googlesource.com/38162
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-01 22:12:06 +00:00
Brian Wilkerson b44989cd57 Fix exception (issue 31922)
Change-Id: Id2d64ec1f92611e44b3c6e22c94efd1711b1a30e
Reviewed-on: https://dart-review.googlesource.com/37083
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-27 15:58:20 +00:00
Konstantin Shcheglov f771476eec Record variable name in FlutterOutline, fix for named attributes.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: Ie91b21f464eaa43d811d51e50f7a6b479406f9da
Reviewed-on: https://dart-review.googlesource.com/36980
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-01-26 17:54:45 +00:00
Konstantin Shcheglov 32cfb6a9e3 Implement wrapping Widget into some single-child container.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: If6f393c0eb80ba2fb670eda19ff7dfde845e2f73
Reviewed-on: https://dart-review.googlesource.com/36780
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-01-25 22:21:11 +00:00
Konstantin Shcheglov 6393a247fc Add support for boolean/integer attributes.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I574931e558d45370c33a1d7626e17b5fb5e60480
Reviewed-on: https://dart-review.googlesource.com/36561
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-01-24 05:49:35 +00:00
Konstantin Shcheglov 402af4db46 Add a new experimental 'flutter' domain and move FLUTTER_OUTLINE there.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I8f829f10a630e38c5a3f1638d077e37832a08daa
Reviewed-on: https://dart-review.googlesource.com/36320
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-01-23 00:57:55 +00:00
Konstantin Shcheglov 19e6dfe2a9 Send FLUTTER_OUTLINE notification.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I6ba95137eee91ad52cc66b3cd0205411fd0aeaf5
Reviewed-on: https://dart-review.googlesource.com/36180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-01-22 05:26:59 +00:00
Konstantin Shcheglov 07367d05cd Basic implementation of FlutterOutlineComputer.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I22c96c2a35c086814aace13f0121cc0361f3386f
Reviewed-on: https://dart-review.googlesource.com/36140
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-01-21 18:12:58 +00:00
Paul Berry 105b170ddb Roll package test to 0.12.29+1 and stack_trace to 1.9.0
This required some changes to analysis_server, since analysis_server
used to have its own version of pumpEventQueue().  Since
pumpEventQueue() is now provided by the test package, I've removed
analysis_server's version, and I've updated some of the call sites to
pass in "times: 5000" to replicate the old analysis_server behavior.

This also required some changes to analyzer, since the fail() method
is now marked as @alwaysThrows, so no code may follow it without
producing a dead code hint.

Change-Id: Ie5ef3a5cc685c18da02de699e59f63f3bb8865f7
Reviewed-on: https://dart-review.googlesource.com/32683
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-01-07 14:22:23 +00:00
Brian Wilkerson 8e7781ea9e Convert remaining tests to use ResourceProviderMixin
Change-Id: I7bd0941a415737bd3c9c55e9650f2a982937f777
Reviewed-on: https://dart-review.googlesource.com/31961
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-02 16:33:14 +00:00
Brian Wilkerson 98e0c26a89 Convert several test classes to use ResourceProviderMixin
Change-Id: I1c85c6f29ae74cca0b594fc1f9ddae098b815e72
Reviewed-on: https://dart-review.googlesource.com/31860
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-01-01 16:21:02 +00:00
Devon Carew 38df6ea1f4 Only show closing labels that have nesting.
Bug:
Change-Id: Ifc9177973961f2a74be3e2871aa2d58c28007478
Reviewed-on: https://dart-review.googlesource.com/29540
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-14 15:54:50 +00:00
Jens Johansen 22d0696d91 [CFE] Move front-end API under src/
This CL deprecates the front-end API and moves it into src/api_prototype.

For now all usages have been updated to point to the new location,
but they should be updated to use custom-client invocations instead (e.g.
one specific way for DDC, another for dart2js etc.)

Bug:
Change-Id: I9b4f41f6ebf55d42510fd35240d942d1dc7292d6
Reviewed-on: https://dart-review.googlesource.com/24822
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2017-12-01 08:42:16 +00:00
Brian Wilkerson c6c7580c92 Add error detection and reporting for errors related to plugins
Change-Id: If17e88b64022fe71c992c5867c80263c0e6b953b
Reviewed-on: https://dart-review.googlesource.com/18781
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-11-05 19:21:07 +00:00
Konstantin Shcheglov 5ea30b4e3d Rename performace_logger.dart to performance_logger.dart
R=paulberry@google.com, sigmund@google.com

Bug:
Change-Id: Ib7b6d122dff3ddabde3db2270daa777a269e04ed
Reviewed-on: https://dart-review.googlesource.com/18512
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-03 20:24:00 +00:00
Konstantin Shcheglov b9cb5aea84 If Icon or Text creation does not have the required argument, ignore this.
R=brianwilkerson@google.com, devoncarew@google.com

Bug:
Change-Id: I953448c9fe4fe4693c298ea0f0842651f7900cf2
Reviewed-on: https://dart-review.googlesource.com/17300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-10-30 21:53:27 +00:00
Konstantin Shcheglov 6b1658906e Support for Flutter is not limited to code correction. Move to utilities.
R=brianwilkerson@google.com

Bug:
Change-Id: Idaa90946710fcbec2a35a91eb35b5ead68cf4170
Reviewed-on: https://dart-review.googlesource.com/16621
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-10-25 19:11:38 +00:00
Konstantin Shcheglov c2f1af6378 First steps for computing Flutter outlines.
R=brianwilkerson@google.com, devoncarew@google.com

Bug:
Change-Id: Ib8151df40439a28da536d467a5c0e7354fcfba51
Reviewed-on: https://dart-review.googlesource.com/16338
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-10-25 17:00:56 +00:00
Konstantin Shcheglov 1f41c3778c Extract more unit-test like OutlineComputerTest.
R=brianwilkerson@google.com

Bug:
Change-Id: Ibdadbd656d6cd85cd01a6a68d425dbd20a0b07ea
Reviewed-on: https://dart-review.googlesource.com/16420
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-10-25 04:27:39 +00:00
Devon Carew 6a19e794b1 Don't create single line closing labels.
Bug:
Change-Id: I1ced51a7b5e5aee6db03a77a788c0eeaef101469
Reviewed-on: https://dart-review.googlesource.com/10820
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-10-05 05:23:20 +00:00
Konstantin Shcheglov 8ce5c45fff Fix for copying constructor return types.
R=brianwilkerson@google.com

Bug:
Change-Id: Iaa1039b85549fb2daa3d90ea11f4756363c6c358
Reviewed-on: https://dart-review.googlesource.com/10163
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-10-02 21:37:47 +00:00
Devon Carew fd4528fffb Make closing labels slightly less noisy.
Bug:
Change-Id: If916adb1cceab14c9260f288bf59878c6955f3ce
Reviewed-on: https://dart-review.googlesource.com/9000
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-27 18:52:25 +00:00
Brian Wilkerson 8db9995c65 Fix an exception when a package is not defined
Change-Id: Id2469b4e0c4aaa8acb63c0186e7b53ec4acea95d
Reviewed-on: https://dart-review.googlesource.com/5885
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-09-14 19:42:50 +00:00
Devon Carew 2b3b0272c4 Switch to using specific throws calls instead of general throwsA() calls.
Bug:
Change-Id: Id604dca1b8c3060c1d12c9ed0b1493771d2eb0d6
Reviewed-on: https://dart-review.googlesource.com/5883
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2017-09-14 18:04:44 +00:00
Konstantin Shcheglov 1b4239d2e4 Export ByteStore and its implementations from front_end.
R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: Ie2e3413a7f143e270cec2bd3ae4564ad7cc315b1
Reviewed-on: https://dart-review.googlesource.com/3840
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-07 19:23:21 +00:00
Brian Wilkerson 4aeedec64e Remove the auto-discovery of plugins
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3003663002 .
2017-08-22 09:04:23 -07:00
Brian Wilkerson 35f6d5da1b Correctly handle adding imports when pasting into part files
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/3001733002 .
2017-08-16 07:43:36 -07:00
Brian Wilkerson eaf779ba1e Fix insertion of imports when there are no existing directives (issue 30430)
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/3002643002 .
2017-08-14 13:32:57 -07:00
Danny Tuppeny 0647d9a228 Improvements to analysis server closing labels (#30411)
* Tweak comment that was based on integration test verison.

See #30285

* Include additional 1/2-line spans that end on same lines as >2 line spans.

See #30285

* Add tests to ensure no unwanted closing labels from multiline expressions.

See #30285

* Don't show closing labels for code inside interpolated strings.

See #30285

* Remove unwanted @soloTest.

See #30285

* Make casing of test names consistent.

See #30285

* Add a constructor and make fields final.

See #30285

* Use putIfAbsent for adding to map.

See #30285

* Shorten closing labels constructor.

See #30285

* Run "Sort members" on closing labels files.

See #30285

* Remove unnecessary type annotations.

See #30285
2017-08-11 11:04:34 -07:00
Devon Carew c8f8f8e7cc Ignore two unused element warnings in pkg/analysis_server.
BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2994113002 .
2017-08-10 11:36:12 -07:00
Danny Tuppeny 619f2995ab Implement analysis server closing labels (work-in-progress) (#30372)
* Add empty closing labels computer/visitor and tests.

See #30285

* Add initial implementation and test for closing labels.

See #30285

* Add various tests for analyzer closing labels.

See #30285

* Fail tests if errors occur.

Without this the notifications will never come through and the test will time out. This causes them to fail right away on errors.

See #30285

* Add test and fix for crash that occurred during testing.

See #30285

* Remove unnecessary abs().

See #30285

* Remove question that has been answered (yes).

See #30285

* Remove unnecessary .argumentList on spansManyLines check.

See #30285

* Add test for prefixed import and constructor names.

The behaviour seems like what we want, though need to confirm if this is the best way to do it.

See #30285

* Add additional prefixed tests and another TODO.

See #30285

* Fix method invocations to show full target/name.

See #30285

* Fix constructor invocations to not use toString().

See #30285

* Convert most closing label tests to unit tests.

See #30285
2017-08-09 14:13:47 -07:00
Paul Berry 89c910b9c1 Move byte_store.dart and file_byte_store.dart to their own subdirectory.
This allows us to use the subpackage relationships test to verify that
they don't import any other parts of front_end, which paves the way
for the possibility of moving them to their own package in the future.

R=scheglov@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2990323002 .
2017-08-07 11:04:48 -07:00