summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/objc
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-05 14:34:32 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-05 14:34:32 -0800
commit635860845790a19bf50bbc51ba8fb66a96dde068 (patch)
treeef6ad9ff73a5b57f65249d4232a202fa77e6a140 /WebCore/bindings/objc
parent8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2 (diff)
downloadexternal_webkit-635860845790a19bf50bbc51ba8fb66a96dde068.zip
external_webkit-635860845790a19bf50bbc51ba8fb66a96dde068.tar.gz
external_webkit-635860845790a19bf50bbc51ba8fb66a96dde068.tar.bz2
auto import from //depot/cupcake/@136594
Diffstat (limited to 'WebCore/bindings/objc')
-rw-r--r--WebCore/bindings/objc/DOMAbstractView.mm5
-rw-r--r--WebCore/bindings/objc/DOMHTML.mm6
-rw-r--r--WebCore/bindings/objc/DOMInternal.h9
-rw-r--r--WebCore/bindings/objc/DOMInternal.mm40
-rw-r--r--WebCore/bindings/objc/DOMObject.mm13
-rw-r--r--WebCore/bindings/objc/DOMRGBColor.mm40
-rw-r--r--WebCore/bindings/objc/WebScriptObject.mm94
-rw-r--r--WebCore/bindings/objc/WebScriptObjectPrivate.h2
8 files changed, 115 insertions, 94 deletions
diff --git a/WebCore/bindings/objc/DOMAbstractView.mm b/WebCore/bindings/objc/DOMAbstractView.mm
index c751903..728a39a 100644
--- a/WebCore/bindings/objc/DOMAbstractView.mm
+++ b/WebCore/bindings/objc/DOMAbstractView.mm
@@ -48,11 +48,6 @@
[super dealloc];
}
-- (void)finalize
-{
- [super finalize];
-}
-
- (DOMDocument *)document
{
if (!_internal)
diff --git a/WebCore/bindings/objc/DOMHTML.mm b/WebCore/bindings/objc/DOMHTML.mm
index 59f2d7f..baf5774 100644
--- a/WebCore/bindings/objc/DOMHTML.mm
+++ b/WebCore/bindings/objc/DOMHTML.mm
@@ -36,6 +36,7 @@
#import "HTMLDocument.h"
#import "HTMLInputElement.h"
#import "HTMLObjectElement.h"
+#import "HTMLSelectElement.h"
#import "Range.h"
#import "RenderTextControl.h"
#import "markup.h"
@@ -155,11 +156,12 @@
@end
-@implementation DOMHTMLSelectElement(FormAutoFillTransition)
+@implementation DOMHTMLSelectElement (FormAutoFillTransition)
- (void)_activateItemAtIndex:(int)index
{
- // FIXME: Needs implementation for non-NSView <select>!
+ if (WebCore::HTMLSelectElement* select = [self _HTMLSelectElement])
+ select->setSelectedIndex(index);
}
@end
diff --git a/WebCore/bindings/objc/DOMInternal.h b/WebCore/bindings/objc/DOMInternal.h
index a1ca9fe..9ddcada 100644
--- a/WebCore/bindings/objc/DOMInternal.h
+++ b/WebCore/bindings/objc/DOMInternal.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple, Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
* Copyright (C) 2006 James G. Speth (speth@end.com)
* Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
*
@@ -150,6 +150,7 @@
#import "DOMUIEventInternal.h"
#import "DOMWebKitCSSKeyframeRuleInternal.h"
#import "DOMWebKitCSSKeyframesRuleInternal.h"
+#import "DOMWebKitCSSMatrixInternal.h"
#import "DOMWebKitCSSTransformValueInternal.h"
#import "DOMWheelEventInternal.h"
@@ -299,7 +300,7 @@ namespace WebCore {
class NodeFilter;
#if ENABLE(SVG)
- class AffineTransform;
+ class TransformationMatrix;
class FloatPoint;
class FloatRect;
#endif // ENABLE(SVG)
@@ -336,6 +337,10 @@ namespace WebCore {
namespace WebCore {
+ // Create an NSMapTable mapping from pointers to ObjC objects held with zeroing weak references.
+ NSMapTable* createWrapperCache();
+ NSMapTable* createWrapperCacheWithIntegerKeys(); // Same, but from integers to ObjC objects.
+
id createDOMWrapper(JSC::JSObject*, PassRefPtr<JSC::Bindings::RootObject> origin, PassRefPtr<JSC::Bindings::RootObject> current);
NSObject* getDOMWrapper(DOMObjectInternal*);
diff --git a/WebCore/bindings/objc/DOMInternal.mm b/WebCore/bindings/objc/DOMInternal.mm
index f0b6305..ea26d5e 100644
--- a/WebCore/bindings/objc/DOMInternal.mm
+++ b/WebCore/bindings/objc/DOMInternal.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2006, 2007, 2008 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -45,33 +45,55 @@
namespace WebCore {
-typedef HashMap<DOMObjectInternal*, NSObject*> DOMWrapperMap;
-static DOMWrapperMap* DOMWrapperCache;
+static NSMapTable* DOMWrapperCache;
+
+NSMapTable* createWrapperCache()
+{
+#ifdef BUILDING_ON_TIGER
+ return NSCreateMapTable(NSNonOwnedPointerMapKeyCallBacks, NSNonRetainedObjectMapValueCallBacks, 0);
+#else
+ // NSMapTable with zeroing weak pointers is the recommended way to build caches like this under garbage collection.
+ NSPointerFunctionsOptions keyOptions = NSPointerFunctionsOpaqueMemory | NSPointerFunctionsOpaquePersonality;
+ NSPointerFunctionsOptions valueOptions = NSPointerFunctionsZeroingWeakMemory | NSPointerFunctionsObjectPersonality;
+ return [[NSMapTable alloc] initWithKeyOptions:keyOptions valueOptions:valueOptions capacity:0];
+#endif
+}
+
+NSMapTable* createWrapperCacheWithIntegerKeys()
+{
+#ifdef BUILDING_ON_TIGER
+ return NSCreateMapTable(NSIntMapKeyCallBacks, NSNonRetainedObjectMapValueCallBacks, 0);
+#else
+ // NSMapTable with zeroing weak pointers is the recommended way to build caches like this under garbage collection.
+ NSPointerFunctionsOptions keyOptions = NSPointerFunctionsOpaqueMemory | NSPointerFunctionsIntegerPersonality;
+ NSPointerFunctionsOptions valueOptions = NSPointerFunctionsZeroingWeakMemory | NSPointerFunctionsObjectPersonality;
+ return [[NSMapTable alloc] initWithKeyOptions:keyOptions valueOptions:valueOptions capacity:0];
+#endif
+}
NSObject* getDOMWrapper(DOMObjectInternal* impl)
{
if (!DOMWrapperCache)
return nil;
- return DOMWrapperCache->get(impl);
+ return static_cast<NSObject*>(NSMapGet(DOMWrapperCache, impl));
}
void addDOMWrapper(NSObject* wrapper, DOMObjectInternal* impl)
{
if (!DOMWrapperCache)
- DOMWrapperCache = new DOMWrapperMap;
- DOMWrapperCache->set(impl, wrapper);
+ DOMWrapperCache = createWrapperCache();
+ NSMapInsert(DOMWrapperCache, impl, wrapper);
}
void removeDOMWrapper(DOMObjectInternal* impl)
{
if (!DOMWrapperCache)
return;
- DOMWrapperCache->remove(impl);
+ NSMapRemove(DOMWrapperCache, impl);
}
} // namespace WebCore
-
//------------------------------------------------------------------------------------------
@implementation WebScriptObject (WebScriptObjectInternal)
@@ -94,7 +116,7 @@ void removeDOMWrapper(DOMObjectInternal* impl)
- (void)_initializeScriptDOMNodeImp
{
- assert (_private->isCreatedByDOMWrapper);
+ ASSERT(_private->isCreatedByDOMWrapper);
if (![self isKindOfClass:[DOMNode class]]) {
// DOMObject can't map back to a document, and thus an interpreter,
diff --git a/WebCore/bindings/objc/DOMObject.mm b/WebCore/bindings/objc/DOMObject.mm
index f820df9..8510ae9 100644
--- a/WebCore/bindings/objc/DOMObject.mm
+++ b/WebCore/bindings/objc/DOMObject.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2006 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2004, 2006, 2006, 2008 Apple Inc. All rights reserved.
* Copyright (C) 2006 James G. Speth <speth@end.com>
* Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
*
@@ -38,6 +38,7 @@
#import "ProcessingInstruction.h"
#import "StyleSheet.h"
#import "WebScriptObjectPrivate.h"
+#import <wtf/UnusedParam.h>
@implementation DOMObject
@@ -56,15 +57,9 @@
[super dealloc];
}
-- (void)finalize
-{
- if (_internal)
- WebCore::removeDOMWrapper(_internal);
- [super finalize];
-}
-
-- (id)copyWithZone:(NSZone *)zone
+- (id)copyWithZone:(NSZone *)unusedZone
{
+ UNUSED_PARAM(unusedZone);
return [self retain];
}
diff --git a/WebCore/bindings/objc/DOMRGBColor.mm b/WebCore/bindings/objc/DOMRGBColor.mm
index eca2c25..5921b8e 100644
--- a/WebCore/bindings/objc/DOMRGBColor.mm
+++ b/WebCore/bindings/objc/DOMRGBColor.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
* Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
*
* Redistribution and use in source and binary forms, with or without
@@ -33,33 +33,34 @@
#import "DOMCSSPrimitiveValue.h"
#import "DOMInternal.h"
#import "WebCoreObjCExtras.h"
+#import <runtime/InitializeThreading.h>
#import <wtf/GetPtr.h>
namespace WebCore {
-static CFMutableDictionaryRef wrapperCache = NULL;
+static NSMapTable* RGBColorWrapperCache;
-id getWrapperForRGB(WebCore::RGBA32 value)
+static id getWrapperForRGB(WebCore::RGBA32 value)
{
- if (!wrapperCache)
+ if (!RGBColorWrapperCache)
return nil;
- return (id)CFDictionaryGetValue(wrapperCache, reinterpret_cast<const void*>(value));
+ return static_cast<id>(NSMapGet(RGBColorWrapperCache, reinterpret_cast<const void*>(value)));
}
-void setWrapperForRGB(id wrapper, WebCore::RGBA32 value)
+static void setWrapperForRGB(id wrapper, WebCore::RGBA32 value)
{
- if (!wrapperCache)
+ if (!RGBColorWrapperCache)
// No need to retain/free either impl key, or id value. Items will be removed
// from the cache in dealloc methods.
- wrapperCache = CFDictionaryCreateMutable(NULL, 0, NULL, NULL);
- CFDictionarySetValue(wrapperCache, reinterpret_cast<const void*>(value), wrapper);
+ RGBColorWrapperCache = createWrapperCacheWithIntegerKeys();
+ NSMapInsert(RGBColorWrapperCache, reinterpret_cast<const void*>(value), wrapper);
}
-void removeWrapperForRGB(WebCore::RGBA32 value)
+static void removeWrapperForRGB(WebCore::RGBA32 value)
{
- if (!wrapperCache)
+ if (!RGBColorWrapperCache)
return;
- CFDictionaryRemoveValue(wrapperCache, reinterpret_cast<const void*>(value));
+ NSMapRemove(RGBColorWrapperCache, reinterpret_cast<const void*>(value));
}
} // namespace WebCore
@@ -67,12 +68,13 @@ void removeWrapperForRGB(WebCore::RGBA32 value)
@implementation DOMRGBColor
-#ifndef BUILDING_ON_TIGER
+ (void)initialize
{
+ JSC::initializeThreading();
+#ifndef BUILDING_ON_TIGER
WebCoreObjCFinalizeOnMainThread(self);
-}
#endif
+}
- (void)dealloc
{
@@ -84,12 +86,6 @@ void removeWrapperForRGB(WebCore::RGBA32 value)
[super dealloc];
}
-- (void)finalize
-{
- WebCore::removeWrapperForRGB(reinterpret_cast<uintptr_t>(_internal));
- [super finalize];
-}
-
- (DOMCSSPrimitiveValue *)red
{
WebCore::RGBA32 rgb = reinterpret_cast<uintptr_t>(_internal);
@@ -129,8 +125,8 @@ void removeWrapperForRGB(WebCore::RGBA32 value)
@implementation DOMRGBColor (WebPrivate)
-// FIXME: this should be removed as soon as all internal Apple uses of it have been replaced with
-// calls to the public method - (NSColor *)color.
+// FIXME: this should be removed once all internal Apple uses of it have been replaced with
+// calls to the public method, color without the leading underscore.
- (NSColor *)_color
{
return [self color];
diff --git a/WebCore/bindings/objc/WebScriptObject.mm b/WebCore/bindings/objc/WebScriptObject.mm
index 6262b97..f08d61b 100644
--- a/WebCore/bindings/objc/WebScriptObject.mm
+++ b/WebCore/bindings/objc/WebScriptObject.mm
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2006, 2007, 2008 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -40,11 +40,12 @@
#import "runtime_object.h"
#import "runtime_root.h"
#import <JavaScriptCore/APICast.h>
-#import <runtime/ExecState.h>
+#import <interpreter/CallFrame.h>
+#import <runtime/InitializeThreading.h>
#import <runtime/JSGlobalObject.h>
#import <runtime/JSLock.h>
-#import <kjs/completion.h>
-#import <kjs/interpreter.h>
+#import <runtime/Completion.h>
+#import <runtime/Completion.h>
#ifdef BUILDING_ON_TIGER
typedef unsigned NSUInteger;
@@ -56,28 +57,27 @@ using namespace WebCore;
namespace WebCore {
-typedef HashMap<JSObject*, NSObject*> JSWrapperMap;
-static JSWrapperMap* JSWrapperCache;
+static NSMapTable* JSWrapperCache;
NSObject* getJSWrapper(JSObject* impl)
{
if (!JSWrapperCache)
return nil;
- return JSWrapperCache->get(impl);
+ return static_cast<NSObject*>(NSMapGet(JSWrapperCache, impl));
}
void addJSWrapper(NSObject* wrapper, JSObject* impl)
{
if (!JSWrapperCache)
- JSWrapperCache = new JSWrapperMap;
- JSWrapperCache->set(impl, wrapper);
+ JSWrapperCache = createWrapperCache();
+ NSMapInsert(JSWrapperCache, impl, wrapper);
}
void removeJSWrapper(JSObject* impl)
{
if (!JSWrapperCache)
return;
- JSWrapperCache->remove(impl);
+ NSMapRemove(JSWrapperCache, impl);
}
id createJSWrapper(JSC::JSObject* object, PassRefPtr<JSC::Bindings::RootObject> origin, PassRefPtr<JSC::Bindings::RootObject> root)
@@ -92,7 +92,7 @@ static void addExceptionToConsole(ExecState* exec)
JSDOMWindow* window = asJSDOMWindow(exec->dynamicGlobalObject());
if (!window || !exec->hadException())
return;
- window->impl()->console()->reportCurrentException(exec);
+ reportCurrentException(exec);
}
} // namespace WebCore
@@ -103,12 +103,13 @@ static void addExceptionToConsole(ExecState* exec)
@implementation WebScriptObject
-#ifndef BUILDING_ON_TIGER
+ (void)initialize
{
+ JSC::initializeThreading();
+#ifndef BUILDING_ON_TIGER
WebCoreObjCFinalizeOnMainThread(self);
-}
#endif
+}
+ (id)scriptObjectForJSObject:(JSObjectRef)jsObject originRootObject:(RootObject*)originRootObject rootObject:(RootObject*)rootObject
{
@@ -246,9 +247,6 @@ static void _didExecute(WebScriptObject *obj)
- (void)finalize
{
- if (_private->imp)
- WebCore::removeJSWrapper(_private->imp);
-
if (_private->rootObject && _private->rootObject->isValid())
_private->rootObject->gcUnprotect(_private->imp);
@@ -288,9 +286,9 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
ExecState* exec = [self _rootObject]->globalObject()->globalExec();
ASSERT(!exec->hadException());
- JSValue* function = [self _imp]->get(exec, Identifier(exec, String(name)));
+ JSValuePtr function = [self _imp]->get(exec, Identifier(exec, String(name)));
CallData callData;
- CallType callType = function->getCallData(callData);
+ CallType callType = function.getCallData(callData);
if (callType == CallTypeNone)
return nil;
@@ -301,7 +299,7 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
return nil;
[self _rootObject]->globalObject()->startTimeoutCheck();
- JSValue* result = call(exec, function, callType, callData, [self _imp], argList);
+ JSValuePtr result = call(exec, function, callType, callData, [self _imp], argList);
[self _rootObject]->globalObject()->stopTimeoutCheck();
if (exec->hadException()) {
@@ -326,11 +324,11 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
ExecState* exec = [self _rootObject]->globalObject()->globalExec();
ASSERT(!exec->hadException());
- JSValue* result;
+ JSValuePtr result;
JSLock lock(false);
[self _rootObject]->globalObject()->startTimeoutCheck();
- Completion completion = Interpreter::evaluate([self _rootObject]->globalObject()->globalExec(), [self _rootObject]->globalObject()->globalScopeChain(), makeSource(String(script)));
+ Completion completion = JSC::evaluate([self _rootObject]->globalObject()->globalExec(), [self _rootObject]->globalObject()->globalScopeChain(), makeSource(String(script)));
[self _rootObject]->globalObject()->stopTimeoutCheck();
ComplType type = completion.complType();
@@ -390,7 +388,7 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
// leaving the lock permanently held
JSLock lock(false);
- JSValue* result = [self _imp]->get(exec, Identifier(exec, String(key)));
+ JSValuePtr result = [self _imp]->get(exec, Identifier(exec, String(key)));
if (exec->hadException()) {
addExceptionToConsole(exec);
@@ -431,9 +429,10 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
- (NSString *)stringRepresentation
{
- if (![self _isSafeScript])
+ if (![self _isSafeScript]) {
// This is a workaround for a gcc 3.3 internal compiler error.
return @"Undefined";
+ }
JSLock lock(false);
ExecState* exec = [self _rootObject]->globalObject()->globalExec();
@@ -456,7 +455,7 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
ASSERT(!exec->hadException());
JSLock lock(false);
- JSValue* result = [self _imp]->get(exec, index);
+ JSValuePtr result = [self _imp]->get(exec, index);
if (exec->hadException()) {
addExceptionToConsole(exec);
@@ -505,16 +504,16 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
return toRef([self _imp]);
}
-+ (id)_convertValueToObjcValue:(JSValue*)value originRootObject:(RootObject*)originRootObject rootObject:(RootObject*)rootObject
++ (id)_convertValueToObjcValue:(JSValuePtr)value originRootObject:(RootObject*)originRootObject rootObject:(RootObject*)rootObject
{
- if (value->isObject()) {
+ if (value.isObject()) {
JSObject* object = asObject(value);
ExecState* exec = rootObject->globalObject()->globalExec();
JSLock lock(false);
if (object->classInfo() != &RuntimeObjectImp::s_info) {
- JSValue* runtimeObject = object->get(exec, Identifier(exec, "__apple_runtime_object"));
- if (runtimeObject && runtimeObject->isObject())
+ JSValuePtr runtimeObject = object->get(exec, Identifier(exec, "__apple_runtime_object"));
+ if (runtimeObject && runtimeObject.isObject())
object = asObject(runtimeObject);
}
@@ -529,18 +528,18 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
return [WebScriptObject scriptObjectForJSObject:toRef(object) originRootObject:originRootObject rootObject:rootObject];
}
- if (value->isString()) {
+ if (value.isString()) {
const UString& u = asString(value)->value();
return [NSString stringWithCharacters:u.data() length:u.size()];
}
- if (value->isNumber())
- return [NSNumber numberWithDouble:value->getNumber()];
+ if (value.isNumber())
+ return [NSNumber numberWithDouble:value.uncheckedGetNumber()];
- if (value->isBoolean())
- return [NSNumber numberWithBool:value->getBoolean()];
+ if (value.isBoolean())
+ return [NSNumber numberWithBool:value.getBoolean()];
- if (value->isUndefined())
+ if (value.isUndefined())
return [WebUndefined undefined];
// jsNull is not returned as NSNull because existing applications do not expect
@@ -560,16 +559,17 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
@implementation WebScriptObject (WebKitCocoaBindings)
#if 0
-// FIXME: presence of 'count' method on WebScriptObject breaks Democracy player
-// http://bugs.webkit.org/show_bug.cgi?id=13129
+
+// FIXME: We'd like to add this, but we can't do that until this issue is resolved:
+// http://bugs.webkit.org/show_bug.cgi?id=13129: presence of 'count' method on
+// WebScriptObject breaks Democracy player.
- (unsigned)count
{
id length = [self valueForKey:@"length"];
- if ([length respondsToSelector:@selector(intValue)])
- return [length intValue];
- else
+ if (![length respondsToSelector:@selector(intValue)])
return 0;
+ return [length intValue];
}
#endif
@@ -583,8 +583,10 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
@implementation WebUndefined
-+ (id)allocWithZone:(NSZone *)zone
++ (id)allocWithZone:(NSZone *)unusedZone
{
+ UNUSED_PARAM(unusedZone);
+
static WebUndefined *sharedUndefined = 0;
if (!sharedUndefined)
sharedUndefined = [super allocWithZone:NULL];
@@ -596,17 +598,22 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
return @"undefined";
}
-- (id)initWithCoder:(NSCoder *)coder
+- (id)initWithCoder:(NSCoder *)unusedCoder
{
+ UNUSED_PARAM(unusedCoder);
+
return self;
}
-- (void)encodeWithCoder:(NSCoder *)encoder
+- (void)encodeWithCoder:(NSCoder *)unusedCoder
{
+ UNUSED_PARAM(unusedCoder);
}
-- (id)copyWithZone:(NSZone *)zone
+- (id)copyWithZone:(NSZone *)unusedZone
{
+ UNUSED_PARAM(unusedZone);
+
return self;
}
@@ -642,4 +649,3 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
}
@end
-
diff --git a/WebCore/bindings/objc/WebScriptObjectPrivate.h b/WebCore/bindings/objc/WebScriptObjectPrivate.h
index 569d6f6..6810de6 100644
--- a/WebCore/bindings/objc/WebScriptObjectPrivate.h
+++ b/WebCore/bindings/objc/WebScriptObjectPrivate.h
@@ -46,7 +46,7 @@ namespace WebCore {
}
@interface WebScriptObject (Private)
-+ (id)_convertValueToObjcValue:(JSC::JSValue*)value originRootObject:(JSC::Bindings::RootObject*)originRootObject rootObject:(JSC::Bindings::RootObject*)rootObject;
++ (id)_convertValueToObjcValue:(JSC::JSValuePtr)value originRootObject:(JSC::Bindings::RootObject*)originRootObject rootObject:(JSC::Bindings::RootObject*)rootObject;
+ (id)scriptObjectForJSObject:(JSObjectRef)jsObject originRootObject:(JSC::Bindings::RootObject*)originRootObject rootObject:(JSC::Bindings::RootObject*)rootObject;
- (id)_init;
- (id)_initWithJSObject:(JSC::JSObject*)imp originRootObject:(PassRefPtr<JSC::Bindings::RootObject>)originRootObject rootObject:(PassRefPtr<JSC::Bindings::RootObject>)rootObject;