| Index: third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Encoder.java
|
| diff --git a/third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Encoder.java b/third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Encoder.java
|
| index 23a618885cf8735fa772ef070937c30144626f5b..c820ac5284583ae93f103bc981d22cfac3dacbbc 100644
|
| --- a/third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Encoder.java
|
| +++ b/third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/Encoder.java
|
| @@ -250,10 +250,9 @@ public class Encoder {
|
| */
|
| public <T extends Interface> void encode(T v, int offset, boolean nullable,
|
| Interface.Manager<T, ?> manager) {
|
| - // Set the version field to 0 for now.
|
| - encode(0, offset + BindingsHelper.SERIALIZED_HANDLE_SIZE);
|
| if (v == null) {
|
| encodeInvalidHandle(offset, nullable);
|
| + encode(0, offset + BindingsHelper.SERIALIZED_HANDLE_SIZE);
|
| return;
|
| }
|
| if (mEncoderState.core == null) {
|
| @@ -266,6 +265,7 @@ public class Encoder {
|
| if (handler.getMessageReceiver() instanceof HandleOwner) {
|
| encode(((HandleOwner<?>) handler.getMessageReceiver()).passHandle(), offset,
|
| nullable);
|
| + encode(handler.getVersion(), offset + BindingsHelper.SERIALIZED_HANDLE_SIZE);
|
| return;
|
| }
|
| // If the proxy is not over a message pipe, the default case applies.
|
| @@ -274,6 +274,7 @@ public class Encoder {
|
| mEncoderState.core.createMessagePipe(null);
|
| manager.bind(v, handles.first);
|
| encode(handles.second, offset, nullable);
|
| + encode(manager.getVersion(), offset + BindingsHelper.SERIALIZED_HANDLE_SIZE);
|
| }
|
|
|
| /**
|
|
|