diff options
Diffstat (limited to 'WebKit/mac/WebView/WebSerializedJSValue.mm')
-rw-r--r-- | WebKit/mac/WebView/WebSerializedJSValue.mm | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/WebKit/mac/WebView/WebSerializedJSValue.mm b/WebKit/mac/WebView/WebSerializedJSValue.mm index 05a316b..d993790 100644 --- a/WebKit/mac/WebView/WebSerializedJSValue.mm +++ b/WebKit/mac/WebView/WebSerializedJSValue.mm @@ -22,7 +22,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#import "WebSerializedJSValue.h" +#import "WebSerializedJSValuePrivate.h" #import <WebCore/SerializedScriptValue.h> #import <wtf/RefPtr.h> @@ -65,6 +65,30 @@ using namespace WebCore; return self; } +- (id)initWithInternalRepresentation:(void *)internalRepresenatation +{ + ASSERT_ARG(internalRepresenatation, internalRepresenatation); + + if (!internalRepresenatation) { + [self release]; + return nil; + } + + self = [super init]; + if (!self) + return nil; + + _private = [[WebSerializedJSValuePrivate alloc] init]; + + _private->value = ((SerializedScriptValue*)internalRepresenatation); + if (!_private->value) { + [self release]; + return nil; + } + + return self; +} + - (JSValueRef)deserialize:(JSContextRef)destinationContext { if (!_private || !_private->value) @@ -79,5 +103,12 @@ using namespace WebCore; [super dealloc]; } +- (void*)internalRepresentation +{ + if (!_private) + return 0; + return _private->value.get(); +} + @end |