diff options
author | steveblock@chromium.org <steveblock@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-08 17:35:05 +0000 |
---|---|---|
committer | steveblock@chromium.org <steveblock@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-08 17:35:05 +0000 |
commit | aeb3abde5a3bc3a411ff5ee098aab8ae0378d4c5 (patch) | |
tree | c9567b53610fd5152edb09fb26e8c497900aad79 /content/renderer/java/java_bridge_channel.h | |
parent | c7582dddf3484102fc3e51450e888019b519acd8 (diff) | |
download | chromium_src-aeb3abde5a3bc3a411ff5ee098aab8ae0378d4c5.zip chromium_src-aeb3abde5a3bc3a411ff5ee098aab8ae0378d4c5.tar.gz chromium_src-aeb3abde5a3bc3a411ff5ee098aab8ae0378d4c5.tar.bz2 |
Fix the Java Bridge to support coercing to Java arrays
This change adds support for coercing to Java arrays when passing JavaScript
objects to the methods of Java objects injected using the Java Bridge.
- Modify JavaType to store the type of the array elements when the type of the
value is TypeArray.
- Add logic to create Java arrays and to interrogate JavaScript objects for
their length property and array elements.
- Modify existing CoerceJavaScriptXXXToJavaValue() methods to take an
additional coerce_to_string argument. This is required because we require
slightly different behaviour when coercing to Java strings, depending on
whether or not the value is an array element.
- Modify JavaBridgeChannel to override
NPChannelBase::OnControlMessageReceived() to avoid DCHECK().
Also fix a potential overflow when converting JavaScript numbers to Java
strings.
BUG=105547
Review URL: http://codereview.chromium.org/9006025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116848 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/java/java_bridge_channel.h')
-rw-r--r-- | content/renderer/java/java_bridge_channel.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/content/renderer/java/java_bridge_channel.h b/content/renderer/java/java_bridge_channel.h index 4114a9f..7bf500c 100644 --- a/content/renderer/java/java_bridge_channel.h +++ b/content/renderer/java/java_bridge_channel.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -19,6 +19,9 @@ class JavaBridgeChannel : public NPChannelBase { // NPChannelBase implementation: virtual int GenerateRouteID() OVERRIDE; + // NPChannelBase override: + virtual bool OnControlMessageReceived(const IPC::Message& msg) OVERRIDE; + private: JavaBridgeChannel() {} |