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

Issue 1520153002: [mojo] Allow value deserialization to fail (Closed)

Created:
5 years ago by Ken Rockot(use gerrit already)
Modified:
5 years ago
Reviewers:
yzshen1
CC:
Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, chromium-reviews, darin (slow to review), qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@bindings-3-misc-support
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[mojo] Allow value deserialization to fail This changes mojo::Deserialize_ et al to return a bool, opening the door for deserialization code which performs custom validation (in addition to baked-in mojom wire format validation) and may reject incoming messages at the bindings layer. Part of a series of changes to support custom mojom serialization: 1. https://codereview.chromium.org/1515423002 2. https://codereview.chromium.org/1517043004 3. https://codereview.chromium.org/1524693002 4. This CL 5. https://codereview.chromium.org/1524613002 6. https://codereview.chromium.org/1526533002 7. https://codereview.chromium.org/1524703002 BUG=569669 Committed: https://crrev.com/13aa783fb893ac4c3b7977e3dcaee46abaf2cc47 Cr-Commit-Position: refs/heads/master@{#365728}

Patch Set 1 #

Patch Set 2 : #

Total comments: 1

Patch Set 3 : don't short-circuit deseraialization on failure #

Patch Set 4 : #

Patch Set 5 : oops hit upload too soon #

Total comments: 1

Patch Set 6 : comment #

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : merge #

Patch Set 12 : merge #

Patch Set 13 : merge #

Patch Set 14 : merge #

Unified diffs Side-by-side diffs Delta from patch set Stats (+71 lines, -30 lines) Patch
M mojo/public/cpp/bindings/lib/array_serialization.h View 1 2 3 4 5 9 chunks +36 lines, -14 lines 0 comments Download
M mojo/public/cpp/bindings/lib/map_serialization.h View 1 2 1 chunk +10 lines, -3 lines 0 comments Download
M mojo/public/cpp/bindings/lib/string_serialization.h View 1 chunk +1 line, -1 line 0 comments Download
M mojo/public/cpp/bindings/lib/string_serialization.cc View 2 chunks +2 lines, -1 line 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/interface_definition.tmpl View 1 2 2 chunks +5 lines, -2 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl View 1 2 2 chunks +6 lines, -3 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_declaration.tmpl View 1 chunk +1 line, -1 line 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/struct_serialization_definition.tmpl View 1 2 1 chunk +4 lines, -2 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/union_serialization_declaration.tmpl View 1 chunk +1 line, -1 line 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/union_serialization_definition.tmpl View 1 2 3 4 3 chunks +5 lines, -2 lines 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 20 (10 generated)
Ken Rockot(use gerrit already)
5 years ago (2015-12-14 18:41:31 UTC) #3
yzshen1
https://codereview.chromium.org/1520153002/diff/20001/mojo/public/cpp/bindings/lib/array_serialization.h File mojo/public/cpp/bindings/lib/array_serialization.h (right): https://codereview.chromium.org/1520153002/diff/20001/mojo/public/cpp/bindings/lib/array_serialization.h#newcode183 mojo/public/cpp/bindings/lib/array_serialization.h:183: return false; It may leak handles (here and elsewhere). ...
5 years ago (2015-12-14 20:45:19 UTC) #6
Ken Rockot(use gerrit already)
On 2015/12/14 at 20:45:19, yzshen wrote: > https://codereview.chromium.org/1520153002/diff/20001/mojo/public/cpp/bindings/lib/array_serialization.h > File mojo/public/cpp/bindings/lib/array_serialization.h (right): > > https://codereview.chromium.org/1520153002/diff/20001/mojo/public/cpp/bindings/lib/array_serialization.h#newcode183 ...
5 years ago (2015-12-14 21:25:18 UTC) #8
yzshen1
LGTM https://codereview.chromium.org/1520153002/diff/80001/mojo/public/cpp/bindings/lib/array_serialization.h File mojo/public/cpp/bindings/lib/array_serialization.h (right): https://codereview.chromium.org/1520153002/diff/80001/mojo/public/cpp/bindings/lib/array_serialization.h#newcode312 mojo/public/cpp/bindings/lib/array_serialization.h:312: return false; Please consider commenting on why it ...
5 years ago (2015-12-14 22:18:33 UTC) #9
Ken Rockot(use gerrit already)
On 2015/12/14 at 22:18:33, yzshen wrote: > LGTM > > https://codereview.chromium.org/1520153002/diff/80001/mojo/public/cpp/bindings/lib/array_serialization.h > File mojo/public/cpp/bindings/lib/array_serialization.h (right): ...
5 years ago (2015-12-14 23:22:47 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1520153002/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1520153002/260001
5 years ago (2015-12-16 23:16:51 UTC) #12
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years ago (2015-12-16 23:52:39 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1520153002/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1520153002/260001
5 years ago (2015-12-17 03:43:22 UTC) #17
commit-bot: I haz the power
Committed patchset #14 (id:260001)
5 years ago (2015-12-17 03:52:28 UTC) #18
commit-bot: I haz the power
5 years ago (2015-12-17 03:54:00 UTC) #20
Message was sent while issue was closed.
Patchset 14 (id:??) landed as
https://crrev.com/13aa783fb893ac4c3b7977e3dcaee46abaf2cc47
Cr-Commit-Position: refs/heads/master@{#365728}

Powered by Google App Engine
This is Rietveld 408576698