// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 45;
	objects = {

/* Begin PBXAggregateTarget section */
		A115CCB41B9D769D00E89159 /* All */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = A115CCB51B9D769D00E89159 /* Build configuration list for PBXAggregateTarget "All" */;
			buildPhases = (
			);
			dependencies = (
				A115CCBC1B9D76C400E89159 /* PBXTargetDependency */,
				A115CCBA1B9D76BF00E89159 /* PBXTargetDependency */,
			);
			name = All;
			productName = All;
		};
		BC952D7711F3BF5D003398B4 /* Derived Sources */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = BC952D7D11F3BF6A003398B4 /* Build configuration list for PBXAggregateTarget "Derived Sources" */;
			buildPhases = (
				BC952D8211F3BF78003398B4 /* Generate Derived Sources */,
			);
			dependencies = (
			);
			name = "Derived Sources";
			productName = "Derived Sources";
		};
/* End PBXAggregateTarget section */

/* Begin PBXBuildFile section */
		0F18E6E41D6B9ABF0027E547 /* UIScriptController.idl in Resources */ = {isa = PBXBuildFile; fileRef = 0F18E6E31D6B9ABF0027E547 /* UIScriptController.idl */; };
		0F18E6E51D6B9B9E0027E547 /* UIScriptContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F18E6DD1D6B9AAF0027E547 /* UIScriptContext.cpp */; };
		0F18E6E61D6B9BA20027E547 /* UIScriptController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F18E6DF1D6B9AAF0027E547 /* UIScriptController.cpp */; };
		0F18E7181D6BC4560027E547 /* JSWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F18E7151D6BC4560027E547 /* JSWrapper.cpp */; };
		0F4B08731D5BE88D00EC1B78 /* Launch.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0F4B08721D5BE88D00EC1B78 /* Launch.storyboard */; };
		0F5169CC1445222D00E0A9D7 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F5169CA1445222D00E0A9D7 /* WebKit.framework */; };
		0F622CE91BBB3A1A00838AD3 /* TestOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F622CE81BBB3A1A00838AD3 /* TestOptions.cpp */; };
		0F6E89031D6BC5A2008ED0FA /* JSWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F18E7151D6BC4560027E547 /* JSWrapper.cpp */; };
		0F73B5511BA78968004B3EF4 /* JSUIScriptController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F73B54F1BA78968004B3EF4 /* JSUIScriptController.cpp */; };
		0F73B5521BA78968004B3EF4 /* JSUIScriptController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F73B5501BA78968004B3EF4 /* JSUIScriptController.h */; };
		0F73B55C1BA89042004B3EF4 /* UIScriptControllerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F73B55B1BA89042004B3EF4 /* UIScriptControllerIOS.mm */; };
		0F87B6131BACAD82004EC572 /* UIScriptControllerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F87B6111BACAD6F004EC572 /* UIScriptControllerMac.mm */; };
		0F87B6171BACC4C0004EC572 /* TestRunnerWKWebView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F87B6151BACC4B9004EC572 /* TestRunnerWKWebView.mm */; };
		0FEB90A01905A834000FDBF3 /* InjectedBundlePageCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEB909E1905A776000FDBF3 /* InjectedBundlePageCocoa.mm */; };
		0FEB90A51905C016000FDBF3 /* CrashReporterInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */; };
		0FEBF85A1BB61DF20028722D /* HIDEventGenerator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEBF8591BB61DF20028722D /* HIDEventGenerator.mm */; };
		1CA211C91BCA107300B2101F /* FontWithFeatures.otf in Resources */ = {isa = PBXBuildFile; fileRef = 1CA211C71BCA107300B2101F /* FontWithFeatures.otf */; };
		1CA211CA1BCA107300B2101F /* FontWithFeatures.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1CA211C81BCA107300B2101F /* FontWithFeatures.ttf */; };
		29210EAE144CACB700835BB5 /* AccessibilityUIElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29210EA9144CACB200835BB5 /* AccessibilityUIElement.cpp */; };
		29210EB0144CACBD00835BB5 /* AccessibilityController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29210EA2144CAAA500835BB5 /* AccessibilityController.cpp */; };
		29210EB4144CACD500835BB5 /* AccessibilityTextMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29210EB1144CACD400835BB5 /* AccessibilityTextMarker.cpp */; };
		29210EB5144CACD500835BB5 /* AccessibilityTextMarkerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29210EB3144CACD400835BB5 /* AccessibilityTextMarkerMac.mm */; };
		29210EDA144CC3EA00835BB5 /* AccessibilityUIElementMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29210EAB144CACB200835BB5 /* AccessibilityUIElementMac.mm */; };
		29210EDA144CC3EA00835BB6 /* AccessibilityCommonMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29210EAB144CACB200835BB6 /* AccessibilityCommonMac.mm */; };
		29210EDB144CD47900835BB5 /* JSAccessibilityController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 583913D014335E95008307E5 /* JSAccessibilityController.cpp */; };
		29210EE1144CDB2600835BB5 /* JSAccessibilityUIElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29210EDB146727E711835BB5 /* JSAccessibilityUIElement.cpp */; };
		29A8FCCB145EF02E009045A6 /* JSAccessibilityTextMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29210EE1144CDE6789815EE5 /* JSAccessibilityTextMarker.cpp */; };
		29A8FCDD145F0337009045A6 /* JSAccessibilityTextMarkerRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8FCE1345E7021006AA5A6 /* JSAccessibilityTextMarkerRange.cpp */; };
		29A8FCE2145F037B009045A6 /* AccessibilityTextMarkerRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8FCE1145F037B009045A6 /* AccessibilityTextMarkerRange.cpp */; };
		29A8FCE5145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29A8FCE4145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm */; };
		2E34C90018B68808000067BB /* WebKitTestRunnerInjectedBundle.bundle in Copy Plug-Ins */ = {isa = PBXBuildFile; fileRef = BC25186211D15D54002EBC01 /* WebKitTestRunnerInjectedBundle.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
		2E63ED8A1891AD7E002A7AFC /* AccessibilityControllerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED751891ACE9002A7AFC /* AccessibilityControllerIOS.mm */; };
		2E63ED8B1891AD7E002A7AFC /* AccessibilityTextMarkerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED771891ACE9002A7AFC /* AccessibilityTextMarkerIOS.mm */; };
		2E63ED8E1891AD7E002A7AFC /* EventSenderProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */; };
		2E63ED8F1891AD7E002A7AFC /* InjectedBundleIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7B1891ACE9002A7AFC /* InjectedBundleIOS.mm */; };
		2E63ED911891ADAD002A7AFC /* PlatformWebViewIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */; };
		2E63ED921891ADAD002A7AFC /* TestControllerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */; };
		2E63ED941891ADAD002A7AFC /* mainIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D161890A9FB0010ED21 /* mainIOS.mm */; };
		2E63ED9E1891AEC1002A7AFC /* WebArchiveDumpSupportIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D151890A9FB0010ED21 /* WebArchiveDumpSupportIOS.mm */; };
		2E63EDA11891B291002A7AFC /* AccessibilityUIElementIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED781891ACE9002A7AFC /* AccessibilityUIElementIOS.mm */; };
		2E63EDA61891BDC0002A7AFC /* TestRunner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC9981711D3F51E0017BCA2 /* TestRunner.cpp */; };
		2E749BF21891EBFA007FC175 /* EventSenderProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */; };
		51058AD51D678820009A538C /* libWebCoreTestSupport.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 41230E16138C78BF00BCCFCA /* libWebCoreTestSupport.dylib */; };
		51058AD61D678825009A538C /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F5169CA1445222D00E0A9D7 /* WebKit.framework */; };
		5641E2D014335E95008307E5 /* JSTextInputController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5641E2CE14335E95008307E5 /* JSTextInputController.cpp */; };
		5664A49A14326384008881BE /* TextInputController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5664A49814326384008881BE /* TextInputController.cpp */; };
		5670B8281386FCA5002EB355 /* EventSenderProxy.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5670B8271386FCA5002EB355 /* EventSenderProxy.mm */; };
		5C45C30F17398E290079714E /* WebArchiveDumpSupportMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C45C30E17398E290079714E /* WebArchiveDumpSupportMac.mm */; };
		5C45C31317398E480079714E /* WebArchiveDumpSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5C45C31117398E480079714E /* WebArchiveDumpSupport.cpp */; };
		6510A78211EC643800410867 /* AHEM____.TTF in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77711EC643800410867 /* AHEM____.TTF */; };
		6510A78411EC643800410867 /* WebKitWeightWatcher100.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77911EC643800410867 /* WebKitWeightWatcher100.ttf */; };
		6510A78511EC643800410867 /* WebKitWeightWatcher200.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77A11EC643800410867 /* WebKitWeightWatcher200.ttf */; };
		6510A78611EC643800410867 /* WebKitWeightWatcher300.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77B11EC643800410867 /* WebKitWeightWatcher300.ttf */; };
		6510A78711EC643800410867 /* WebKitWeightWatcher400.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77C11EC643800410867 /* WebKitWeightWatcher400.ttf */; };
		6510A78811EC643800410867 /* WebKitWeightWatcher500.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77D11EC643800410867 /* WebKitWeightWatcher500.ttf */; };
		6510A78911EC643800410867 /* WebKitWeightWatcher600.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77E11EC643800410867 /* WebKitWeightWatcher600.ttf */; };
		6510A78A11EC643800410867 /* WebKitWeightWatcher700.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77F11EC643800410867 /* WebKitWeightWatcher700.ttf */; };
		6510A78B11EC643800410867 /* WebKitWeightWatcher800.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A78011EC643800410867 /* WebKitWeightWatcher800.ttf */; };
		6510A78C11EC643800410867 /* WebKitWeightWatcher900.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A78111EC643800410867 /* WebKitWeightWatcher900.ttf */; };
		65EB85A011EC67CC0034D300 /* ActivateFontsCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 65EB859F11EC67CC0034D300 /* ActivateFontsCocoa.mm */; };
		8034C6621487636400AC32E9 /* AccessibilityControllerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8034C6611487636400AC32E9 /* AccessibilityControllerMac.mm */; };
		8097338A14874A5A008156D9 /* AccessibilityNotificationHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8097338914874A5A008156D9 /* AccessibilityNotificationHandler.mm */; };
		A185103A1B9AE0DA00744AEB /* CrashReporterInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */; };
		A185103B1B9AE0E200744AEB /* TestControllerCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DCE2CD11B84524500C7F832 /* TestControllerCocoa.mm */; };
		A185103C1B9AE0FE00744AEB /* Options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 841CC00D181185BF0042E9B6 /* Options.cpp */; };
		A185103D1B9AE10600744AEB /* TestInvocationCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC9192041333E4F8003011DC /* TestInvocationCG.cpp */; };
		A185103E1B9AE12200744AEB /* CyclicRedundancyCheck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5322FB4113FDA0CD0041ABCC /* CyclicRedundancyCheck.cpp */; };
		A185103F1B9AE12900744AEB /* GeolocationProviderMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D758E5160BECDC00268472 /* GeolocationProviderMock.cpp */; };
		A18510401B9AE13100744AEB /* PixelDumpSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5322FB4413FDA0EA0041ABCC /* PixelDumpSupport.cpp */; };
		A18510411B9AE13800744AEB /* TestController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC793430118F7F19005EA8E2 /* TestController.cpp */; };
		A18510421B9AE13E00744AEB /* TestInvocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD7D2F711921278006DB7EE /* TestInvocation.cpp */; };
		A18510431B9AE14500744AEB /* WebNotificationProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3164C8EF15D1ADA100EF1FE0 /* WebNotificationProvider.cpp */; };
		A18510441B9AE14A00744AEB /* WorkQueueManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4429FC5E1627089600F66D8B /* WorkQueueManager.cpp */; };
		A664BC7613A5F3A9009A7B25 /* libWebCoreTestSupport.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 41230E16138C78BF00BCCFCA /* libWebCoreTestSupport.dylib */; };
		BC14E4DB120E02D000826C0C /* GCController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC14E4D9120E02D000826C0C /* GCController.cpp */; };
		BC14E4EA120E03D800826C0C /* JSGCController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC14E4E8120E03D800826C0C /* JSGCController.cpp */; };
		BC25194011D15D8B002EBC01 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BCDA2B991191051F00C3BC47 /* JavaScriptCore.framework */; };
		BC251A3E11D16831002EBC01 /* InjectedBundleMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC25184611D15767002EBC01 /* InjectedBundleMain.cpp */; };
		BC793400118F7C84005EA8E2 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC7933FF118F7C84005EA8E2 /* main.mm */; };
		BC7934E811906846005EA8E2 /* PlatformWebViewMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */; };
		BC8C795C11D2785D004535A1 /* TestControllerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC8C795B11D2785D004535A1 /* TestControllerMac.mm */; };
		BC8DAD7B1316D91000EC96FC /* InjectedBundleMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */; };
		BC8FD8CA120E527F00F3E71A /* EventSendingController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8FD8C9120E527F00F3E71A /* EventSendingController.cpp */; };
		BC8FD8D2120E545B00F3E71A /* JSEventSendingController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8FD8D0120E545B00F3E71A /* JSEventSendingController.cpp */; };
		BC952F1F11F3C652003398B4 /* JSTestRunner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC952F1D11F3C652003398B4 /* JSTestRunner.cpp */; };
		BCC997A411D3C8F60017BCA2 /* InjectedBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC997A011D3C8F60017BCA2 /* InjectedBundle.cpp */; };
		BCC997A511D3C8F60017BCA2 /* InjectedBundlePage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC997A211D3C8F60017BCA2 /* InjectedBundlePage.cpp */; };
		C0CE720B1247C93300BC0EC4 /* TestRunnerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C0CE720A1247C93300BC0EC4 /* TestRunnerMac.mm */; };
		E132AA3A17CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = E132AA3817CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm */; };
		E132AA3D17CE776F00611DF0 /* WebKitTestRunnerEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = E132AA3B17CE776F00611DF0 /* WebKitTestRunnerEvent.mm */; };
		E1C642C317CBCC7300D66A3C /* PoseAsClass.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1C642C117CBCC7300D66A3C /* PoseAsClass.mm */; };
		E1C642C617CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1C642C417CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		A115CCB91B9D76BF00E89159 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8DD76F960486AA7600D96B5E;
			remoteInfo = WebKitTestRunner;
		};
		A115CCBB1B9D76C400E89159 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 2EE52CDF1890A9A80010ED21;
			remoteInfo = WebKitTestRunnerApp;
		};
		A18510311B9ADE5B00744AEB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = BC25186111D15D54002EBC01;
			remoteInfo = WebKitTestRunnerInjectedBundle;
		};
		A18510331B9ADE6200744AEB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = A18510261B9ADE4800744AEB;
			remoteInfo = "WebKitTestRunner (Library)";
		};
		A18510351B9ADE6D00744AEB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = A18510261B9ADE4800744AEB;
			remoteInfo = "WebKitTestRunner (Library)";
		};
		BC952ED611F3C38B003398B4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = BC952D7711F3BF5D003398B4;
			remoteInfo = "Derived Sources";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		CEC209031D36E36A00261596 /* Copy Plug-Ins */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 13;
			files = (
				2E34C90018B68808000067BB /* WebKitTestRunnerInjectedBundle.bundle in Copy Plug-Ins */,
			);
			name = "Copy Plug-Ins";
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		0F18E6DD1D6B9AAF0027E547 /* UIScriptContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UIScriptContext.cpp; path = ../TestRunnerShared/UIScriptContext/UIScriptContext.cpp; sourceTree = "<group>"; };
		0F18E6DE1D6B9AAF0027E547 /* UIScriptContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UIScriptContext.h; path = ../TestRunnerShared/UIScriptContext/UIScriptContext.h; sourceTree = "<group>"; };
		0F18E6DF1D6B9AAF0027E547 /* UIScriptController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UIScriptController.cpp; path = ../TestRunnerShared/UIScriptContext/UIScriptController.cpp; sourceTree = "<group>"; };
		0F18E6E01D6B9AAF0027E547 /* UIScriptController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UIScriptController.h; path = ../TestRunnerShared/UIScriptContext/UIScriptController.h; sourceTree = "<group>"; };
		0F18E6E31D6B9ABF0027E547 /* UIScriptController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = UIScriptController.idl; path = ../TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl; sourceTree = "<group>"; };
		0F18E7141D6BC4560027E547 /* JSWrappable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWrappable.h; path = ../TestRunnerShared/Bindings/JSWrappable.h; sourceTree = "<group>"; };
		0F18E7151D6BC4560027E547 /* JSWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWrapper.cpp; path = ../TestRunnerShared/Bindings/JSWrapper.cpp; sourceTree = "<group>"; };
		0F18E7161D6BC4560027E547 /* JSWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWrapper.h; path = ../TestRunnerShared/Bindings/JSWrapper.h; sourceTree = "<group>"; };
		0F2109C7189C650D00F879A3 /* BaseTarget.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = BaseTarget.xcconfig; sourceTree = "<group>"; };
		0F4B08721D5BE88D00EC1B78 /* Launch.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Launch.storyboard; path = ios/Launch.storyboard; sourceTree = SOURCE_ROOT; };
		0F5169CA1445222D00E0A9D7 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		0F622CE81BBB3A1A00838AD3 /* TestOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TestOptions.cpp; sourceTree = "<group>"; };
		0F73B54F1BA78968004B3EF4 /* JSUIScriptController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSUIScriptController.cpp; sourceTree = "<group>"; };
		0F73B5501BA78968004B3EF4 /* JSUIScriptController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSUIScriptController.h; sourceTree = "<group>"; };
		0F73B5571BA7929E004B3EF4 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
		0F73B55B1BA89042004B3EF4 /* UIScriptControllerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UIScriptControllerIOS.mm; sourceTree = "<group>"; };
		0F87B6111BACAD6F004EC572 /* UIScriptControllerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UIScriptControllerMac.mm; sourceTree = "<group>"; };
		0F87B6141BACC4B9004EC572 /* TestRunnerWKWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TestRunnerWKWebView.h; path = cocoa/TestRunnerWKWebView.h; sourceTree = "<group>"; };
		0F87B6151BACC4B9004EC572 /* TestRunnerWKWebView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = TestRunnerWKWebView.mm; path = cocoa/TestRunnerWKWebView.mm; sourceTree = "<group>"; };
		0FEB909E1905A776000FDBF3 /* InjectedBundlePageCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundlePageCocoa.mm; sourceTree = "<group>"; };
		0FEB90A21905BC6A000FDBF3 /* CrashReporterInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CrashReporterInfo.h; path = cocoa/CrashReporterInfo.h; sourceTree = "<group>"; };
		0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CrashReporterInfo.mm; path = cocoa/CrashReporterInfo.mm; sourceTree = "<group>"; };
		0FEBF8581BB61DF20028722D /* HIDEventGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HIDEventGenerator.h; sourceTree = "<group>"; };
		0FEBF8591BB61DF20028722D /* HIDEventGenerator.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = HIDEventGenerator.mm; sourceTree = "<group>"; };
		0FEBF85B1BB62A370028722D /* IOKitSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IOKitSPI.h; sourceTree = "<group>"; };
		0FEBF85C1BB62D460028722D /* UIKitSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIKitSPI.h; sourceTree = "<group>"; };
		1A3326051B75396500F89F62 /* TestOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestOptions.h; sourceTree = "<group>"; };
		1CA211C71BCA107300B2101F /* FontWithFeatures.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FontWithFeatures.otf; sourceTree = "<group>"; };
		1CA211C81BCA107300B2101F /* FontWithFeatures.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FontWithFeatures.ttf; sourceTree = "<group>"; };
		26D758E5160BECDC00268472 /* GeolocationProviderMock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeolocationProviderMock.cpp; sourceTree = "<group>"; };
		26D758E6160BECDD00268472 /* GeolocationProviderMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeolocationProviderMock.h; sourceTree = "<group>"; };
		29210EA2144CAAA500835BB5 /* AccessibilityController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityController.cpp; sourceTree = "<group>"; };
		29210EA3144CAAA500835BB5 /* AccessibilityController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityController.h; sourceTree = "<group>"; };
		29210EA8144CAB8800835BB5 /* AccessibilityController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AccessibilityController.idl; sourceTree = "<group>"; };
		29210EA9144CACB200835BB5 /* AccessibilityUIElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityUIElement.cpp; sourceTree = "<group>"; };
		29210EAA144CACB200835BB5 /* AccessibilityUIElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityUIElement.h; sourceTree = "<group>"; };
		29210EAB144CACB200835BB5 /* AccessibilityUIElementMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityUIElementMac.mm; sourceTree = "<group>"; };
		29210EAB144CACB200835BB6 /* AccessibilityCommonMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityCommonMac.mm; sourceTree = "<group>"; };
		29210EB1144CACD400835BB5 /* AccessibilityTextMarker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityTextMarker.cpp; sourceTree = "<group>"; };
		29210EB2144CACD400835BB5 /* AccessibilityTextMarker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityTextMarker.h; sourceTree = "<group>"; };
		29210EB3144CACD400835BB5 /* AccessibilityTextMarkerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AccessibilityTextMarkerMac.mm; path = mac/AccessibilityTextMarkerMac.mm; sourceTree = "<group>"; };
		29210EDB146727E711835BB5 /* JSAccessibilityUIElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAccessibilityUIElement.cpp; sourceTree = "<group>"; };
		29210EDB146727E811835BB5 /* JSAccessibilityUIElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAccessibilityUIElement.h; sourceTree = "<group>"; };
		29210EDC144CD56E00835BB5 /* AccessibilityUIElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AccessibilityUIElement.idl; sourceTree = "<group>"; };
		29210EE1144CDE6789815EE5 /* JSAccessibilityTextMarker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAccessibilityTextMarker.cpp; sourceTree = "<group>"; };
		29210EE1145CDE6789815EE5 /* JSAccessibilityTextMarker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAccessibilityTextMarker.h; sourceTree = "<group>"; };
		29A8FCC5145B93C6009045A6 /* AccessibilityTextMarker.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AccessibilityTextMarker.idl; sourceTree = "<group>"; };
		29A8FCD2145EF8F2009045A6 /* AccessibilityTextMarkerRange.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = AccessibilityTextMarkerRange.idl; sourceTree = "<group>"; };
		29A8FCDF145F0358009045A6 /* AccessibilityTextMarkerRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityTextMarkerRange.h; sourceTree = "<group>"; };
		29A8FCE1145F037B009045A6 /* AccessibilityTextMarkerRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityTextMarkerRange.cpp; sourceTree = "<group>"; };
		29A8FCE1345E7021006AA5A6 /* JSAccessibilityTextMarkerRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAccessibilityTextMarkerRange.cpp; sourceTree = "<group>"; };
		29A8FCE1345E7021006AA5A7 /* JSAccessibilityTextMarkerRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAccessibilityTextMarkerRange.h; sourceTree = "<group>"; };
		29A8FCE4145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityTextMarkerRangeMac.mm; sourceTree = "<group>"; };
		2DCE2CD11B84524500C7F832 /* TestControllerCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = TestControllerCocoa.mm; path = cocoa/TestControllerCocoa.mm; sourceTree = "<group>"; };
		2E63ED751891ACE9002A7AFC /* AccessibilityControllerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityControllerIOS.mm; sourceTree = "<group>"; };
		2E63ED761891ACE9002A7AFC /* AccessibilityNotificationHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityNotificationHandler.h; sourceTree = "<group>"; };
		2E63ED771891ACE9002A7AFC /* AccessibilityTextMarkerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityTextMarkerIOS.mm; sourceTree = "<group>"; };
		2E63ED781891ACE9002A7AFC /* AccessibilityUIElementIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityUIElementIOS.mm; sourceTree = "<group>"; };
		2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EventSenderProxyIOS.mm; sourceTree = "<group>"; };
		2E63ED7B1891ACE9002A7AFC /* InjectedBundleIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundleIOS.mm; sourceTree = "<group>"; };
		2EE52CE01890A9A80010ED21 /* WebKitTestRunnerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WebKitTestRunnerApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
		2EE52CE21890A9A80010ED21 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		2EE52CE41890A9A80010ED21 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
		2EE52CEA1890A9A80010ED21 /* WebKitTestRunnerApp-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "WebKitTestRunnerApp-Info.plist"; path = "WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist"; sourceTree = "<group>"; };
		2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PlatformWebViewIOS.mm; sourceTree = "<group>"; };
		2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestControllerIOS.mm; sourceTree = "<group>"; };
		2EE52D151890A9FB0010ED21 /* WebArchiveDumpSupportIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebArchiveDumpSupportIOS.mm; sourceTree = "<group>"; };
		2EE52D161890A9FB0010ED21 /* mainIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = mainIOS.mm; path = ../ios/mainIOS.mm; sourceTree = "<group>"; };
		3110BE0F15BA011400D216AC /* WebNotificationProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebNotificationProvider.h; sourceTree = "<group>"; };
		3164C8EF15D1ADA100EF1FE0 /* WebNotificationProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebNotificationProvider.cpp; sourceTree = "<group>"; };
		378D442213346D00006A777B /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
		41230E16138C78BF00BCCFCA /* libWebCoreTestSupport.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = libWebCoreTestSupport.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
		4181731B138AD39D0057AAA4 /* WebCoreTestSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebCoreTestSupport.h; path = WebCoreTestSupport/WebCoreTestSupport.h; sourceTree = BUILT_PRODUCTS_DIR; };
		4429FC5E1627089600F66D8B /* WorkQueueManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkQueueManager.cpp; sourceTree = "<group>"; };
		4429FC611627089600F66D8B /* WorkQueueManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkQueueManager.h; sourceTree = "<group>"; };
		5322FB4113FDA0CD0041ABCC /* CyclicRedundancyCheck.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CyclicRedundancyCheck.cpp; sourceTree = "<group>"; };
		5322FB4213FDA0CD0041ABCC /* CyclicRedundancyCheck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CyclicRedundancyCheck.h; sourceTree = "<group>"; };
		5322FB4413FDA0EA0041ABCC /* PixelDumpSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PixelDumpSupport.cpp; sourceTree = "<group>"; };
		5322FB4513FDA0EA0041ABCC /* PixelDumpSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PixelDumpSupport.h; sourceTree = "<group>"; };
		5641E2CE14335E95008307E5 /* JSTextInputController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSTextInputController.cpp; sourceTree = "<group>"; };
		5641E2CF14335E95008307E5 /* JSTextInputController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSTextInputController.h; sourceTree = "<group>"; };
		5664A49614326377008881BE /* TextInputController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TextInputController.idl; sourceTree = "<group>"; };
		5664A49814326384008881BE /* TextInputController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextInputController.cpp; sourceTree = "<group>"; };
		5664A49914326384008881BE /* TextInputController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextInputController.h; sourceTree = "<group>"; };
		5670B8261386FC13002EB355 /* EventSenderProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventSenderProxy.h; sourceTree = "<group>"; };
		5670B8271386FCA5002EB355 /* EventSenderProxy.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EventSenderProxy.mm; sourceTree = "<group>"; };
		583913D014335E95008307E5 /* JSAccessibilityController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAccessibilityController.cpp; sourceTree = "<group>"; };
		583913D114335E95008307E5 /* JSAccessibilityController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAccessibilityController.h; sourceTree = "<group>"; };
		5C45C30E17398E290079714E /* WebArchiveDumpSupportMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebArchiveDumpSupportMac.mm; path = mac/WebArchiveDumpSupportMac.mm; sourceTree = SOURCE_ROOT; };
		5C45C31117398E480079714E /* WebArchiveDumpSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebArchiveDumpSupport.cpp; path = cf/WebArchiveDumpSupport.cpp; sourceTree = SOURCE_ROOT; };
		5C45C31217398E480079714E /* WebArchiveDumpSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebArchiveDumpSupport.h; path = cf/WebArchiveDumpSupport.h; sourceTree = SOURCE_ROOT; };
		6510A77711EC643800410867 /* AHEM____.TTF */ = {isa = PBXFileReference; lastKnownFileType = file; name = "AHEM____.TTF"; path = "fonts/AHEM____.TTF"; sourceTree = "<group>"; };
		6510A77911EC643800410867 /* WebKitWeightWatcher100.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher100.ttf; path = fonts/WebKitWeightWatcher100.ttf; sourceTree = "<group>"; };
		6510A77A11EC643800410867 /* WebKitWeightWatcher200.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher200.ttf; path = fonts/WebKitWeightWatcher200.ttf; sourceTree = "<group>"; };
		6510A77B11EC643800410867 /* WebKitWeightWatcher300.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher300.ttf; path = fonts/WebKitWeightWatcher300.ttf; sourceTree = "<group>"; };
		6510A77C11EC643800410867 /* WebKitWeightWatcher400.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher400.ttf; path = fonts/WebKitWeightWatcher400.ttf; sourceTree = "<group>"; };
		6510A77D11EC643800410867 /* WebKitWeightWatcher500.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher500.ttf; path = fonts/WebKitWeightWatcher500.ttf; sourceTree = "<group>"; };
		6510A77E11EC643800410867 /* WebKitWeightWatcher600.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher600.ttf; path = fonts/WebKitWeightWatcher600.ttf; sourceTree = "<group>"; };
		6510A77F11EC643800410867 /* WebKitWeightWatcher700.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher700.ttf; path = fonts/WebKitWeightWatcher700.ttf; sourceTree = "<group>"; };
		6510A78011EC643800410867 /* WebKitWeightWatcher800.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher800.ttf; path = fonts/WebKitWeightWatcher800.ttf; sourceTree = "<group>"; };
		6510A78111EC643800410867 /* WebKitWeightWatcher900.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher900.ttf; path = fonts/WebKitWeightWatcher900.ttf; sourceTree = "<group>"; };
		65EB859D11EC67CC0034D300 /* ActivateFonts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActivateFonts.h; sourceTree = "<group>"; };
		65EB859F11EC67CC0034D300 /* ActivateFontsCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ActivateFontsCocoa.mm; sourceTree = "<group>"; };
		8034C6611487636400AC32E9 /* AccessibilityControllerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityControllerMac.mm; sourceTree = "<group>"; };
		8097338814874A5A008156D9 /* AccessibilityNotificationHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AccessibilityNotificationHandler.h; path = mac/AccessibilityNotificationHandler.h; sourceTree = "<group>"; };
		8097338914874A5A008156D9 /* AccessibilityNotificationHandler.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AccessibilityNotificationHandler.mm; path = mac/AccessibilityNotificationHandler.mm; sourceTree = "<group>"; };
		841CC00D181185BF0042E9B6 /* Options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Options.cpp; sourceTree = "<group>"; };
		841CC00E181185BF0042E9B6 /* Options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Options.h; sourceTree = "<group>"; };
		8DD76FA10486AA7600D96B5E /* WebKitTestRunner */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = WebKitTestRunner; sourceTree = BUILT_PRODUCTS_DIR; };
		A18510271B9ADE4800744AEB /* libWebKitTestRunner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libWebKitTestRunner.a; sourceTree = BUILT_PRODUCTS_DIR; };
		A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WebKitTestRunner.xcconfig; sourceTree = "<group>"; };
		A18510391B9ADFF800744AEB /* WebKitTestRunnerApp.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WebKitTestRunnerApp.xcconfig; sourceTree = "<group>"; };
		BC14E4D8120E02D000826C0C /* GCController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GCController.h; sourceTree = "<group>"; };
		BC14E4D9120E02D000826C0C /* GCController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GCController.cpp; sourceTree = "<group>"; };
		BC14E4E1120E032000826C0C /* GCController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = GCController.idl; sourceTree = "<group>"; };
		BC14E4E8120E03D800826C0C /* JSGCController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGCController.cpp; sourceTree = "<group>"; };
		BC14E4E9120E03D800826C0C /* JSGCController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGCController.h; sourceTree = "<group>"; };
		BC25184611D15767002EBC01 /* InjectedBundleMain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundleMain.cpp; sourceTree = "<group>"; };
		BC25186211D15D54002EBC01 /* WebKitTestRunnerInjectedBundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WebKitTestRunnerInjectedBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
		BC25186311D15D54002EBC01 /* InjectedBundle-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "InjectedBundle-Info.plist"; sourceTree = "<group>"; };
		BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = InjectedBundle.xcconfig; sourceTree = "<group>"; };
		BC251A1711D16774002EBC01 /* WebKitTestRunnerPrefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitTestRunnerPrefix.h; sourceTree = "<group>"; };
		BC251A1811D16795002EBC01 /* WebKitTestRunnerLibrary.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = WebKitTestRunnerLibrary.xcconfig; sourceTree = "<group>"; };
		BC7933FF118F7C84005EA8E2 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
		BC793426118F7D3C005EA8E2 /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
		BC793427118F7DAF005EA8E2 /* DebugRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
		BC79342F118F7F19005EA8E2 /* TestController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestController.h; sourceTree = "<group>"; };
		BC793430118F7F19005EA8E2 /* TestController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TestController.cpp; sourceTree = "<group>"; };
		BC7934A411906584005EA8E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
		BC7934DD119066EC005EA8E2 /* PlatformWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformWebView.h; sourceTree = "<group>"; };
		BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PlatformWebViewMac.mm; sourceTree = "<group>"; };
		BC8C795B11D2785D004535A1 /* TestControllerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestControllerMac.mm; sourceTree = "<group>"; };
		BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundleMac.mm; sourceTree = "<group>"; };
		BC8FD8C8120E527F00F3E71A /* EventSendingController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventSendingController.h; sourceTree = "<group>"; };
		BC8FD8C9120E527F00F3E71A /* EventSendingController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventSendingController.cpp; sourceTree = "<group>"; };
		BC8FD8CB120E52B000F3E71A /* EventSendingController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = EventSendingController.idl; sourceTree = "<group>"; };
		BC8FD8D0120E545B00F3E71A /* JSEventSendingController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSEventSendingController.cpp; sourceTree = "<group>"; };
		BC8FD8D1120E545B00F3E71A /* JSEventSendingController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSEventSendingController.h; sourceTree = "<group>"; };
		BC9192041333E4F8003011DC /* TestInvocationCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TestInvocationCG.cpp; path = cg/TestInvocationCG.cpp; sourceTree = "<group>"; };
		BC952EC511F3C10F003398B4 /* DerivedSources.make */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DerivedSources.make; sourceTree = "<group>"; };
		BC952ED211F3C29F003398B4 /* TestRunner.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TestRunner.idl; sourceTree = "<group>"; };
		BC952ED311F3C318003398B4 /* CodeGeneratorTestRunner.pm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = CodeGeneratorTestRunner.pm; sourceTree = "<group>"; };
		BC952F1D11F3C652003398B4 /* JSTestRunner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSTestRunner.cpp; sourceTree = "<group>"; };
		BC952F1E11F3C652003398B4 /* JSTestRunner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSTestRunner.h; sourceTree = "<group>"; };
		BC99A4841208901A007E9F08 /* StringFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringFunctions.h; sourceTree = "<group>"; };
		BCC997A011D3C8F60017BCA2 /* InjectedBundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundle.cpp; sourceTree = "<group>"; };
		BCC997A111D3C8F60017BCA2 /* InjectedBundle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundle.h; sourceTree = "<group>"; };
		BCC997A211D3C8F60017BCA2 /* InjectedBundlePage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundlePage.cpp; sourceTree = "<group>"; };
		BCC997A311D3C8F60017BCA2 /* InjectedBundlePage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundlePage.h; sourceTree = "<group>"; };
		BCC9981611D3F51E0017BCA2 /* TestRunner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestRunner.h; sourceTree = "<group>"; };
		BCC9981711D3F51E0017BCA2 /* TestRunner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TestRunner.cpp; sourceTree = "<group>"; };
		BCD7D2F611921278006DB7EE /* TestInvocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestInvocation.h; sourceTree = "<group>"; };
		BCD7D2F711921278006DB7EE /* TestInvocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TestInvocation.cpp; sourceTree = "<group>"; };
		BCDA2B991191051F00C3BC47 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JavaScriptCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		C0CE720A1247C93300BC0EC4 /* TestRunnerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = TestRunnerMac.mm; path = mac/TestRunnerMac.mm; sourceTree = "<group>"; };
		E132AA3817CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebKitTestRunnerDraggingInfo.mm; sourceTree = "<group>"; };
		E132AA3917CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitTestRunnerDraggingInfo.h; sourceTree = "<group>"; };
		E132AA3B17CE776F00611DF0 /* WebKitTestRunnerEvent.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebKitTestRunnerEvent.mm; sourceTree = "<group>"; };
		E132AA3C17CE776F00611DF0 /* WebKitTestRunnerEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitTestRunnerEvent.h; sourceTree = "<group>"; };
		E1BA671D1742DA5A00C20251 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
		E1C642C117CBCC7300D66A3C /* PoseAsClass.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PoseAsClass.mm; sourceTree = "<group>"; };
		E1C642C217CBCC7300D66A3C /* PoseAsClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PoseAsClass.h; sourceTree = "<group>"; };
		E1C642C417CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebKitTestRunnerPasteboard.mm; sourceTree = "<group>"; };
		E1C642C517CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitTestRunnerPasteboard.h; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		2EE52CDD1890A9A80010ED21 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8DD76F9B0486AA7600D96B5E /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				51058AD51D678820009A538C /* libWebCoreTestSupport.dylib in Frameworks */,
				51058AD61D678825009A538C /* WebKit.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A18510241B9ADE4800744AEB /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		BC25186011D15D54002EBC01 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				BC25194011D15D8B002EBC01 /* JavaScriptCore.framework in Frameworks */,
				A664BC7613A5F3A9009A7B25 /* libWebCoreTestSupport.dylib in Frameworks */,
				0F5169CC1445222D00E0A9D7 /* WebKit.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		08FB7794FE84155DC02AAC07 /* WebKitTestRunner */ = {
			isa = PBXGroup;
			children = (
				0F18E71A1D6BC4BC0027E547 /* TestRunnerShared */,
				BC952EC511F3C10F003398B4 /* DerivedSources.make */,
				2EE52CEA1890A9A80010ED21 /* WebKitTestRunnerApp-Info.plist */,
				BC99CBF11207642D00FDEE76 /* Shared */,
				08FB7795FE84155DC02AAC07 /* TestRunner */,
				BC25183511D1571D002EBC01 /* InjectedBundle */,
				BC793401118F7C8A005EA8E2 /* Configurations */,
				08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */,
				BC25194411D15DBE002EBC01 /* Resources */,
				2EE52CE81890A9A80010ED21 /* WebKitTestRunnerApp */,
				2EE52CE11890A9A80010ED21 /* Frameworks */,
				1AB674ADFE9D54B511CA2CBB /* Products */,
			);
			name = WebKitTestRunner;
			sourceTree = "<group>";
		};
		08FB7795FE84155DC02AAC07 /* TestRunner */ = {
			isa = PBXGroup;
			children = (
				BC9192021333E4CD003011DC /* cg */,
				0FEB90A11905BC4A000FDBF3 /* cocoa */,
				2EE52D121890A9FB0010ED21 /* ios */,
				BC7933FE118F7C74005EA8E2 /* mac */,
				5322FB4113FDA0CD0041ABCC /* CyclicRedundancyCheck.cpp */,
				5322FB4213FDA0CD0041ABCC /* CyclicRedundancyCheck.h */,
				5670B8261386FC13002EB355 /* EventSenderProxy.h */,
				26D758E5160BECDC00268472 /* GeolocationProviderMock.cpp */,
				26D758E6160BECDD00268472 /* GeolocationProviderMock.h */,
				841CC00D181185BF0042E9B6 /* Options.cpp */,
				841CC00E181185BF0042E9B6 /* Options.h */,
				5322FB4413FDA0EA0041ABCC /* PixelDumpSupport.cpp */,
				5322FB4513FDA0EA0041ABCC /* PixelDumpSupport.h */,
				BC7934DD119066EC005EA8E2 /* PlatformWebView.h */,
				BC793430118F7F19005EA8E2 /* TestController.cpp */,
				BC79342F118F7F19005EA8E2 /* TestController.h */,
				BCD7D2F711921278006DB7EE /* TestInvocation.cpp */,
				BCD7D2F611921278006DB7EE /* TestInvocation.h */,
				0F622CE81BBB3A1A00838AD3 /* TestOptions.cpp */,
				1A3326051B75396500F89F62 /* TestOptions.h */,
				BC251A1711D16774002EBC01 /* WebKitTestRunnerPrefix.h */,
				3164C8EF15D1ADA100EF1FE0 /* WebNotificationProvider.cpp */,
				3110BE0F15BA011400D216AC /* WebNotificationProvider.h */,
				4429FC5E1627089600F66D8B /* WorkQueueManager.cpp */,
				4429FC611627089600F66D8B /* WorkQueueManager.h */,
			);
			name = TestRunner;
			sourceTree = "<group>";
		};
		08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = {
			isa = PBXGroup;
			children = (
				E1BA671D1742DA5A00C20251 /* Carbon.framework */,
				BC7934A411906584005EA8E2 /* Cocoa.framework */,
				BCDA2B991191051F00C3BC47 /* JavaScriptCore.framework */,
				41230E16138C78BF00BCCFCA /* libWebCoreTestSupport.dylib */,
				4181731B138AD39D0057AAA4 /* WebCoreTestSupport.h */,
				0F5169CA1445222D00E0A9D7 /* WebKit.framework */,
			);
			name = "External Frameworks and Libraries";
			sourceTree = "<group>";
		};
		0F18E71A1D6BC4BC0027E547 /* TestRunnerShared */ = {
			isa = PBXGroup;
			children = (
				0F18E71B1D6BC4E60027E547 /* Bindings */,
				0F73B5471BA782FE004B3EF4 /* UIScriptContext */,
			);
			name = TestRunnerShared;
			sourceTree = "<group>";
		};
		0F18E71B1D6BC4E60027E547 /* Bindings */ = {
			isa = PBXGroup;
			children = (
				0F18E7141D6BC4560027E547 /* JSWrappable.h */,
				0F18E7151D6BC4560027E547 /* JSWrapper.cpp */,
				0F18E7161D6BC4560027E547 /* JSWrapper.h */,
			);
			name = Bindings;
			sourceTree = "<group>";
		};
		0F73B5471BA782FE004B3EF4 /* UIScriptContext */ = {
			isa = PBXGroup;
			children = (
				0F73B54B1BA78350004B3EF4 /* Bindings */,
				0F73B54E1BA78954004B3EF4 /* Derived Sources */,
				0F18E6DD1D6B9AAF0027E547 /* UIScriptContext.cpp */,
				0F18E6DE1D6B9AAF0027E547 /* UIScriptContext.h */,
				0F18E6DF1D6B9AAF0027E547 /* UIScriptController.cpp */,
				0F18E6E01D6B9AAF0027E547 /* UIScriptController.h */,
			);
			name = UIScriptContext;
			sourceTree = "<group>";
		};
		0F73B54B1BA78350004B3EF4 /* Bindings */ = {
			isa = PBXGroup;
			children = (
				0F18E6E31D6B9ABF0027E547 /* UIScriptController.idl */,
			);
			name = Bindings;
			sourceTree = "<group>";
		};
		0F73B54E1BA78954004B3EF4 /* Derived Sources */ = {
			isa = PBXGroup;
			children = (
				0F73B54F1BA78968004B3EF4 /* JSUIScriptController.cpp */,
				0F73B5501BA78968004B3EF4 /* JSUIScriptController.h */,
			);
			name = "Derived Sources";
			path = DerivedSources/WebKitTestRunner;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		0FEB909D1905A75D000FDBF3 /* cocoa */ = {
			isa = PBXGroup;
			children = (
				65EB859F11EC67CC0034D300 /* ActivateFontsCocoa.mm */,
				0FEB909E1905A776000FDBF3 /* InjectedBundlePageCocoa.mm */,
			);
			path = cocoa;
			sourceTree = "<group>";
		};
		0FEB90A11905BC4A000FDBF3 /* cocoa */ = {
			isa = PBXGroup;
			children = (
				0FEB90A21905BC6A000FDBF3 /* CrashReporterInfo.h */,
				0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */,
				2DCE2CD11B84524500C7F832 /* TestControllerCocoa.mm */,
				0F87B6141BACC4B9004EC572 /* TestRunnerWKWebView.h */,
				0F87B6151BACC4B9004EC572 /* TestRunnerWKWebView.mm */,
			);
			name = cocoa;
			sourceTree = "<group>";
		};
		1AB674ADFE9D54B511CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				8DD76FA10486AA7600D96B5E /* WebKitTestRunner */,
				A18510271B9ADE4800744AEB /* libWebKitTestRunner.a */,
				2EE52CE01890A9A80010ED21 /* WebKitTestRunnerApp.app */,
				BC25186211D15D54002EBC01 /* WebKitTestRunnerInjectedBundle.bundle */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		29A8FCE0145F035D009045A6 /* Accessibility */ = {
			isa = PBXGroup;
			children = (
				29210EA2144CAAA500835BB5 /* AccessibilityController.cpp */,
				29210EA3144CAAA500835BB5 /* AccessibilityController.h */,
				8097338814874A5A008156D9 /* AccessibilityNotificationHandler.h */,
				8097338914874A5A008156D9 /* AccessibilityNotificationHandler.mm */,
				29210EB1144CACD400835BB5 /* AccessibilityTextMarker.cpp */,
				29210EB2144CACD400835BB5 /* AccessibilityTextMarker.h */,
				29210EB3144CACD400835BB5 /* AccessibilityTextMarkerMac.mm */,
				29A8FCE1145F037B009045A6 /* AccessibilityTextMarkerRange.cpp */,
				29A8FCDF145F0358009045A6 /* AccessibilityTextMarkerRange.h */,
				29210EA9144CACB200835BB5 /* AccessibilityUIElement.cpp */,
				29210EAA144CACB200835BB5 /* AccessibilityUIElement.h */,
			);
			name = Accessibility;
			sourceTree = "<group>";
		};
		2E63ED741891ACE9002A7AFC /* ios */ = {
			isa = PBXGroup;
			children = (
				2E63ED751891ACE9002A7AFC /* AccessibilityControllerIOS.mm */,
				2E63ED761891ACE9002A7AFC /* AccessibilityNotificationHandler.h */,
				2E63ED771891ACE9002A7AFC /* AccessibilityTextMarkerIOS.mm */,
				2E63ED781891ACE9002A7AFC /* AccessibilityUIElementIOS.mm */,
				2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */,
				2E63ED7B1891ACE9002A7AFC /* InjectedBundleIOS.mm */,
			);
			path = ios;
			sourceTree = "<group>";
		};
		2EE52CE11890A9A80010ED21 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				2EE52CE41890A9A80010ED21 /* CoreGraphics.framework */,
				2EE52CE21890A9A80010ED21 /* Foundation.framework */,
				0F73B5571BA7929E004B3EF4 /* JavaScriptCore.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		2EE52CE81890A9A80010ED21 /* WebKitTestRunnerApp */ = {
			isa = PBXGroup;
			children = (
				0F4B08721D5BE88D00EC1B78 /* Launch.storyboard */,
				2EE52D161890A9FB0010ED21 /* mainIOS.mm */,
			);
			path = WebKitTestRunnerApp;
			sourceTree = "<group>";
		};
		2EE52D121890A9FB0010ED21 /* ios */ = {
			isa = PBXGroup;
			children = (
				0FEBF8581BB61DF20028722D /* HIDEventGenerator.h */,
				0FEBF8591BB61DF20028722D /* HIDEventGenerator.mm */,
				0FEBF85B1BB62A370028722D /* IOKitSPI.h */,
				2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */,
				2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */,
				0FEBF85C1BB62D460028722D /* UIKitSPI.h */,
				0F73B55B1BA89042004B3EF4 /* UIScriptControllerIOS.mm */,
				2EE52D151890A9FB0010ED21 /* WebArchiveDumpSupportIOS.mm */,
			);
			path = ios;
			sourceTree = "<group>";
		};
		5C45C31017398E370079714E /* cf */ = {
			isa = PBXGroup;
			children = (
				5C45C31117398E480079714E /* WebArchiveDumpSupport.cpp */,
				5C45C31217398E480079714E /* WebArchiveDumpSupport.h */,
			);
			name = cf;
			sourceTree = "<group>";
		};
		65EB859E11EC67CC0034D300 /* mac */ = {
			isa = PBXGroup;
			children = (
				29210EAB144CACB200835BB6 /* AccessibilityCommonMac.mm */,
				8034C6611487636400AC32E9 /* AccessibilityControllerMac.mm */,
				29A8FCE4145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm */,
				29210EAB144CACB200835BB5 /* AccessibilityUIElementMac.mm */,
				BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */,
				5C45C30E17398E290079714E /* WebArchiveDumpSupportMac.mm */,
			);
			path = mac;
			sourceTree = "<group>";
		};
		BC14E4E0120E02F900826C0C /* Controllers */ = {
			isa = PBXGroup;
			children = (
				29A8FCE0145F035D009045A6 /* Accessibility */,
				BC8FD8C9120E527F00F3E71A /* EventSendingController.cpp */,
				BC8FD8C8120E527F00F3E71A /* EventSendingController.h */,
				BC14E4D9120E02D000826C0C /* GCController.cpp */,
				BC14E4D8120E02D000826C0C /* GCController.h */,
				BCC9981711D3F51E0017BCA2 /* TestRunner.cpp */,
				BCC9981611D3F51E0017BCA2 /* TestRunner.h */,
				C0CE720A1247C93300BC0EC4 /* TestRunnerMac.mm */,
				5664A49814326384008881BE /* TextInputController.cpp */,
				5664A49914326384008881BE /* TextInputController.h */,
			);
			name = Controllers;
			sourceTree = "<group>";
		};
		BC25183511D1571D002EBC01 /* InjectedBundle */ = {
			isa = PBXGroup;
			children = (
				BC952C0A11F3B939003398B4 /* Bindings */,
				5C45C31017398E370079714E /* cf */,
				0FEB909D1905A75D000FDBF3 /* cocoa */,
				BC14E4E0120E02F900826C0C /* Controllers */,
				BC952D3A11F3BF1F003398B4 /* Derived Sources */,
				2E63ED741891ACE9002A7AFC /* ios */,
				65EB859E11EC67CC0034D300 /* mac */,
				65EB859D11EC67CC0034D300 /* ActivateFonts.h */,
				BCC997A011D3C8F60017BCA2 /* InjectedBundle.cpp */,
				BCC997A111D3C8F60017BCA2 /* InjectedBundle.h */,
				BC25184611D15767002EBC01 /* InjectedBundleMain.cpp */,
				BCC997A211D3C8F60017BCA2 /* InjectedBundlePage.cpp */,
				BCC997A311D3C8F60017BCA2 /* InjectedBundlePage.h */,
			);
			path = InjectedBundle;
			sourceTree = "<group>";
		};
		BC25194411D15DBE002EBC01 /* Resources */ = {
			isa = PBXGroup;
			children = (
				6510A77711EC643800410867 /* AHEM____.TTF */,
				1CA211C71BCA107300B2101F /* FontWithFeatures.otf */,
				1CA211C81BCA107300B2101F /* FontWithFeatures.ttf */,
				BC25186311D15D54002EBC01 /* InjectedBundle-Info.plist */,
				6510A77911EC643800410867 /* WebKitWeightWatcher100.ttf */,
				6510A77A11EC643800410867 /* WebKitWeightWatcher200.ttf */,
				6510A77B11EC643800410867 /* WebKitWeightWatcher300.ttf */,
				6510A77C11EC643800410867 /* WebKitWeightWatcher400.ttf */,
				6510A77D11EC643800410867 /* WebKitWeightWatcher500.ttf */,
				6510A77E11EC643800410867 /* WebKitWeightWatcher600.ttf */,
				6510A77F11EC643800410867 /* WebKitWeightWatcher700.ttf */,
				6510A78011EC643800410867 /* WebKitWeightWatcher800.ttf */,
				6510A78111EC643800410867 /* WebKitWeightWatcher900.ttf */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		BC7933FE118F7C74005EA8E2 /* mac */ = {
			isa = PBXGroup;
			children = (
				5670B8271386FCA5002EB355 /* EventSenderProxy.mm */,
				BC7933FF118F7C84005EA8E2 /* main.mm */,
				BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */,
				E1C642C217CBCC7300D66A3C /* PoseAsClass.h */,
				E1C642C117CBCC7300D66A3C /* PoseAsClass.mm */,
				BC8C795B11D2785D004535A1 /* TestControllerMac.mm */,
				0F87B6111BACAD6F004EC572 /* UIScriptControllerMac.mm */,
				E132AA3917CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.h */,
				E132AA3817CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm */,
				E132AA3C17CE776F00611DF0 /* WebKitTestRunnerEvent.h */,
				E132AA3B17CE776F00611DF0 /* WebKitTestRunnerEvent.mm */,
				E1C642C517CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.h */,
				E1C642C417CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm */,
			);
			path = mac;
			sourceTree = "<group>";
		};
		BC793401118F7C8A005EA8E2 /* Configurations */ = {
			isa = PBXGroup;
			children = (
				BC793426118F7D3C005EA8E2 /* Base.xcconfig */,
				0F2109C7189C650D00F879A3 /* BaseTarget.xcconfig */,
				BC793427118F7DAF005EA8E2 /* DebugRelease.xcconfig */,
				BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */,
				A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */,
				A18510391B9ADFF800744AEB /* WebKitTestRunnerApp.xcconfig */,
				BC251A1811D16795002EBC01 /* WebKitTestRunnerLibrary.xcconfig */,
			);
			path = Configurations;
			sourceTree = "<group>";
		};
		BC9192021333E4CD003011DC /* cg */ = {
			isa = PBXGroup;
			children = (
				BC9192041333E4F8003011DC /* TestInvocationCG.cpp */,
			);
			name = cg;
			sourceTree = "<group>";
		};
		BC952C0A11F3B939003398B4 /* Bindings */ = {
			isa = PBXGroup;
			children = (
				29210EA8144CAB8800835BB5 /* AccessibilityController.idl */,
				29A8FCC5145B93C6009045A6 /* AccessibilityTextMarker.idl */,
				29A8FCD2145EF8F2009045A6 /* AccessibilityTextMarkerRange.idl */,
				29210EDC144CD56E00835BB5 /* AccessibilityUIElement.idl */,
				BC952ED311F3C318003398B4 /* CodeGeneratorTestRunner.pm */,
				BC8FD8CB120E52B000F3E71A /* EventSendingController.idl */,
				BC14E4E1120E032000826C0C /* GCController.idl */,
				BC952ED211F3C29F003398B4 /* TestRunner.idl */,
				5664A49614326377008881BE /* TextInputController.idl */,
			);
			path = Bindings;
			sourceTree = "<group>";
		};
		BC952D3A11F3BF1F003398B4 /* Derived Sources */ = {
			isa = PBXGroup;
			children = (
				583913D014335E95008307E5 /* JSAccessibilityController.cpp */,
				583913D114335E95008307E5 /* JSAccessibilityController.h */,
				29210EE1144CDE6789815EE5 /* JSAccessibilityTextMarker.cpp */,
				29210EE1145CDE6789815EE5 /* JSAccessibilityTextMarker.h */,
				29A8FCE1345E7021006AA5A6 /* JSAccessibilityTextMarkerRange.cpp */,
				29A8FCE1345E7021006AA5A7 /* JSAccessibilityTextMarkerRange.h */,
				29210EDB146727E711835BB5 /* JSAccessibilityUIElement.cpp */,
				29210EDB146727E811835BB5 /* JSAccessibilityUIElement.h */,
				BC8FD8D0120E545B00F3E71A /* JSEventSendingController.cpp */,
				BC8FD8D1120E545B00F3E71A /* JSEventSendingController.h */,
				BC14E4E8120E03D800826C0C /* JSGCController.cpp */,
				BC14E4E9120E03D800826C0C /* JSGCController.h */,
				BC952F1D11F3C652003398B4 /* JSTestRunner.cpp */,
				BC952F1E11F3C652003398B4 /* JSTestRunner.h */,
				5641E2CE14335E95008307E5 /* JSTextInputController.cpp */,
				5641E2CF14335E95008307E5 /* JSTextInputController.h */,
			);
			name = "Derived Sources";
			path = DerivedSources/WebKitTestRunner;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		BC99CBF11207642D00FDEE76 /* Shared */ = {
			isa = PBXGroup;
			children = (
				378D442213346D00006A777B /* config.h */,
				BC99A4841208901A007E9F08 /* StringFunctions.h */,
			);
			name = Shared;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		A18510251B9ADE4800744AEB /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0F73B5521BA78968004B3EF4 /* JSUIScriptController.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 2EE52D0F1890A9A90010ED21 /* Build configuration list for PBXNativeTarget "WebKitTestRunnerApp" */;
			buildPhases = (
				2EE52CDC1890A9A80010ED21 /* Sources */,
				2EE52CDD1890A9A80010ED21 /* Frameworks */,
				2EE52CDE1890A9A80010ED21 /* Resources */,
				CEC209031D36E36A00261596 /* Copy Plug-Ins */,
			);
			buildRules = (
			);
			dependencies = (
				A18510361B9ADE6D00744AEB /* PBXTargetDependency */,
			);
			name = WebKitTestRunnerApp;
			productName = WebKitTestRunnerApp;
			productReference = 2EE52CE01890A9A80010ED21 /* WebKitTestRunnerApp.app */;
			productType = "com.apple.product-type.application";
		};
		8DD76F960486AA7600D96B5E /* WebKitTestRunner */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "WebKitTestRunner" */;
			buildPhases = (
				8DD76F990486AA7600D96B5E /* Sources */,
				8DD76F9B0486AA7600D96B5E /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				A18510341B9ADE6200744AEB /* PBXTargetDependency */,
			);
			name = WebKitTestRunner;
			productInstallPath = "$(HOME)/bin";
			productName = WebKitTestRunner;
			productReference = 8DD76FA10486AA7600D96B5E /* WebKitTestRunner */;
			productType = "com.apple.product-type.tool";
		};
		A18510261B9ADE4800744AEB /* WebKitTestRunner (Library) */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A185102D1B9ADE4800744AEB /* Build configuration list for PBXNativeTarget "WebKitTestRunner (Library)" */;
			buildPhases = (
				A18510231B9ADE4800744AEB /* Sources */,
				A18510241B9ADE4800744AEB /* Frameworks */,
				A18510251B9ADE4800744AEB /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
				A18510321B9ADE5B00744AEB /* PBXTargetDependency */,
			);
			name = "WebKitTestRunner (Library)";
			productName = WebKitTestRunnerLibrary;
			productReference = A18510271B9ADE4800744AEB /* libWebKitTestRunner.a */;
			productType = "com.apple.product-type.library.static";
		};
		BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = BC25186611D15D55002EBC01 /* Build configuration list for PBXNativeTarget "WebKitTestRunnerInjectedBundle" */;
			buildPhases = (
				BC25185E11D15D54002EBC01 /* Resources */,
				BC25185F11D15D54002EBC01 /* Sources */,
				BC25186011D15D54002EBC01 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				BC952ED711F3C38B003398B4 /* PBXTargetDependency */,
			);
			name = WebKitTestRunnerInjectedBundle;
			productName = InjectedBundle;
			productReference = BC25186211D15D54002EBC01 /* WebKitTestRunnerInjectedBundle.bundle */;
			productType = "com.apple.product-type.bundle";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		08FB7793FE84155DC02AAC07 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0700;
				TargetAttributes = {
					A115CCB41B9D769D00E89159 = {
						CreatedOnToolsVersion = 7.0;
					};
					A18510261B9ADE4800744AEB = {
						CreatedOnToolsVersion = 7.0;
					};
				};
			};
			buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "WebKitTestRunner" */;
			compatibilityVersion = "Xcode 3.1";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
				Japanese,
				French,
				German,
				en,
			);
			mainGroup = 08FB7794FE84155DC02AAC07 /* WebKitTestRunner */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				A115CCB41B9D769D00E89159 /* All */,
				8DD76F960486AA7600D96B5E /* WebKitTestRunner */,
				2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */,
				BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */,
				BC952D7711F3BF5D003398B4 /* Derived Sources */,
				A18510261B9ADE4800744AEB /* WebKitTestRunner (Library) */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		2EE52CDE1890A9A80010ED21 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0F4B08731D5BE88D00EC1B78 /* Launch.storyboard in Resources */,
				0F18E6E41D6B9ABF0027E547 /* UIScriptController.idl in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		BC25185E11D15D54002EBC01 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				6510A78211EC643800410867 /* AHEM____.TTF in Resources */,
				1CA211C91BCA107300B2101F /* FontWithFeatures.otf in Resources */,
				1CA211CA1BCA107300B2101F /* FontWithFeatures.ttf in Resources */,
				6510A78411EC643800410867 /* WebKitWeightWatcher100.ttf in Resources */,
				6510A78511EC643800410867 /* WebKitWeightWatcher200.ttf in Resources */,
				6510A78611EC643800410867 /* WebKitWeightWatcher300.ttf in Resources */,
				6510A78711EC643800410867 /* WebKitWeightWatcher400.ttf in Resources */,
				6510A78811EC643800410867 /* WebKitWeightWatcher500.ttf in Resources */,
				6510A78911EC643800410867 /* WebKitWeightWatcher600.ttf in Resources */,
				6510A78A11EC643800410867 /* WebKitWeightWatcher700.ttf in Resources */,
				6510A78B11EC643800410867 /* WebKitWeightWatcher800.ttf in Resources */,
				6510A78C11EC643800410867 /* WebKitWeightWatcher900.ttf in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		BC952D8211F3BF78003398B4 /* Generate Derived Sources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Generate Derived Sources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "mkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKitTestRunner\"\ncd \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKitTestRunner\"\n\nexport WebKitTestRunner=\"${SRCROOT}\"\nexport WebCoreScripts=\"${WEBCORE_PRIVATE_HEADERS_DIR}\"\n\nif [ ! $CC ]; then\n    export CC=\"`xcrun -find clang`\"\nfi\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" ]; then\n    make -f \"${WebKitTestRunner}/DerivedSources.make\" -j `/usr/sbin/sysctl -n hw.activecpu`\nfi\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		2EE52CDC1890A9A80010ED21 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2E749BF21891EBFA007FC175 /* EventSenderProxyIOS.mm in Sources */,
				0FEBF85A1BB61DF20028722D /* HIDEventGenerator.mm in Sources */,
				2E63ED941891ADAD002A7AFC /* mainIOS.mm in Sources */,
				2E63ED911891ADAD002A7AFC /* PlatformWebViewIOS.mm in Sources */,
				2E63ED921891ADAD002A7AFC /* TestControllerIOS.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8DD76F990486AA7600D96B5E /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				5670B8281386FCA5002EB355 /* EventSenderProxy.mm in Sources */,
				BC793400118F7C84005EA8E2 /* main.mm in Sources */,
				BC7934E811906846005EA8E2 /* PlatformWebViewMac.mm in Sources */,
				E1C642C317CBCC7300D66A3C /* PoseAsClass.mm in Sources */,
				BC8C795C11D2785D004535A1 /* TestControllerMac.mm in Sources */,
				0F87B6131BACAD82004EC572 /* UIScriptControllerMac.mm in Sources */,
				E132AA3A17CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm in Sources */,
				E132AA3D17CE776F00611DF0 /* WebKitTestRunnerEvent.mm in Sources */,
				E1C642C617CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A18510231B9ADE4800744AEB /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A185103A1B9AE0DA00744AEB /* CrashReporterInfo.mm in Sources */,
				A185103E1B9AE12200744AEB /* CyclicRedundancyCheck.cpp in Sources */,
				A185103F1B9AE12900744AEB /* GeolocationProviderMock.cpp in Sources */,
				0F73B5511BA78968004B3EF4 /* JSUIScriptController.cpp in Sources */,
				0F18E7181D6BC4560027E547 /* JSWrapper.cpp in Sources */,
				A185103C1B9AE0FE00744AEB /* Options.cpp in Sources */,
				A18510401B9AE13100744AEB /* PixelDumpSupport.cpp in Sources */,
				A18510411B9AE13800744AEB /* TestController.cpp in Sources */,
				A185103B1B9AE0E200744AEB /* TestControllerCocoa.mm in Sources */,
				A18510421B9AE13E00744AEB /* TestInvocation.cpp in Sources */,
				A185103D1B9AE10600744AEB /* TestInvocationCG.cpp in Sources */,
				0F622CE91BBB3A1A00838AD3 /* TestOptions.cpp in Sources */,
				0F87B6171BACC4C0004EC572 /* TestRunnerWKWebView.mm in Sources */,
				0F18E6E51D6B9B9E0027E547 /* UIScriptContext.cpp in Sources */,
				0F18E6E61D6B9BA20027E547 /* UIScriptController.cpp in Sources */,
				0F73B55C1BA89042004B3EF4 /* UIScriptControllerIOS.mm in Sources */,
				A18510431B9AE14500744AEB /* WebNotificationProvider.cpp in Sources */,
				A18510441B9AE14A00744AEB /* WorkQueueManager.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		BC25185F11D15D54002EBC01 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				29210EDA144CC3EA00835BB6 /* AccessibilityCommonMac.mm in Sources */,
				29210EB0144CACBD00835BB5 /* AccessibilityController.cpp in Sources */,
				2E63ED8A1891AD7E002A7AFC /* AccessibilityControllerIOS.mm in Sources */,
				8034C6621487636400AC32E9 /* AccessibilityControllerMac.mm in Sources */,
				8097338A14874A5A008156D9 /* AccessibilityNotificationHandler.mm in Sources */,
				29210EB4144CACD500835BB5 /* AccessibilityTextMarker.cpp in Sources */,
				2E63ED8B1891AD7E002A7AFC /* AccessibilityTextMarkerIOS.mm in Sources */,
				29210EB5144CACD500835BB5 /* AccessibilityTextMarkerMac.mm in Sources */,
				29A8FCE2145F037B009045A6 /* AccessibilityTextMarkerRange.cpp in Sources */,
				29A8FCE5145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm in Sources */,
				29210EAE144CACB700835BB5 /* AccessibilityUIElement.cpp in Sources */,
				2E63EDA11891B291002A7AFC /* AccessibilityUIElementIOS.mm in Sources */,
				29210EDA144CC3EA00835BB5 /* AccessibilityUIElementMac.mm in Sources */,
				65EB85A011EC67CC0034D300 /* ActivateFontsCocoa.mm in Sources */,
				0FEB90A51905C016000FDBF3 /* CrashReporterInfo.mm in Sources */,
				2E63ED8E1891AD7E002A7AFC /* EventSenderProxyIOS.mm in Sources */,
				BC8FD8CA120E527F00F3E71A /* EventSendingController.cpp in Sources */,
				BC14E4DB120E02D000826C0C /* GCController.cpp in Sources */,
				BCC997A411D3C8F60017BCA2 /* InjectedBundle.cpp in Sources */,
				2E63ED8F1891AD7E002A7AFC /* InjectedBundleIOS.mm in Sources */,
				BC8DAD7B1316D91000EC96FC /* InjectedBundleMac.mm in Sources */,
				BC251A3E11D16831002EBC01 /* InjectedBundleMain.cpp in Sources */,
				BCC997A511D3C8F60017BCA2 /* InjectedBundlePage.cpp in Sources */,
				0FEB90A01905A834000FDBF3 /* InjectedBundlePageCocoa.mm in Sources */,
				29210EDB144CD47900835BB5 /* JSAccessibilityController.cpp in Sources */,
				29A8FCCB145EF02E009045A6 /* JSAccessibilityTextMarker.cpp in Sources */,
				29A8FCDD145F0337009045A6 /* JSAccessibilityTextMarkerRange.cpp in Sources */,
				29210EE1144CDB2600835BB5 /* JSAccessibilityUIElement.cpp in Sources */,
				BC8FD8D2120E545B00F3E71A /* JSEventSendingController.cpp in Sources */,
				BC14E4EA120E03D800826C0C /* JSGCController.cpp in Sources */,
				BC952F1F11F3C652003398B4 /* JSTestRunner.cpp in Sources */,
				5641E2D014335E95008307E5 /* JSTextInputController.cpp in Sources */,
				0F6E89031D6BC5A2008ED0FA /* JSWrapper.cpp in Sources */,
				2E63EDA61891BDC0002A7AFC /* TestRunner.cpp in Sources */,
				C0CE720B1247C93300BC0EC4 /* TestRunnerMac.mm in Sources */,
				5664A49A14326384008881BE /* TextInputController.cpp in Sources */,
				5C45C31317398E480079714E /* WebArchiveDumpSupport.cpp in Sources */,
				2E63ED9E1891AEC1002A7AFC /* WebArchiveDumpSupportIOS.mm in Sources */,
				5C45C30F17398E290079714E /* WebArchiveDumpSupportMac.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		A115CCBA1B9D76BF00E89159 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8DD76F960486AA7600D96B5E /* WebKitTestRunner */;
			targetProxy = A115CCB91B9D76BF00E89159 /* PBXContainerItemProxy */;
		};
		A115CCBC1B9D76C400E89159 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */;
			targetProxy = A115CCBB1B9D76C400E89159 /* PBXContainerItemProxy */;
		};
		A18510321B9ADE5B00744AEB /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */;
			targetProxy = A18510311B9ADE5B00744AEB /* PBXContainerItemProxy */;
		};
		A18510341B9ADE6200744AEB /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = A18510261B9ADE4800744AEB /* WebKitTestRunner (Library) */;
			targetProxy = A18510331B9ADE6200744AEB /* PBXContainerItemProxy */;
		};
		A18510361B9ADE6D00744AEB /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = A18510261B9ADE4800744AEB /* WebKitTestRunner (Library) */;
			targetProxy = A18510351B9ADE6D00744AEB /* PBXContainerItemProxy */;
		};
		BC952ED711F3C38B003398B4 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = BC952D7711F3BF5D003398B4 /* Derived Sources */;
			targetProxy = BC952ED611F3C38B003398B4 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		1DEB927508733DD40010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		1DEB927608733DD40010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		1DEB927908733DD40010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC793427118F7DAF005EA8E2 /* DebugRelease.xcconfig */;
			buildSettings = {
				DEBUG_DEFINES = "$(DEBUG_DEFINES_debug)";
				GCC_OPTIMIZATION_LEVEL = 0;
			};
			name = Debug;
		};
		1DEB927A08733DD40010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC793427118F7DAF005EA8E2 /* DebugRelease.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		2EE52D091890A9A90010ED21 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510391B9ADFF800744AEB /* WebKitTestRunnerApp.xcconfig */;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				INFOPLIST_FILE = "WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Debug;
		};
		2EE52D0A1890A9A90010ED21 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510391B9ADFF800744AEB /* WebKitTestRunnerApp.xcconfig */;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
				INFOPLIST_FILE = "WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Release;
		};
		2EE52D0B1890A9A90010ED21 /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510391B9ADFF800744AEB /* WebKitTestRunnerApp.xcconfig */;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
				INFOPLIST_FILE = "WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Production;
		};
		A115CCB61B9D769D00E89159 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		A115CCB71B9D769D00E89159 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		A115CCB81B9D769D00E89159 /* Production */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Production;
		};
		A185102E1B9ADE4800744AEB /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC251A1811D16795002EBC01 /* WebKitTestRunnerLibrary.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		A185102F1B9ADE4800744AEB /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC251A1811D16795002EBC01 /* WebKitTestRunnerLibrary.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		A18510301B9ADE4800744AEB /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC251A1811D16795002EBC01 /* WebKitTestRunnerLibrary.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		BC25186411D15D55002EBC01 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		BC25186511D15D55002EBC01 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		BC646D6D136A3A8700B35DED /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC793426118F7D3C005EA8E2 /* Base.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		BC646D6E136A3A8700B35DED /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		BC646D6F136A3A8700B35DED /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		BC646D70136A3A8700B35DED /* Production */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "Derived Sources";
			};
			name = Production;
		};
		BC952D7811F3BF5E003398B4 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "Derived Sources";
			};
			name = Debug;
		};
		BC952D7911F3BF5E003398B4 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "Derived Sources";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "WebKitTestRunner" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB927508733DD40010E9CD /* Debug */,
				1DEB927608733DD40010E9CD /* Release */,
				BC646D6E136A3A8700B35DED /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "WebKitTestRunner" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB927908733DD40010E9CD /* Debug */,
				1DEB927A08733DD40010E9CD /* Release */,
				BC646D6D136A3A8700B35DED /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		2EE52D0F1890A9A90010ED21 /* Build configuration list for PBXNativeTarget "WebKitTestRunnerApp" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				2EE52D091890A9A90010ED21 /* Debug */,
				2EE52D0A1890A9A90010ED21 /* Release */,
				2EE52D0B1890A9A90010ED21 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		A115CCB51B9D769D00E89159 /* Build configuration list for PBXAggregateTarget "All" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A115CCB61B9D769D00E89159 /* Debug */,
				A115CCB71B9D769D00E89159 /* Release */,
				A115CCB81B9D769D00E89159 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		A185102D1B9ADE4800744AEB /* Build configuration list for PBXNativeTarget "WebKitTestRunner (Library)" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A185102E1B9ADE4800744AEB /* Debug */,
				A185102F1B9ADE4800744AEB /* Release */,
				A18510301B9ADE4800744AEB /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		BC25186611D15D55002EBC01 /* Build configuration list for PBXNativeTarget "WebKitTestRunnerInjectedBundle" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				BC25186411D15D55002EBC01 /* Debug */,
				BC25186511D15D55002EBC01 /* Release */,
				BC646D6F136A3A8700B35DED /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		BC952D7D11F3BF6A003398B4 /* Build configuration list for PBXAggregateTarget "Derived Sources" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				BC952D7811F3BF5E003398B4 /* Debug */,
				BC952D7911F3BF5E003398B4 /* Release */,
				BC646D70136A3A8700B35DED /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
/* End XCConfigurationList section */
	};
	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
}
