Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(284)

Issue 2793103002: Parse JSON in Blink for CopylessPaste. (Closed)

Created:
3 years, 8 months ago by dproctor
Modified:
3 years, 8 months ago
Reviewers:
esprehn, dcheng, wychen
CC:
Aaron Boodman, abarth-chromium, agrieve+watch_chromium.org, blink-reviews, blink-reviews-api_chromium.org, chromium-reviews, darin (slow to review), dglazkov+blink, haraken, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Parse JSON in Blink for CopylessPaste. BUG=693633 Review-Url: https://codereview.chromium.org/2793103002 Cr-Commit-Position: refs/heads/master@{#463560} Committed: https://chromium.googlesource.com/chromium/src/+/83c1b269482c2c824cdc9bb38641bec5f94755a8

Patch Set 1 #

Total comments: 18

Patch Set 2 : rebase to 2789313002 #

Patch Set 3 : rebase to 2789313002 #

Patch Set 4 : address wychen comments #

Patch Set 5 : parse object best-effort up to max nesting depth #

Total comments: 28

Patch Set 6 : address wychen comments #

Total comments: 2

Patch Set 7 : remove using from namespace in header #

Patch Set 8 : move private member functions to local functions #

Total comments: 2

Patch Set 9 : update to use url in mojo type #

Total comments: 2

Patch Set 10 : add const to JSONArray instances, now that JSONArray::at is const #

Patch Set 11 : split AppIndexingReporter change into new cl #

Total comments: 6

Patch Set 12 : more const #

Total comments: 4

Patch Set 13 : address wychen comments #

Total comments: 1

Patch Set 14 : udpate to new mojo namespace #

Total comments: 12

Patch Set 15 : address esprehn comments #

Total comments: 15

Patch Set 16 : update for blink rename #

Patch Set 17 : address dcheng comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1023 lines, -57 lines) Patch
M third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +259 lines, -19 lines 0 comments Download
M third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractorTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +762 lines, -36 lines 0 comments Download

Messages

Total messages: 47 (7 generated)
wychen
https://codereview.chromium.org/2793103002/diff/1/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/1/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode37 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:37: // TODO(dproctor): Do we want to fail parsing, or ...
3 years, 8 months ago (2017-04-04 02:07:16 UTC) #2
dproctor
https://codereview.chromium.org/2793103002/diff/1/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/1/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode52 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:52: void extractEntity(JSONObject* val, EntityPtr* entity) { On 2017/04/04 02:07:14, ...
3 years, 8 months ago (2017-04-04 06:21:20 UTC) #3
dproctor
https://codereview.chromium.org/2793103002/diff/1/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/1/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode37 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:37: // TODO(dproctor): Do we want to fail parsing, or ...
3 years, 8 months ago (2017-04-04 07:13:34 UTC) #4
wychen
https://codereview.chromium.org/2793103002/diff/50005/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/50005/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode55 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:55: void extractEntity(const JSONObject& val, Entity& entity, int recursionLevel) { ...
3 years, 8 months ago (2017-04-04 18:40:20 UTC) #5
dproctor
https://codereview.chromium.org/2793103002/diff/50005/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/50005/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode55 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:55: void extractEntity(const JSONObject& val, Entity& entity, int recursionLevel) { ...
3 years, 8 months ago (2017-04-04 20:44:05 UTC) #6
wychen
https://codereview.chromium.org/2793103002/diff/50005/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/50005/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode221 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:221: void extractEntitiesFromArray(JSONArray& arr, Vector<EntityPtr>& entities) { On 2017/04/04 20:44:04, ...
3 years, 8 months ago (2017-04-04 23:15:32 UTC) #7
dproctor
https://codereview.chromium.org/2793103002/diff/50005/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.h File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.h (right): https://codereview.chromium.org/2793103002/diff/50005/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.h#newcode5 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.h:5: #ifndef THIRD_PARTY_WEBKIT_SOURCE_MODULES_DOCUMENT_METADATA_COPYLESSPASTEEXTRACTOR_H_ On 2017/04/04 23:15:32, wychen wrote: > On ...
3 years, 8 months ago (2017-04-04 23:42:22 UTC) #8
wychen
https://codereview.chromium.org/2793103002/diff/130001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/130001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode286 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:286: page.url = document.url().getString(); After https://codereview.chromium.org/2789313002/#ps40001, it would be document.url().
3 years, 8 months ago (2017-04-05 00:59:12 UTC) #9
dproctor
https://codereview.chromium.org/2793103002/diff/130001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/130001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode286 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:286: page.url = document.url().getString(); On 2017/04/05 00:59:11, wychen wrote: > ...
3 years, 8 months ago (2017-04-05 01:48:52 UTC) #10
wychen
https://codereview.chromium.org/2793103002/diff/50005/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/50005/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode221 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:221: void extractEntitiesFromArray(JSONArray& arr, Vector<EntityPtr>& entities) { On 2017/04/04 23:15:32, ...
3 years, 8 months ago (2017-04-05 16:29:41 UTC) #11
wychen
PTAL
3 years, 8 months ago (2017-04-05 16:31:11 UTC) #13
dproctor
https://codereview.chromium.org/2793103002/diff/50005/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/50005/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode221 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:221: void extractEntitiesFromArray(JSONArray& arr, Vector<EntityPtr>& entities) { On 2017/04/05 16:29:41, ...
3 years, 8 months ago (2017-04-05 17:41:44 UTC) #14
dproctor
https://codereview.chromium.org/2793103002/diff/150001/chrome/android/java/src/org/chromium/chrome/browser/historyreport/AppIndexingReporter.java File chrome/android/java/src/org/chromium/chrome/browser/historyreport/AppIndexingReporter.java (right): https://codereview.chromium.org/2793103002/diff/150001/chrome/android/java/src/org/chromium/chrome/browser/historyreport/AppIndexingReporter.java#newcode27 chrome/android/java/src/org/chromium/chrome/browser/historyreport/AppIndexingReporter.java:27: public void reportWebPage(WebPage webpage) { On 2017/04/05 16:29:41, wychen ...
3 years, 8 months ago (2017-04-05 18:25:03 UTC) #15
wychen
https://codereview.chromium.org/2793103002/diff/190001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/190001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode80 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:80: JSONValue* innerVal = arr.at(j); Nit: this can also be ...
3 years, 8 months ago (2017-04-05 18:48:26 UTC) #16
dproctor
https://codereview.chromium.org/2793103002/diff/190001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/190001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode80 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:80: JSONValue* innerVal = arr.at(j); On 2017/04/05 18:48:26, wychen wrote: ...
3 years, 8 months ago (2017-04-05 18:51:41 UTC) #17
wychen
https://codereview.chromium.org/2793103002/diff/190001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/190001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode80 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:80: JSONValue* innerVal = arr.at(j); On 2017/04/05 18:51:41, dproctor wrote: ...
3 years, 8 months ago (2017-04-05 18:55:33 UTC) #18
dproctor
https://codereview.chromium.org/2793103002/diff/190001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/190001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode80 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:80: JSONValue* innerVal = arr.at(j); On 2017/04/05 18:55:33, wychen wrote: ...
3 years, 8 months ago (2017-04-05 19:23:56 UTC) #19
dproctor
https://codereview.chromium.org/2793103002/diff/190001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/190001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode228 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:228: JSONValue* val = arr.at(i); On 2017/04/05 18:48:26, wychen wrote: ...
3 years, 8 months ago (2017-04-05 19:31:28 UTC) #20
wychen
https://codereview.chromium.org/2793103002/diff/210001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/210001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode278 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:278: DCHECK(document.hasFinishedParsing()); Oops. This doesn't hold anymore, since it is ...
3 years, 8 months ago (2017-04-05 23:07:48 UTC) #21
dproctor
https://codereview.chromium.org/2793103002/diff/210001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/210001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode278 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:278: DCHECK(document.hasFinishedParsing()); On 2017/04/05 23:07:48, wychen wrote: > Oops. This ...
3 years, 8 months ago (2017-04-06 00:39:17 UTC) #22
esprehn
A lot of the names you're using in the mojo API are way too generic, ...
3 years, 8 months ago (2017-04-06 18:09:50 UTC) #23
wychen
On 2017/04/06 18:09:50, esprehn wrote: > A lot of the names you're using in the ...
3 years, 8 months ago (2017-04-06 18:12:53 UTC) #24
wychen
https://codereview.chromium.org/2793103002/diff/230001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.h File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.h (right): https://codereview.chromium.org/2793103002/diff/230001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.h#newcode5 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.h:5: #ifndef CopylessPasteExtractor_h Keeping it as-is is correct. Ref: [names-header-guards] ...
3 years, 8 months ago (2017-04-06 18:13:41 UTC) #25
esprehn
On 2017/04/06 at 18:12:53, wychen wrote: > On 2017/04/06 18:09:50, esprehn wrote: > > A ...
3 years, 8 months ago (2017-04-06 18:20:51 UTC) #26
dproctor
On 2017/04/06 18:20:51, esprehn wrote: > On 2017/04/06 at 18:12:53, wychen wrote: > > On ...
3 years, 8 months ago (2017-04-06 18:22:38 UTC) #27
dcheng
drive-by: looking at this and how the mojo was defined... can we take advantage of ...
3 years, 8 months ago (2017-04-06 18:26:26 UTC) #29
dproctor
On 2017/04/06 18:26:26, dcheng wrote: > drive-by: looking at this and how the mojo was ...
3 years, 8 months ago (2017-04-06 18:28:17 UTC) #30
wychen
On 2017/04/06 18:28:17, dproctor wrote: > On 2017/04/06 18:26:26, dcheng wrote: > > drive-by: looking ...
3 years, 8 months ago (2017-04-06 18:42:26 UTC) #31
wychen
On 2017/04/06 18:42:26, wychen wrote: > On 2017/04/06 18:28:17, dproctor wrote: > > On 2017/04/06 ...
3 years, 8 months ago (2017-04-06 20:16:18 UTC) #32
dproctor
On 2017/04/06 20:16:18, wychen wrote: > On 2017/04/06 18:42:26, wychen wrote: > > On 2017/04/06 ...
3 years, 8 months ago (2017-04-06 23:56:00 UTC) #33
dproctor
On 2017/04/06 18:20:51, esprehn wrote: > On 2017/04/06 at 18:12:53, wychen wrote: > > On ...
3 years, 8 months ago (2017-04-07 01:00:28 UTC) #34
esprehn
lgtm w/ a bunch of comments, you should also get a review from dcheng@ https://codereview.chromium.org/2793103002/diff/250001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractorTest.cpp ...
3 years, 8 months ago (2017-04-07 01:05:30 UTC) #35
dproctor
On 2017/04/07 01:05:30, esprehn wrote: > lgtm w/ a bunch of comments, you should also ...
3 years, 8 months ago (2017-04-07 01:12:39 UTC) #36
dproctor
https://codereview.chromium.org/2793103002/diff/250001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractorTest.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractorTest.cpp (right): https://codereview.chromium.org/2793103002/diff/250001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractorTest.cpp#newcode43 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractorTest.cpp:43: bool extract(WebPagePtr& page) { On 2017/04/07 01:05:30, esprehn wrote: ...
3 years, 8 months ago (2017-04-07 01:41:15 UTC) #37
dcheng
https://codereview.chromium.org/2793103002/diff/270001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/270001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode9 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:9: #include <utility> Nit: newline https://codereview.chromium.org/2793103002/diff/270001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode50 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:50: constexpr size_t kMaxRepeatedSize ...
3 years, 8 months ago (2017-04-10 22:57:12 UTC) #38
dproctor
https://codereview.chromium.org/2793103002/diff/270001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/270001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode9 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:9: #include <utility> On 2017/04/10 22:57:11, dcheng wrote: > Nit: ...
3 years, 8 months ago (2017-04-11 00:22:02 UTC) #39
dproctor
Thanks, Daniel. PTAL.
3 years, 8 months ago (2017-04-11 00:24:22 UTC) #40
dcheng
LGTM https://codereview.chromium.org/2793103002/diff/270001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp File third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp (right): https://codereview.chromium.org/2793103002/diff/270001/third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp#newcode50 third_party/WebKit/Source/modules/document_metadata/CopylessPasteExtractor.cpp:50: constexpr size_t kMaxRepeatedSize = 100; On 2017/04/11 00:22:01, ...
3 years, 8 months ago (2017-04-11 00:50:15 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2793103002/310001
3 years, 8 months ago (2017-04-11 05:15:11 UTC) #44
commit-bot: I haz the power
3 years, 8 months ago (2017-04-11 07:20:35 UTC) #47
Message was sent while issue was closed.
Committed patchset #17 (id:310001) as
https://chromium.googlesource.com/chromium/src/+/83c1b269482c2c824cdc9bb38641...

Powered by Google App Engine
This is Rietveld 408576698