Skip to content

Commit

Permalink
Merge branch 'titanium_pr2' of git@github.com:marshall/webkit_titaniu…
Browse files Browse the repository at this point in the history
…m into titanium_pr2
  • Loading branch information
jservin committed Feb 11, 2009
2 parents a1f3ac9 + 749210f commit 7b01c67
Show file tree
Hide file tree
Showing 7 changed files with 178 additions and 2 deletions.
1 change: 1 addition & 0 deletions WebCore/WebCore.base.exp
Expand Up @@ -946,3 +946,4 @@ _wkSetUpFontCache
_wkSignalCFReadStreamEnd
_wkSignalCFReadStreamError
_wkSignalCFReadStreamHasBytes
__ZN7WebCore13ScriptElement18addScriptEvaluatorEPNS_15ScriptEvaluatorE
59 changes: 59 additions & 0 deletions WebCore/WebCore.xcodeproj/project.pbxproj
Expand Up @@ -2887,6 +2887,29 @@
ABB5419E0ACDDFE4002820EB /* RenderListBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABB5419C0ACDDFE4002820EB /* RenderListBox.cpp */; };
ABB5419F0ACDDFE4002820EB /* RenderListBox.h in Headers */ = {isa = PBXBuildFile; fileRef = ABB5419D0ACDDFE4002820EB /* RenderListBox.h */; };
ABC128770B33AA6D00C693D5 /* PopupMenuClient.h in Headers */ = {isa = PBXBuildFile; fileRef = ABC128760B33AA6D00C693D5 /* PopupMenuClient.h */; };
ABCACE7F0F415D7300805E73 /* ScriptEvaluator.h in Headers */ = {isa = PBXBuildFile; fileRef = ABCACE7E0F415D7300805E73 /* ScriptEvaluator.h */; };
ABCACED50F416D4400805E73 /* ScriptEvaluator.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = ABCACE7E0F415D7300805E73 /* ScriptEvaluator.h */; };
ABCACED60F416D5F00805E73 /* CachedScriptSourceProvider.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = BCD533630ED6848900887468 /* CachedScriptSourceProvider.h */; };
ABCACED70F416D5F00805E73 /* ScriptSourceCode.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = 934CC1090EDB223900A658F2 /* ScriptSourceCode.h */; };
ABCACED80F416D5F00805E73 /* StringSourceProvider.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = 65488D6A0DD5A83D009D83B2 /* StringSourceProvider.h */; };
ABCACED90F416D8200805E73 /* CachedResource.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = BCB16C070979C3BD00467741 /* CachedResource.h */; };
ABCACEDA0F416D8200805E73 /* CachedResourceClient.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = BCFB2E5D0979E46400BA703D /* CachedResourceClient.h */; };
ABCACEDB0F416D8200805E73 /* CachedResourceHandle.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = E47B4BE60E71241600038854 /* CachedResourceHandle.h */; };
ABCACEDC0F416D8200805E73 /* CachedScript.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = BCB16C0B0979C3BD00467741 /* CachedScript.h */; };
ABCACEDD0F416DA500805E73 /* TextCodec.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = B2C3DA0A0D006C1D00EF6F26 /* TextCodec.h */; };
ABCACEDE0F416DA500805E73 /* TextEncoding.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = B2C3DA170D006C1D00EF6F26 /* TextEncoding.h */; };
ABCACEDF0F416DA500805E73 /* KURL.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = 6593923609AE4346002C531F /* KURL.h */; };
ABCACEE00F416DC100805E73 /* Timer.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = 9305B24C098F1B6B00C28855 /* Timer.h */; };
ABCACEF40F416DF000805E73 /* CachePolicy.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = F587864902DE3A9A01EA4122 /* CachePolicy.h */; };
ABCACEF50F416E1400805E73 /* PlatformString.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = B2C3D9FB0D006C1D00EF6F26 /* PlatformString.h */; };
ABCACEFD0F416E7700805E73 /* ResourceResponse.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = 514C764A0CE9234E007EF3CD /* ResourceResponse.h */; };
ABCACEFE0F416E7700805E73 /* HTTPHeaderMap.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = 514C765C0CE923A1007EF3CD /* HTTPHeaderMap.h */; };
ABCACEFF0F416E7700805E73 /* ResourceResponseBase.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = 514C766A0CE923A1007EF3CD /* ResourceResponseBase.h */; };
ABCACF080F416EC200805E73 /* AtomicStringImpl.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = B2C3D9EF0D006C1D00EF6F26 /* AtomicStringImpl.h */; };
ABCACF090F416EC200805E73 /* StringHash.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = B2C3DA010D006C1D00EF6F26 /* StringHash.h */; };
ABCACF0A0F416EC200805E73 /* StringImpl.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = B2C3DA030D006C1D00EF6F26 /* StringImpl.h */; };
ABCACF0B0F416F3300805E73 /* SharedBuffer.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = 1A4A954C0B4EDCCB002D8C3C /* SharedBuffer.h */; };
ABCACF2C0F41736F00805E73 /* ScriptElement.h in Copy Extra API Headers (Titanium) */ = {isa = PBXBuildFile; fileRef = 08A484760E5272C500C3FE76 /* ScriptElement.h */; };
ABDDFE790A5C6E7000A3E11D /* RenderMenuList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABDDFE730A5C6E6F00A3E11D /* RenderMenuList.cpp */; };
ABDDFE7A0A5C6E7000A3E11D /* RenderMenuList.h in Headers */ = {isa = PBXBuildFile; fileRef = ABDDFE740A5C6E7000A3E11D /* RenderMenuList.h */; };
ABFE7E120D32FAF60066F4D2 /* MediaControlElements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABFE7E100D32FAF50066F4D2 /* MediaControlElements.cpp */; };
Expand Down Expand Up @@ -4818,6 +4841,38 @@
name = "Copy Generated Headers";
runOnlyForDeploymentPostprocessing = 0;
};
ABCACED40F416D2C00805E73 /* Copy Extra API Headers (Titanium) */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = Versions/A/PrivateHeaders/ForwardingHeaders;
dstSubfolderSpec = 1;
files = (
ABCACF2C0F41736F00805E73 /* ScriptElement.h in Copy Extra API Headers (Titanium) */,
ABCACF0B0F416F3300805E73 /* SharedBuffer.h in Copy Extra API Headers (Titanium) */,
ABCACF080F416EC200805E73 /* AtomicStringImpl.h in Copy Extra API Headers (Titanium) */,
ABCACF090F416EC200805E73 /* StringHash.h in Copy Extra API Headers (Titanium) */,
ABCACF0A0F416EC200805E73 /* StringImpl.h in Copy Extra API Headers (Titanium) */,
ABCACEFD0F416E7700805E73 /* ResourceResponse.h in Copy Extra API Headers (Titanium) */,
ABCACEFE0F416E7700805E73 /* HTTPHeaderMap.h in Copy Extra API Headers (Titanium) */,
ABCACEFF0F416E7700805E73 /* ResourceResponseBase.h in Copy Extra API Headers (Titanium) */,
ABCACEF50F416E1400805E73 /* PlatformString.h in Copy Extra API Headers (Titanium) */,
ABCACEF40F416DF000805E73 /* CachePolicy.h in Copy Extra API Headers (Titanium) */,
ABCACEE00F416DC100805E73 /* Timer.h in Copy Extra API Headers (Titanium) */,
ABCACEDD0F416DA500805E73 /* TextCodec.h in Copy Extra API Headers (Titanium) */,
ABCACEDE0F416DA500805E73 /* TextEncoding.h in Copy Extra API Headers (Titanium) */,
ABCACEDF0F416DA500805E73 /* KURL.h in Copy Extra API Headers (Titanium) */,
ABCACED90F416D8200805E73 /* CachedResource.h in Copy Extra API Headers (Titanium) */,
ABCACEDA0F416D8200805E73 /* CachedResourceClient.h in Copy Extra API Headers (Titanium) */,
ABCACEDB0F416D8200805E73 /* CachedResourceHandle.h in Copy Extra API Headers (Titanium) */,
ABCACEDC0F416D8200805E73 /* CachedScript.h in Copy Extra API Headers (Titanium) */,
ABCACED60F416D5F00805E73 /* CachedScriptSourceProvider.h in Copy Extra API Headers (Titanium) */,
ABCACED70F416D5F00805E73 /* ScriptSourceCode.h in Copy Extra API Headers (Titanium) */,
ABCACED80F416D5F00805E73 /* StringSourceProvider.h in Copy Extra API Headers (Titanium) */,
ABCACED50F416D4400805E73 /* ScriptEvaluator.h in Copy Extra API Headers (Titanium) */,
);
name = "Copy Extra API Headers (Titanium)";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
Expand Down Expand Up @@ -7427,6 +7482,7 @@
ABB5419C0ACDDFE4002820EB /* RenderListBox.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RenderListBox.cpp; sourceTree = "<group>"; };
ABB5419D0ACDDFE4002820EB /* RenderListBox.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RenderListBox.h; sourceTree = "<group>"; };
ABC128760B33AA6D00C693D5 /* PopupMenuClient.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PopupMenuClient.h; sourceTree = "<group>"; };
ABCACE7E0F415D7300805E73 /* ScriptEvaluator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptEvaluator.h; sourceTree = "<group>"; };
ABDDFE730A5C6E6F00A3E11D /* RenderMenuList.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMenuList.cpp; sourceTree = "<group>"; };
ABDDFE740A5C6E7000A3E11D /* RenderMenuList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RenderMenuList.h; sourceTree = "<group>"; };
ABFE7E100D32FAF50066F4D2 /* MediaControlElements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaControlElements.cpp; sourceTree = "<group>"; };
Expand Down Expand Up @@ -14186,6 +14242,7 @@
85031B360A44EFC700F992E0 /* RegisteredEventListener.h */,
08A484750E5272C500C3FE76 /* ScriptElement.cpp */,
08A484760E5272C500C3FE76 /* ScriptElement.h */,
ABCACE7E0F415D7300805E73 /* ScriptEvaluator.h */,
E11C9DAF0EB3699500E409DB /* ScriptExecutionContext.cpp */,
E11C9D9A0EB3681200E409DB /* ScriptExecutionContext.h */,
BC7FA6800D1F167900DB22A9 /* SelectorNodeList.cpp */,
Expand Down Expand Up @@ -16165,6 +16222,7 @@
416E75BE0EDF8FD700360E1D /* ScriptCallStack.h in Headers */,
93B70D7009EB0C7C009D8468 /* ScriptController.h in Headers */,
08A484780E5272C500C3FE76 /* ScriptElement.h in Headers */,
ABCACE7F0F415D7300805E73 /* ScriptEvaluator.h in Headers */,
E11C9D9B0EB3681200E409DB /* ScriptExecutionContext.h in Headers */,
934CC1170EDCAC7300A658F2 /* ScriptInstance.h in Headers */,
934CC10A0EDB223900A658F2 /* ScriptSourceCode.h in Headers */,
Expand Down Expand Up @@ -16453,6 +16511,7 @@
5D0D540D0E9862F60029E223 /* Check For Weak VTables */,
93F19B1208245E59001E9ABC /* Frameworks */,
1CB71D4A0B02658D0061EA45 /* Generate 64-bit Export File */,
ABCACED40F416D2C00805E73 /* Copy Extra API Headers (Titanium) */,
);
buildRules = (
);
Expand Down
3 changes: 2 additions & 1 deletion WebCore/dom/ScriptEvaluator.h
Expand Up @@ -2,7 +2,8 @@
#define ScriptEvaluator_h

namespace WebCore {
class ScriptSourceCode;
class String;
class ScriptSourceCode;

class ScriptEvaluator {
public:
Expand Down
28 changes: 27 additions & 1 deletion WebKit/WebKit.xcodeproj/project.pbxproj
Expand Up @@ -298,6 +298,8 @@
A70936B00B5608DC00CDB48E /* WebDragClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = A70936AE0B5608DC00CDB48E /* WebDragClient.mm */; };
A7D3C5BC0B5773C5002CA450 /* WebPasteboardHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D3C5BA0B5773C5002CA450 /* WebPasteboardHelper.h */; };
A7D3C5BD0B5773C5002CA450 /* WebPasteboardHelper.mm in Sources */ = {isa = PBXBuildFile; fileRef = A7D3C5BB0B5773C5002CA450 /* WebPasteboardHelper.mm */; };
ABCACDA20F414B1900805E73 /* WebScriptElement.h in Headers */ = {isa = PBXBuildFile; fileRef = ABCACDA00F414B1900805E73 /* WebScriptElement.h */; };
ABCACDA30F414B1900805E73 /* WebScriptElement.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABCACDA10F414B1900805E73 /* WebScriptElement.mm */; };
ABDDF20D08EB0DDC001E1241 /* WebDownloadInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = ABDDF20C08EB0DDC001E1241 /* WebDownloadInternal.h */; };
BCDFA8F90C10B6F500D3A10C /* WebKitPluginContainerView.h in Headers */ = {isa = PBXBuildFile; fileRef = BCDFA8F80C10B6F500D3A10C /* WebKitPluginContainerView.h */; };
BCDFA9130C10B93E00D3A10C /* WebKitPluginContainerView.mm in Sources */ = {isa = PBXBuildFile; fileRef = BCDFA9120C10B93E00D3A10C /* WebKitPluginContainerView.mm */; };
Expand Down Expand Up @@ -538,6 +540,8 @@
A70936AE0B5608DC00CDB48E /* WebDragClient.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDragClient.mm; sourceTree = "<group>"; };
A7D3C5BA0B5773C5002CA450 /* WebPasteboardHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPasteboardHelper.h; sourceTree = "<group>"; };
A7D3C5BB0B5773C5002CA450 /* WebPasteboardHelper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPasteboardHelper.mm; sourceTree = "<group>"; };
ABCACDA00F414B1900805E73 /* WebScriptElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptElement.h; sourceTree = "<group>"; };
ABCACDA10F414B1900805E73 /* WebScriptElement.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebScriptElement.mm; sourceTree = "<group>"; };
ABDDF20C08EB0DDC001E1241 /* WebDownloadInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDownloadInternal.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
BCDFA8F80C10B6F500D3A10C /* WebKitPluginContainerView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebKitPluginContainerView.h; sourceTree = "<group>"; };
BCDFA9120C10B93E00D3A10C /* WebKitPluginContainerView.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = WebKitPluginContainerView.mm; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1047,6 +1051,8 @@
51A8B57A042834F700CA2D3A /* WebView.mm */,
930D02BB06275F640076701E /* WebViewInternal.h */,
51A8B57D0428353A00CA2D3A /* WebViewPrivate.h */,
ABCACDA00F414B1900805E73 /* WebScriptElement.h */,
ABCACDA10F414B1900805E73 /* WebScriptElement.mm */,
);
name = WebView;
path = mac/WebView;
Expand Down Expand Up @@ -1382,6 +1388,7 @@
9398109B0824BF01008DF038 /* WebViewInternal.h in Headers */,
939810710824BF01008DF038 /* WebViewPrivate.h in Headers */,
1A7F9C4C0DD3DDEA0028F8A5 /* nptextinput.h in Headers */,
ABCACDA20F414B1900805E73 /* WebScriptElement.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -1489,7 +1496,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "mkdir -p \"${TARGET_BUILD_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nmkdir -p \"${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}\"\nmkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit\"\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" ]; then\n make -C mac -f \"MigrateHeaders.make\" -j `/usr/sbin/sysctl -n hw.availcpu`\nfi\n";
shellScript = "mkdir -p \"${TARGET_BUILD_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nmkdir -p \"${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}\"\nmkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit\"\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" ]; then\n make -C mac -f \"MigrateHeaders.make\" -j `/usr/sbin/sysctl -n hw.availcpu`\nfi\n\ncp ${PROJECT_DIR}/mac/WebView/WebScriptElement.h ${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}";
};
5D0D54210E98631D0029E223 /* Check For Weak VTables */ = {
isa = PBXShellScriptBuildPhase;
Expand Down Expand Up @@ -1572,6 +1579,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
ABCACDA30F414B1900805E73 /* WebScriptElement.mm in Sources */,
939811010824BF01008DF038 /* CarbonUtils.m in Sources */,
939810FD0824BF01008DF038 /* CarbonWindowAdapter.mm in Sources */,
939810FE0824BF01008DF038 /* CarbonWindowContentView.m in Sources */,
Expand Down Expand Up @@ -1747,6 +1755,15 @@
baseConfigurationReference = 1C904FD20BA9DD0F0081E9D0 /* WebKit.xcconfig */;
buildSettings = {
DEBUG_DEFINES = "$(DEBUG_DEFINES_debug) ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH";
HEADER_SEARCH_PATHS = (
"$(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders",
"$(WEBCORE_PRIVATE_HEADERS_DIR)/icu",
"$(HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
"$(HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
"$(HEADER_SEARCH_PATHS)",
);
HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"${BUILT_PRODUCTS_DIR}/usr/local/include\"";
HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit\"";
INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)";
JAVASCRIPTCORE_PRIVATE_HEADERS_DIR = "$(BUILT_PRODUCTS_DIR)/JavaScriptCore.framework/PrivateHeaders";
OTHER_LDFLAGS = (
Expand All @@ -1762,6 +1779,15 @@
baseConfigurationReference = 1C904FD20BA9DD0F0081E9D0 /* WebKit.xcconfig */;
buildSettings = {
DEBUG_DEFINES = "$(DEBUG_DEFINES_$(CURRENT_VARIANT)) ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH";
HEADER_SEARCH_PATHS = (
"$(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders",
"$(WEBCORE_PRIVATE_HEADERS_DIR)/icu",
"$(HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
"$(HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_2)",
"$(HEADER_SEARCH_PATHS)",
);
HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"${BUILT_PRODUCTS_DIR}/usr/local/include\"";
HEADER_SEARCH_PATHS_QUOTED_FOR_TARGET_2 = "\"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit\"";
INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)";
JAVASCRIPTCORE_PRIVATE_HEADERS_DIR = "$(BUILT_PRODUCTS_DIR)/JavaScriptCore.framework/PrivateHeaders";
OTHER_LDFLAGS = (
Expand Down
1 change: 1 addition & 0 deletions WebKit/mac/WebKit.exp
Expand Up @@ -26,6 +26,7 @@
.objc_class_name_WebRenderNode
.objc_class_name_WebResource
.objc_class_name_WebScriptCallFrame
.objc_class_name_WebScriptElement
.objc_class_name_WebSecurityOrigin
.objc_class_name_WebStringTruncator
.objc_class_name_WebURLsWithTitles
Expand Down
18 changes: 18 additions & 0 deletions WebKit/mac/WebView/WebScriptElement.h
@@ -0,0 +1,18 @@
//
// WebScriptElement.h
// WebKit
//
// Created by Marshall on 2/9/09.
// Copyright 2009 Appcelerator, Inc. All rights reserved.
//

#import <Cocoa/Cocoa.h>


@interface WebScriptElement : NSObject {

}

+(void) addScriptEvaluator:(id)evaluator;

@end
70 changes: 70 additions & 0 deletions WebKit/mac/WebView/WebScriptElement.mm
@@ -0,0 +1,70 @@
//
// WebScriptElement.mm
// WebKit
//
// Created by Marshall on 2/9/09.
// Copyright 2009 Appcelerator, Inc. All rights reserved.
//

#import "WebScriptElement.h"
#import <WebKit/WebKit.h>
#import <JavaScriptCore/JSContextRef.h>

#import "ScriptElement.h"
#import "ScriptEvaluator.h"
#import "ScriptSourceCode.h"

class EvaluatorAdapter : public WebCore::ScriptEvaluator
{
protected:
id object;

public:
EvaluatorAdapter(id object) : object(object) {}
virtual ~EvaluatorAdapter() {}

virtual bool matchesMimeType(const WebCore::String& mimeType)
{
if ([object respondsToSelector:@selector(matchesMimeType:)]) {
NSString *str = mimeType;

BOOL result = (BOOL) (intptr_t) [object performSelector:@selector(matchesMimeType:) withObject:str];
return result;
}
return false;
}

virtual void evaluate(const WebCore::String& mimeType,
const WebCore::ScriptSourceCode& sourceCode, void *context)
{
NSString *mimeTypeStr = mimeType;
WebCore::String webCoreSourceCodeStr = sourceCode.jsSourceCode().toString();
NSString *sourceCodeStr = webCoreSourceCodeStr;

SEL evalSelector;
evalSelector = @selector(evaluate:sourceCode:context:);
if ([object respondsToSelector:evalSelector]) {


NSMethodSignature *sig = [object methodSignatureForSelector:evalSelector];
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:sig];
[invocation setTarget:object];
[invocation setSelector:evalSelector];
[invocation setArgument:&mimeTypeStr atIndex:2];
[invocation setArgument:&sourceCodeStr atIndex:3];
[invocation setArgument:&context atIndex:4];
[invocation retainArguments];
[invocation invoke];
}
}
};

@implementation WebScriptElement

+(void) addScriptEvaluator:(id)evaluator
{
WebCore::ScriptElement::addScriptEvaluator(new EvaluatorAdapter(evaluator));
}


@end

0 comments on commit 7b01c67

Please sign in to comment.