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

/* Begin PBXAggregateTarget section */
		5325BDD921DFF4F500A0DEE1 /* Apply Configuration to XCFileLists */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = 5325BDDD21DFF4F500A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */;
			buildPhases = (
				5325BDDE21DFF4F800A0DEE1 /* ShellScript */,
			);
			dependencies = (
			);
			name = "Apply Configuration to XCFileLists";
			productName = "Apply Configuration to XCFileLists";
		};
		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 */
		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 */; };
		1CBA02961FD87DEC00179C7D /* FakeHelvetica-Helvetica2-500.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1CBA02951FD86EA100179C7D /* FakeHelvetica-Helvetica2-500.ttf */; };
		1CBA02971FD87DEE00179C7D /* FakeHelvetica-Helvetica2-400.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1CBA02921FD86EA100179C7D /* FakeHelvetica-Helvetica2-400.ttf */; };
		1CBA02981FD87DF000179C7D /* FakeHelvetica-Helvetica-500.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1CBA02931FD86EA100179C7D /* FakeHelvetica-Helvetica-500.ttf */; };
		1CBA02991FD87DF300179C7D /* FakeHelvetica-Helvetica-400.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1CBA02941FD86EA100179C7D /* FakeHelvetica-Helvetica-400.ttf */; };
		1CEA84DD203782ED00440D08 /* FakeHelvetica-ArmenianCharacter.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1CEA84DC203782ED00440D08 /* FakeHelvetica-ArmenianCharacter.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 */; };
		2D058E0922E2EE2200E4C145 /* UIScriptControllerCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D058E0822E2EE2200E4C145 /* UIScriptControllerCocoa.h */; };
		2D058E0B22E2EF6D00E4C145 /* UIScriptControllerMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D058E0A22E2EF6D00E4C145 /* UIScriptControllerMac.h */; };
		2DB6187E1D7D58D400978D19 /* CoreGraphicsTestSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DB6187D1D7D58D400978D19 /* CoreGraphicsTestSPI.h */; };
		2DD4C49A1D6E7D3B0007379C /* EventSerializerMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DD4C4981D6E7D3B0007379C /* EventSerializerMac.h */; };
		2DD4C49B1D6E7D3B0007379C /* EventSerializerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DD4C4991D6E7D3B0007379C /* EventSerializerMac.mm */; };
		2DFA98481D7F70CF00AFF2C9 /* SharedEventStreamsMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DFA98461D7F70CF00AFF2C9 /* SharedEventStreamsMac.h */; };
		2DFA98491D7F70CF00AFF2C9 /* SharedEventStreamsMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DFA98471D7F70CF00AFF2C9 /* SharedEventStreamsMac.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 */; };
		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 */; };
		31DA8A3D1E7205CC00E1DF2F /* IOSLayoutTestCommunication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3148A0531E6F85B600D3B316 /* IOSLayoutTestCommunication.cpp */; };
		41C5378E21F13414008B1FAD /* TestWebsiteDataStoreDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 41C5378D21F1333C008B1FAD /* TestWebsiteDataStoreDelegate.mm */; };
		41D5B62622DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 41D5B62522DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.ttf */; };
		4430AE191F82C4FD0099915A /* GeneratedTouchesDebugWindow.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4430AE171F82C4EE0099915A /* GeneratedTouchesDebugWindow.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 */; };
		57A0062E22976EEB00AD08BD /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 570E75A42152DA2C00324B6E /* Security.framework */; };
		57A0062F22976EF800AD08BD /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 570E75A42152DA2C00324B6E /* Security.framework */; };
		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 */; };
		9376417A210D737200A3DAAE /* WebKitTestRunnerWindow.mm in Sources */ = {isa = PBXBuildFile; fileRef = 93764176210D736000A3DAAE /* WebKitTestRunnerWindow.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 */; };
		F44A531721B899E200DBB99C /* ClassMethodSwizzler.mm in Sources */ = {isa = PBXBuildFile; fileRef = F44A531421B899DA00DBB99C /* ClassMethodSwizzler.mm */; };
		F44A531821B899E500DBB99C /* InstanceMethodSwizzler.mm in Sources */ = {isa = PBXBuildFile; fileRef = F44A531621B899DA00DBB99C /* InstanceMethodSwizzler.mm */; };
		F46240B1217013E500917B16 /* UIScriptControllerCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = F46240AF2170128300917B16 /* UIScriptControllerCocoa.mm */; };
		F4C3578C20E8444600FA0748 /* LayoutTestSpellChecker.mm in Sources */ = {isa = PBXBuildFile; fileRef = F4C3578A20E8444000FA0748 /* LayoutTestSpellChecker.mm */; };
		F4FED324235823A3003C139C /* NSPasteboardAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = F4FED3222358215E003C139C /* NSPasteboardAdditions.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; path = TestRunnerWKWebView.h; sourceTree = "<group>"; };
		0F87B6151BACC4B9004EC572 /* TestRunnerWKWebView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = 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; path = CrashReporterInfo.h; sourceTree = "<group>"; };
		0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = 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>"; };
		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>"; };
		1CBA02921FD86EA100179C7D /* FakeHelvetica-Helvetica2-400.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "FakeHelvetica-Helvetica2-400.ttf"; path = "fonts/FakeHelvetica-Helvetica2-400.ttf"; sourceTree = "<group>"; };
		1CBA02931FD86EA100179C7D /* FakeHelvetica-Helvetica-500.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "FakeHelvetica-Helvetica-500.ttf"; path = "fonts/FakeHelvetica-Helvetica-500.ttf"; sourceTree = "<group>"; };
		1CBA02941FD86EA100179C7D /* FakeHelvetica-Helvetica-400.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "FakeHelvetica-Helvetica-400.ttf"; path = "fonts/FakeHelvetica-Helvetica-400.ttf"; sourceTree = "<group>"; };
		1CBA02951FD86EA100179C7D /* FakeHelvetica-Helvetica2-500.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "FakeHelvetica-Helvetica2-500.ttf"; path = "fonts/FakeHelvetica-Helvetica2-500.ttf"; sourceTree = "<group>"; };
		1CEA84DC203782ED00440D08 /* FakeHelvetica-ArmenianCharacter.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "FakeHelvetica-ArmenianCharacter.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>"; };
		299E2AA41E3DEE140065DC30 /* AccessibilityCommonMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityCommonMac.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>"; };
		2D058E0822E2EE2200E4C145 /* UIScriptControllerCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIScriptControllerCocoa.h; sourceTree = "<group>"; };
		2D058E0A22E2EF6D00E4C145 /* UIScriptControllerMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIScriptControllerMac.h; sourceTree = "<group>"; };
		2D0BEE1722EAD1360092B738 /* UIScriptControllerIOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIScriptControllerIOS.h; sourceTree = "<group>"; };
		2D0FF14A2192C78300C975D6 /* PencilKitTestSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PencilKitTestSPI.h; path = ../TestRunnerShared/spi/PencilKitTestSPI.h; sourceTree = "<group>"; };
		2DB6187D1D7D58D400978D19 /* CoreGraphicsTestSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CoreGraphicsTestSPI.h; path = ../TestRunnerShared/spi/CoreGraphicsTestSPI.h; sourceTree = "<group>"; };
		2DCE2CD11B84524500C7F832 /* TestControllerCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestControllerCocoa.mm; sourceTree = "<group>"; };
		2DD4C4981D6E7D3B0007379C /* EventSerializerMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EventSerializerMac.h; path = mac/EventSerializerMac.h; sourceTree = "<group>"; };
		2DD4C4991D6E7D3B0007379C /* EventSerializerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = EventSerializerMac.mm; path = mac/EventSerializerMac.mm; sourceTree = "<group>"; };
		2DFA98461D7F70CF00AFF2C9 /* SharedEventStreamsMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SharedEventStreamsMac.h; path = mac/SharedEventStreamsMac.h; sourceTree = "<group>"; };
		2DFA98471D7F70CF00AFF2C9 /* SharedEventStreamsMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SharedEventStreamsMac.mm; path = mac/SharedEventStreamsMac.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>"; };
		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>"; };
		311183AA212B1AC70077BCE0 /* WebKitTestRunnerApp-watchOS.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = "WebKitTestRunnerApp-watchOS.entitlements"; sourceTree = "<group>"; };
		3148A0531E6F85B600D3B316 /* IOSLayoutTestCommunication.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IOSLayoutTestCommunication.cpp; path = ../TestRunnerShared/IOSLayoutTestCommunication.cpp; sourceTree = "<group>"; };
		3148A0541E6F85B600D3B316 /* IOSLayoutTestCommunication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IOSLayoutTestCommunication.h; path = ../TestRunnerShared/IOSLayoutTestCommunication.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; };
		41C5378C21F1333C008B1FAD /* TestWebsiteDataStoreDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestWebsiteDataStoreDelegate.h; sourceTree = "<group>"; };
		41C5378D21F1333C008B1FAD /* TestWebsiteDataStoreDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestWebsiteDataStoreDelegate.mm; sourceTree = "<group>"; };
		41D5B62522DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "FakeHelvetica-SingleExtendedCharacter.ttf"; path = "fonts/FakeHelvetica-SingleExtendedCharacter.ttf"; sourceTree = "<group>"; };
		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>"; };
		4430AE171F82C4EE0099915A /* GeneratedTouchesDebugWindow.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = GeneratedTouchesDebugWindow.mm; sourceTree = "<group>"; };
		4430AE181F82C4EF0099915A /* GeneratedTouchesDebugWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedTouchesDebugWindow.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>"; };
		570E75A42152DA2C00324B6E /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
		57A0062C22976E4D00AD08BD /* WebKitTestRunner.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = WebKitTestRunner.entitlements; 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>"; };
		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; };
		93764176210D736000A3DAAE /* WebKitTestRunnerWindow.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebKitTestRunnerWindow.mm; sourceTree = "<group>"; };
		93764177210D736100A3DAAE /* WebKitTestRunnerWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitTestRunnerWindow.h; sourceTree = "<group>"; };
		9B0D132E2036D346008FC8FB /* WebKitTestRunnerApp-iOS.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = "WebKitTestRunnerApp-iOS.entitlements"; sourceTree = "<group>"; };
		9B36A270209453A0003E0651 /* WhatToDump.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WhatToDump.h; sourceTree = "<group>"; };
		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>"; };
		A1B89B94221E026B00EB4CEA /* SDKVariant.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = SDKVariant.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>"; };
		F44A531321B899DA00DBB99C /* InstanceMethodSwizzler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InstanceMethodSwizzler.h; path = ../TestRunnerShared/cocoa/InstanceMethodSwizzler.h; sourceTree = "<group>"; };
		F44A531421B899DA00DBB99C /* ClassMethodSwizzler.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ClassMethodSwizzler.mm; path = ../TestRunnerShared/cocoa/ClassMethodSwizzler.mm; sourceTree = "<group>"; };
		F44A531521B899DA00DBB99C /* ClassMethodSwizzler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClassMethodSwizzler.h; path = ../TestRunnerShared/cocoa/ClassMethodSwizzler.h; sourceTree = "<group>"; };
		F44A531621B899DA00DBB99C /* InstanceMethodSwizzler.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = InstanceMethodSwizzler.mm; path = ../TestRunnerShared/cocoa/InstanceMethodSwizzler.mm; sourceTree = "<group>"; };
		F46240AF2170128300917B16 /* UIScriptControllerCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = UIScriptControllerCocoa.mm; sourceTree = "<group>"; };
		F4C3578A20E8444000FA0748 /* LayoutTestSpellChecker.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = LayoutTestSpellChecker.mm; path = ../TestRunnerShared/cocoa/LayoutTestSpellChecker.mm; sourceTree = "<group>"; };
		F4C3578B20E8444000FA0748 /* LayoutTestSpellChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LayoutTestSpellChecker.h; path = ../TestRunnerShared/cocoa/LayoutTestSpellChecker.h; sourceTree = "<group>"; };
		F4FED3212358215E003C139C /* NSPasteboardAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NSPasteboardAdditions.h; path = ../TestRunnerShared/mac/NSPasteboardAdditions.h; sourceTree = "<group>"; };
		F4FED3222358215E003C139C /* NSPasteboardAdditions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = NSPasteboardAdditions.mm; path = ../TestRunnerShared/mac/NSPasteboardAdditions.mm; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		2EE52CDD1890A9A80010ED21 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				57A0062F22976EF800AD08BD /* Security.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8DD76F9B0486AA7600D96B5E /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				51058AD51D678820009A538C /* libWebCoreTestSupport.dylib in Frameworks */,
				57A0062E22976EEB00AD08BD /* Security.framework 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 */,
				F4B6C31620E84369008AC225 /* cocoa */,
				F4FED31D23582120003C139C /* mac */,
				0F73B5471BA782FE004B3EF4 /* UIScriptContext */,
				3148A0531E6F85B600D3B316 /* IOSLayoutTestCommunication.cpp */,
				3148A0541E6F85B600D3B316 /* IOSLayoutTestCommunication.h */,
			);
			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 */,
				2DD4C4971D6E7D3B0007379C /* Event Serialization */,
				2DB6187F1D7D598800978D19 /* spi */,
				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 */,
				41C5378C21F1333C008B1FAD /* TestWebsiteDataStoreDelegate.h */,
				41C5378D21F1333C008B1FAD /* TestWebsiteDataStoreDelegate.mm */,
				2D058E0822E2EE2200E4C145 /* UIScriptControllerCocoa.h */,
				F46240AF2170128300917B16 /* UIScriptControllerCocoa.mm */,
			);
			path = 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>";
		};
		2DB6187F1D7D598800978D19 /* spi */ = {
			isa = PBXGroup;
			children = (
				2DB6187D1D7D58D400978D19 /* CoreGraphicsTestSPI.h */,
				2D0FF14A2192C78300C975D6 /* PencilKitTestSPI.h */,
			);
			name = spi;
			sourceTree = "<group>";
		};
		2DD4C4971D6E7D3B0007379C /* Event Serialization */ = {
			isa = PBXGroup;
			children = (
				2DFA984A1D7F79E000AFF2C9 /* mac */,
			);
			name = "Event Serialization";
			path = ../TestRunnerShared/EventSerialization;
			sourceTree = "<group>";
		};
		2DFA984A1D7F79E000AFF2C9 /* mac */ = {
			isa = PBXGroup;
			children = (
				2DD4C4981D6E7D3B0007379C /* EventSerializerMac.h */,
				2DD4C4991D6E7D3B0007379C /* EventSerializerMac.mm */,
				2DFA98461D7F70CF00AFF2C9 /* SharedEventStreamsMac.h */,
				2DFA98471D7F70CF00AFF2C9 /* SharedEventStreamsMac.mm */,
			);
			name = mac;
			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 */,
				570E75A42152DA2C00324B6E /* Security.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 = (
				4430AE181F82C4EF0099915A /* GeneratedTouchesDebugWindow.h */,
				4430AE171F82C4EE0099915A /* GeneratedTouchesDebugWindow.mm */,
				0FEBF8581BB61DF20028722D /* HIDEventGenerator.h */,
				0FEBF8591BB61DF20028722D /* HIDEventGenerator.mm */,
				2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */,
				2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */,
				2D0BEE1722EAD1360092B738 /* UIScriptControllerIOS.h */,
				0F73B55B1BA89042004B3EF4 /* UIScriptControllerIOS.mm */,
			);
			path = ios;
			sourceTree = "<group>";
		};
		65EB859E11EC67CC0034D300 /* mac */ = {
			isa = PBXGroup;
			children = (
				299E2AA41E3DEE140065DC30 /* AccessibilityCommonMac.h */,
				29210EAB144CACB200835BB6 /* AccessibilityCommonMac.mm */,
				8034C6611487636400AC32E9 /* AccessibilityControllerMac.mm */,
				29A8FCE4145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm */,
				29210EAB144CACB200835BB5 /* AccessibilityUIElementMac.mm */,
				BC8DAD771316D7B900EC96FC /* InjectedBundleMac.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 */,
				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 */,
				1CEA84DC203782ED00440D08 /* FakeHelvetica-ArmenianCharacter.ttf */,
				1CBA02941FD86EA100179C7D /* FakeHelvetica-Helvetica-400.ttf */,
				1CBA02931FD86EA100179C7D /* FakeHelvetica-Helvetica-500.ttf */,
				1CBA02921FD86EA100179C7D /* FakeHelvetica-Helvetica2-400.ttf */,
				1CBA02951FD86EA100179C7D /* FakeHelvetica-Helvetica2-500.ttf */,
				41D5B62522DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.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 */,
				2D058E0A22E2EF6D00E4C145 /* UIScriptControllerMac.h */,
				0F87B6111BACAD6F004EC572 /* UIScriptControllerMac.mm */,
				E132AA3917CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.h */,
				E132AA3817CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm */,
				E132AA3C17CE776F00611DF0 /* WebKitTestRunnerEvent.h */,
				E132AA3B17CE776F00611DF0 /* WebKitTestRunnerEvent.mm */,
				E1C642C517CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.h */,
				E1C642C417CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm */,
				93764177210D736100A3DAAE /* WebKitTestRunnerWindow.h */,
				93764176210D736000A3DAAE /* WebKitTestRunnerWindow.mm */,
			);
			path = mac;
			sourceTree = "<group>";
		};
		BC793401118F7C8A005EA8E2 /* Configurations */ = {
			isa = PBXGroup;
			children = (
				BC793426118F7D3C005EA8E2 /* Base.xcconfig */,
				0F2109C7189C650D00F879A3 /* BaseTarget.xcconfig */,
				BC793427118F7DAF005EA8E2 /* DebugRelease.xcconfig */,
				BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */,
				A1B89B94221E026B00EB4CEA /* SDKVariant.xcconfig */,
				57A0062C22976E4D00AD08BD /* WebKitTestRunner.entitlements */,
				A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */,
				9B0D132E2036D346008FC8FB /* WebKitTestRunnerApp-iOS.entitlements */,
				311183AA212B1AC70077BCE0 /* WebKitTestRunnerApp-watchOS.entitlements */,
				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 */,
				9B36A270209453A0003E0651 /* WhatToDump.h */,
			);
			name = Shared;
			sourceTree = "<group>";
		};
		F4B6C31620E84369008AC225 /* cocoa */ = {
			isa = PBXGroup;
			children = (
				F44A531521B899DA00DBB99C /* ClassMethodSwizzler.h */,
				F44A531421B899DA00DBB99C /* ClassMethodSwizzler.mm */,
				F44A531321B899DA00DBB99C /* InstanceMethodSwizzler.h */,
				F44A531621B899DA00DBB99C /* InstanceMethodSwizzler.mm */,
				F4C3578B20E8444000FA0748 /* LayoutTestSpellChecker.h */,
				F4C3578A20E8444000FA0748 /* LayoutTestSpellChecker.mm */,
			);
			name = cocoa;
			sourceTree = "<group>";
		};
		F4FED31D23582120003C139C /* mac */ = {
			isa = PBXGroup;
			children = (
				F4FED3212358215E003C139C /* NSPasteboardAdditions.h */,
				F4FED3222358215E003C139C /* NSPasteboardAdditions.mm */,
			);
			name = mac;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		A18510251B9ADE4800744AEB /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2DB6187E1D7D58D400978D19 /* CoreGraphicsTestSPI.h in Headers */,
				2DD4C49A1D6E7D3B0007379C /* EventSerializerMac.h in Headers */,
				0F73B5521BA78968004B3EF4 /* JSUIScriptController.h in Headers */,
				2DFA98481D7F70CF00AFF2C9 /* SharedEventStreamsMac.h in Headers */,
				2D058E0922E2EE2200E4C145 /* UIScriptControllerCocoa.h in Headers */,
				2D058E0B22E2EF6D00E4C145 /* UIScriptControllerMac.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 */,
				53A8193A21E52973000B93AB /* Check .xcfilelists */,
			);
			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 = {
				DefaultBuildSystemTypeForWorkspace = Original;
				LastSwiftUpdateCheck = 0700;
				LastUpgradeCheck = 1000;
				TargetAttributes = {
					5325BDD921DFF4F500A0DEE1 = {
						CreatedOnToolsVersion = 10.1;
					};
					A115CCB41B9D769D00E89159 = {
						CreatedOnToolsVersion = 7.0;
					};
					A18510261B9ADE4800744AEB = {
						CreatedOnToolsVersion = 7.0;
					};
				};
			};
			buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "WebKitTestRunner" */;
			compatibilityVersion = "Xcode 3.1";
			developmentRegion = en;
			hasScannedForEncodings = 1;
			knownRegions = (
				en,
			);
			mainGroup = 08FB7794FE84155DC02AAC07 /* WebKitTestRunner */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				A115CCB41B9D769D00E89159 /* All */,
				8DD76F960486AA7600D96B5E /* WebKitTestRunner */,
				2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */,
				BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */,
				BC952D7711F3BF5D003398B4 /* Derived Sources */,
				A18510261B9ADE4800744AEB /* WebKitTestRunner (Library) */,
				5325BDD921DFF4F500A0DEE1 /* Apply Configuration to XCFileLists */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		2EE52CDE1890A9A80010ED21 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0F4B08731D5BE88D00EC1B78 /* Launch.storyboard in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		BC25185E11D15D54002EBC01 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				6510A78211EC643800410867 /* AHEM____.TTF in Resources */,
				1CEA84DD203782ED00440D08 /* FakeHelvetica-ArmenianCharacter.ttf in Resources */,
				1CBA02991FD87DF300179C7D /* FakeHelvetica-Helvetica-400.ttf in Resources */,
				1CBA02981FD87DF000179C7D /* FakeHelvetica-Helvetica-500.ttf in Resources */,
				1CBA02971FD87DEE00179C7D /* FakeHelvetica-Helvetica2-400.ttf in Resources */,
				1CBA02961FD87DEC00179C7D /* FakeHelvetica-Helvetica2-500.ttf in Resources */,
				41D5B62622DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.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 */
		5325BDDE21DFF4F800A0DEE1 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "eval \"${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}\"\n";
		};
		53A8193A21E52973000B93AB /* Check .xcfilelists */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Check .xcfilelists";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "Scripts/check-xcfilelists.sh\n";
		};
		BC952D8211F3BF78003398B4 /* Generate Derived Sources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
				"$(SRCROOT)/DerivedSources-input.xcfilelist",
			);
			inputPaths = (
			);
			name = "Generate Derived Sources";
			outputFileListPaths = (
				"$(SRCROOT)/DerivedSources-output.xcfilelist",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "Scripts/generate-derived-sources.sh\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		2EE52CDC1890A9A80010ED21 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2E749BF21891EBFA007FC175 /* EventSenderProxyIOS.mm in Sources */,
				4430AE191F82C4FD0099915A /* GeneratedTouchesDebugWindow.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 */,
				F4FED324235823A3003C139C /* NSPasteboardAdditions.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 */,
				9376417A210D737200A3DAAE /* WebKitTestRunnerWindow.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A18510231B9ADE4800744AEB /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F44A531721B899E200DBB99C /* ClassMethodSwizzler.mm in Sources */,
				A185103A1B9AE0DA00744AEB /* CrashReporterInfo.mm in Sources */,
				A185103E1B9AE12200744AEB /* CyclicRedundancyCheck.cpp in Sources */,
				2DD4C49B1D6E7D3B0007379C /* EventSerializerMac.mm in Sources */,
				A185103F1B9AE12900744AEB /* GeolocationProviderMock.cpp in Sources */,
				F44A531821B899E500DBB99C /* InstanceMethodSwizzler.mm in Sources */,
				31DA8A3D1E7205CC00E1DF2F /* IOSLayoutTestCommunication.cpp in Sources */,
				0F73B5511BA78968004B3EF4 /* JSUIScriptController.cpp in Sources */,
				0F18E7181D6BC4560027E547 /* JSWrapper.cpp in Sources */,
				F4C3578C20E8444600FA0748 /* LayoutTestSpellChecker.mm in Sources */,
				A185103C1B9AE0FE00744AEB /* Options.cpp in Sources */,
				A18510401B9AE13100744AEB /* PixelDumpSupport.cpp in Sources */,
				2DFA98491D7F70CF00AFF2C9 /* SharedEventStreamsMac.mm 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 */,
				41C5378E21F13414008B1FAD /* TestWebsiteDataStoreDelegate.mm in Sources */,
				0F18E6E51D6B9B9E0027E547 /* UIScriptContext.cpp in Sources */,
				0F18E6E61D6B9BA20027E547 /* UIScriptController.cpp in Sources */,
				F46240B1217013E500917B16 /* UIScriptControllerCocoa.mm 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 */,
			);
			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_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_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_LAUNCHIMAGE_NAME = LaunchImage;
				INFOPLIST_FILE = "WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Production;
		};
		5325BDDA21DFF4F500A0DEE1 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
			buildSettings = {
				CODE_SIGN_STYLE = Automatic;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		5325BDDB21DFF4F500A0DEE1 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
			buildSettings = {
				CODE_SIGN_STYLE = Automatic;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		5325BDDC21DFF4F500A0DEE1 /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
			buildSettings = {
				CODE_SIGN_STYLE = Automatic;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			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;
		};
		5325BDDD21DFF4F500A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				5325BDDA21DFF4F500A0DEE1 /* Debug */,
				5325BDDB21DFF4F500A0DEE1 /* Release */,
				5325BDDC21DFF4F500A0DEE1 /* 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 */;
}
