├── .gitignore ├── LICENSE ├── PhonyPony ├── PhonyPony.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata ├── PhonyPony.xcworkspace │ └── contents.xcworkspacedata ├── PhonyPony │ ├── Base.lproj │ │ └── LaunchScreen.xib │ ├── GatewayServer │ │ ├── PPDevToolsWebSocket.h │ │ ├── PPDevToolsWebSocket.m │ │ ├── PPDeviceWebSocket.h │ │ ├── PPDeviceWebSocket.m │ │ ├── PPGatewayServer.h │ │ ├── PPGatewayServer.m │ │ ├── PPHTTPConnection.h │ │ ├── PPHTTPConnection.m │ │ ├── PPLobbyWebSocket.h │ │ ├── PPLobbyWebSocket.m │ │ ├── PPWebSocket.h │ │ └── PPWebSocket.m │ ├── Images.xcassets │ │ └── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ └── phony-pony-icon@2x.png │ ├── Info.plist │ ├── PPAppDelegate.h │ ├── PPAppDelegate.m │ ├── main.m │ └── web │ │ ├── css │ │ ├── bootstrap-responsive.min.css │ │ ├── bootstrap.min.css │ │ └── style.css │ │ ├── devtools │ │ ├── AdvancedSearchController.js │ │ ├── ApplicationCacheItemsView.js │ │ ├── ApplicationCacheModel.js │ │ ├── AuditCategories.js │ │ ├── AuditFormatters.js │ │ ├── AuditLauncherView.js │ │ ├── AuditResultView.js │ │ ├── AuditRules.js │ │ ├── AuditsPanel.js │ │ ├── BottomUpProfileDataGridTree.js │ │ ├── BreakpointManager.js │ │ ├── BreakpointsSidebarPane.js │ │ ├── CPUProfileView.js │ │ ├── CSSCompletions.js │ │ ├── CSSKeywordCompletions.js │ │ ├── CSSSelectorProfileView.js │ │ ├── CSSStyleModel.js │ │ ├── CallStackSidebarPane.js │ │ ├── Checkbox.js │ │ ├── CodeMirrorTextEditor.js │ │ ├── Color.js │ │ ├── CompilerScriptMapping.js │ │ ├── ConsoleMessage.js │ │ ├── ConsoleModel.js │ │ ├── ConsolePanel.js │ │ ├── ConsoleView.js │ │ ├── ContentProvider.js │ │ ├── ContentProviders.js │ │ ├── ContextMenu.js │ │ ├── CookieItemsView.js │ │ ├── CookieParser.js │ │ ├── CookiesTable.js │ │ ├── DOMAgent.js │ │ ├── DOMBreakpointsSidebarPane.js │ │ ├── DOMExtension.js │ │ ├── DOMPresentationUtils.js │ │ ├── DOMStorage.js │ │ ├── DOMStorageItemsView.js │ │ ├── DOMSyntaxHighlighter.js │ │ ├── DataGrid.js │ │ ├── Database.js │ │ ├── DatabaseQueryView.js │ │ ├── DatabaseTableView.js │ │ ├── DebuggerModel.js │ │ ├── DebuggerScriptMapping.js │ │ ├── DefaultTextEditor.js │ │ ├── DevTools.js │ │ ├── DevToolsExtensionAPI.js │ │ ├── Dialog.js │ │ ├── DirectoryContentView.js │ │ ├── Drawer.js │ │ ├── ElementsPanel.js │ │ ├── ElementsTreeOutline.js │ │ ├── EmptyView.js │ │ ├── EventListenersSidebarPane.js │ │ ├── ExtensionAPI.js │ │ ├── ExtensionAuditCategory.js │ │ ├── ExtensionPanel.js │ │ ├── ExtensionRegistryStub.js │ │ ├── ExtensionServer.js │ │ ├── ExtensionView.js │ │ ├── FileContentView.js │ │ ├── FileManager.js │ │ ├── FileSystemModel.js │ │ ├── FileSystemView.js │ │ ├── FileUtils.js │ │ ├── FilteredItemSelectionDialog.js │ │ ├── FontView.js │ │ ├── GoToLineDialog.js │ │ ├── HAREntry.js │ │ ├── HandlerRegistry.js │ │ ├── HeapSnapshot.js │ │ ├── HeapSnapshotDataGrids.js │ │ ├── HeapSnapshotGridNodes.js │ │ ├── HeapSnapshotLoader.js │ │ ├── HeapSnapshotProxy.js │ │ ├── HeapSnapshotView.js │ │ ├── HeapSnapshotWorker.js │ │ ├── HeapSnapshotWorkerDispatcher.js │ │ ├── HelpScreen.js │ │ ├── ImageView.js │ │ ├── Images │ │ │ ├── applicationCache.png │ │ │ ├── back.png │ │ │ ├── breakpointBorder.png │ │ │ ├── breakpointConditionalBorder.png │ │ │ ├── breakpointConditionalCounterBorder.png │ │ │ ├── breakpointCounterBorder.png │ │ │ ├── checker.png │ │ │ ├── closeButtons.png │ │ │ ├── cookie.png │ │ │ ├── database.png │ │ │ ├── databaseTable.png │ │ │ ├── debuggerContinue.png │ │ │ ├── debuggerPause.png │ │ │ ├── debuggerStepInto.png │ │ │ ├── debuggerStepOut.png │ │ │ ├── debuggerStepOver.png │ │ │ ├── deleteIcon.png │ │ │ ├── disclosureTriangleSmallDown.png │ │ │ ├── disclosureTriangleSmallDownBlack.png │ │ │ ├── disclosureTriangleSmallDownWhite.png │ │ │ ├── disclosureTriangleSmallRight.png │ │ │ ├── disclosureTriangleSmallRightBlack.png │ │ │ ├── disclosureTriangleSmallRightDown.png │ │ │ ├── disclosureTriangleSmallRightDownBlack.png │ │ │ ├── disclosureTriangleSmallRightDownWhite.png │ │ │ ├── disclosureTriangleSmallRightWhite.png │ │ │ ├── domain.png │ │ │ ├── errorIcon.png │ │ │ ├── errorMediumIcon.png │ │ │ ├── errorRedDot.png │ │ │ ├── fileSystem.png │ │ │ ├── forward.png │ │ │ ├── frame.png │ │ │ ├── glossyHeader.png │ │ │ ├── glossyHeaderPressed.png │ │ │ ├── glossyHeaderSelected.png │ │ │ ├── glossyHeaderSelectedPressed.png │ │ │ ├── goArrow.png │ │ │ ├── graphLabelCalloutLeft.png │ │ │ ├── graphLabelCalloutRight.png │ │ │ ├── indexedDB.png │ │ │ ├── indexedDBIndex.png │ │ │ ├── indexedDBObjectStore.png │ │ │ ├── localStorage.png │ │ │ ├── navigatorShowHideButton.png │ │ │ ├── paneAddButtons.png │ │ │ ├── paneBottomGrow.png │ │ │ ├── paneBottomGrowActive.png │ │ │ ├── paneElementStateButtons.png │ │ │ ├── paneFilterButtons.png │ │ │ ├── paneGrowHandleLine.png │ │ │ ├── paneRefreshButtons.png │ │ │ ├── paneSettingsButtons.png │ │ │ ├── popoverArrows.png │ │ │ ├── popoverBackground.png │ │ │ ├── profileGroupIcon.png │ │ │ ├── profileIcon.png │ │ │ ├── profileSmallIcon.png │ │ │ ├── profilesSilhouette.png │ │ │ ├── programCounterBorder.png │ │ │ ├── radioDot.png │ │ │ ├── resourceCSSIcon.png │ │ │ ├── resourceDocumentIcon.png │ │ │ ├── resourceDocumentIconSmall.png │ │ │ ├── resourceJSIcon.png │ │ │ ├── resourcePlainIcon.png │ │ │ ├── resourcePlainIconSmall.png │ │ │ ├── resourcesSizeGraphIcon.png │ │ │ ├── resourcesTimeGraphIcon.png │ │ │ ├── scriptsSilhouette.png │ │ │ ├── searchNext.png │ │ │ ├── searchPrev.png │ │ │ ├── searchSmallBlue.png │ │ │ ├── searchSmallBrightBlue.png │ │ │ ├── searchSmallGray.png │ │ │ ├── searchSmallWhite.png │ │ │ ├── segment.png │ │ │ ├── segmentChromium.png │ │ │ ├── segmentEnd.png │ │ │ ├── segmentHover.png │ │ │ ├── segmentHoverChromium.png │ │ │ ├── segmentHoverEnd.png │ │ │ ├── segmentHoverEndChromium.png │ │ │ ├── segmentSelected.png │ │ │ ├── segmentSelectedChromium.png │ │ │ ├── segmentSelectedEnd.png │ │ │ ├── segmentSelectedEndChromium.png │ │ │ ├── sessionStorage.png │ │ │ ├── spinner.gif │ │ │ ├── spinnerActive.gif │ │ │ ├── spinnerActiveSelected.gif │ │ │ ├── spinnerInactive.gif │ │ │ ├── spinnerInactiveSelected.gif │ │ │ ├── splitviewDimple.png │ │ │ ├── splitviewDividerBackground.png │ │ │ ├── statusbarButtonGlyphs.png │ │ │ ├── statusbarResizerHorizontal.png │ │ │ ├── statusbarResizerVertical.png │ │ │ ├── successGreenDot.png │ │ │ ├── thumbActiveHoriz.png │ │ │ ├── thumbActiveVert.png │ │ │ ├── thumbHoriz.png │ │ │ ├── thumbHoverHoriz.png │ │ │ ├── thumbHoverVert.png │ │ │ ├── thumbVert.png │ │ │ ├── tickMark.png │ │ │ ├── timelineHollowPillBlue.png │ │ │ ├── timelineHollowPillGray.png │ │ │ ├── timelineHollowPillGreen.png │ │ │ ├── timelineHollowPillOrange.png │ │ │ ├── timelineHollowPillPurple.png │ │ │ ├── timelineHollowPillRed.png │ │ │ ├── timelineHollowPillYellow.png │ │ │ ├── timelinePillBlue.png │ │ │ ├── timelinePillGray.png │ │ │ ├── timelinePillGreen.png │ │ │ ├── timelinePillOrange.png │ │ │ ├── timelinePillPurple.png │ │ │ ├── timelinePillRed.png │ │ │ ├── timelinePillYellow.png │ │ │ ├── toolbarIcons.png │ │ │ ├── toolbarIconsSmall.png │ │ │ ├── toolbarItemSelected.png │ │ │ ├── trackHoriz.png │ │ │ ├── trackVert.png │ │ │ ├── treeDownTriangleBlack.png │ │ │ ├── treeDownTriangleWhite.png │ │ │ ├── treeRightTriangleBlack.png │ │ │ ├── treeRightTriangleWhite.png │ │ │ ├── treeUpTriangleBlack.png │ │ │ ├── treeUpTriangleWhite.png │ │ │ ├── userInputIcon.png │ │ │ ├── userInputPreviousIcon.png │ │ │ ├── userInputResultIcon.png │ │ │ ├── warningIcon.png │ │ │ ├── warningMediumIcon.png │ │ │ ├── warningOrangeDot.png │ │ │ └── warningsErrors.png │ │ ├── IndexedDBModel.js │ │ ├── IndexedDBViews.js │ │ ├── InspectorBackend.js │ │ ├── InspectorBackendCommands.js │ │ ├── InspectorFrontendAPI.js │ │ ├── InspectorFrontendHostStub.js │ │ ├── InspectorView.js │ │ ├── JavaScriptContextManager.js │ │ ├── JavaScriptFormatter.js │ │ ├── JavaScriptSource.js │ │ ├── JavaScriptSourceFrame.js │ │ ├── KeyboardShortcut.js │ │ ├── Linkifier.js │ │ ├── MemoryStatistics.js │ │ ├── MetricsSidebarPane.js │ │ ├── NativeMemorySnapshotView.js │ │ ├── NavigatorOverlayController.js │ │ ├── NavigatorView.js │ │ ├── NetworkItemView.js │ │ ├── NetworkLog.js │ │ ├── NetworkManager.js │ │ ├── NetworkPanel.js │ │ ├── NetworkRequest.js │ │ ├── Object.js │ │ ├── ObjectPopoverHelper.js │ │ ├── ObjectPropertiesSection.js │ │ ├── Panel.js │ │ ├── PanelEnablerView.js │ │ ├── Placard.js │ │ ├── Popover.js │ │ ├── PresentationConsoleMessageHelper.js │ │ ├── ProfileDataGridTree.js │ │ ├── ProfileLauncherView.js │ │ ├── ProfilesPanel.js │ │ ├── ProgressBar.js │ │ ├── PropertiesSection.js │ │ ├── PropertiesSidebarPane.js │ │ ├── RawSourceCode.js │ │ ├── RemoteObject.js │ │ ├── RequestCookiesView.js │ │ ├── RequestHTMLView.js │ │ ├── RequestHeadersView.js │ │ ├── RequestJSONView.js │ │ ├── RequestPreviewView.js │ │ ├── RequestResponseView.js │ │ ├── RequestTimingView.js │ │ ├── RequestView.js │ │ ├── Resource.js │ │ ├── ResourceScriptMapping.js │ │ ├── ResourceTreeModel.js │ │ ├── ResourceType.js │ │ ├── ResourceUtils.js │ │ ├── ResourceView.js │ │ ├── ResourceWebSocketFrameView.js │ │ ├── ResourcesPanel.js │ │ ├── RevisionHistoryView.js │ │ ├── SASSSourceMapping.js │ │ ├── ScopeChainSidebarPane.js │ │ ├── Script.js │ │ ├── ScriptFormatter.js │ │ ├── ScriptFormatterWorker.js │ │ ├── ScriptSnippetModel.js │ │ ├── ScriptsNavigator.js │ │ ├── ScriptsPanel.js │ │ ├── ScriptsSearchScope.js │ │ ├── SearchController.js │ │ ├── Section.js │ │ ├── Settings.js │ │ ├── SettingsScreen.js │ │ ├── ShortcutsScreen.js │ │ ├── ShowMoreDataGridNode.js │ │ ├── SidebarOverlay.js │ │ ├── SidebarPane.js │ │ ├── SidebarTreeElement.js │ │ ├── SnippetStorage.js │ │ ├── SoftContextMenu.js │ │ ├── SourceCSSTokenizer.js │ │ ├── SourceFrame.js │ │ ├── SourceHTMLTokenizer.js │ │ ├── SourceJavaScriptTokenizer.js │ │ ├── SourceMapping.js │ │ ├── SourceTokenizer.js │ │ ├── Spectrum.js │ │ ├── SplitView.js │ │ ├── StatusBarButton.js │ │ ├── StylesPanel.js │ │ ├── StylesSidebarPane.js │ │ ├── TabbedEditorContainer.js │ │ ├── TabbedPane.js │ │ ├── TestController.js │ │ ├── Tests.js │ │ ├── TextEditor.js │ │ ├── TextEditorHighlighter.js │ │ ├── TextEditorModel.js │ │ ├── TextPrompt.js │ │ ├── TimelineFrameController.js │ │ ├── TimelineGrid.js │ │ ├── TimelineManager.js │ │ ├── TimelineModel.js │ │ ├── TimelineOverviewPane.js │ │ ├── TimelinePanel.js │ │ ├── TimelinePresentationModel.js │ │ ├── Toolbar.js │ │ ├── TopDownProfileDataGridTree.js │ │ ├── UISourceCode.js │ │ ├── UISourceCodeFrame.js │ │ ├── UIUtils.js │ │ ├── UglifyJS │ │ │ └── parse-js.js │ │ ├── UserAgentSupport.js │ │ ├── UserMetrics.js │ │ ├── View.js │ │ ├── WatchExpressionsSidebarPane.js │ │ ├── WorkerManager.js │ │ ├── WorkersSidebarPane.js │ │ ├── Workspace.js │ │ ├── auditsPanel.css │ │ ├── cmdevtools.css │ │ ├── dataGrid.css │ │ ├── devTools.css │ │ ├── devtools.html │ │ ├── devtools_extension_api.js │ │ ├── dialog.css │ │ ├── elementsPanel.css │ │ ├── filteredItemSelectionDialog.css │ │ ├── heapProfiler.css │ │ ├── helpScreen.css │ │ ├── indexedDBViews.css │ │ ├── inspector.css │ │ ├── inspector.js │ │ ├── inspectorCommon.css │ │ ├── inspectorSyntaxHighlight.css │ │ ├── jsdifflib.js │ │ ├── nativeMemoryProfiler.css │ │ ├── navigatorView.css │ │ ├── networkLogView.css │ │ ├── networkPanel.css │ │ ├── panelEnablerView.css │ │ ├── popover.css │ │ ├── profilesPanel.css │ │ ├── resourceView.css │ │ ├── resourcesPanel.css │ │ ├── revisionHistory.css │ │ ├── scriptsPanel.css │ │ ├── splitView.css │ │ ├── tabbedPane.css │ │ ├── textEditor.css │ │ ├── textPrompt.css │ │ ├── timelinePanel.css │ │ ├── treeoutline.js │ │ └── utilities.js │ │ ├── favicon.ico │ │ ├── index.html │ │ └── js │ │ ├── backbone.js │ │ ├── bootstrap.min.js │ │ ├── handlebars-1.0.0.beta.6.js │ │ ├── jquery-1.8.0.min.js │ │ ├── proxy.js │ │ └── underscore-min.js ├── PhonyPonyTests │ ├── Info.plist │ └── PhonyPonyTests.m ├── Podfile ├── Podfile.lock └── Pods │ ├── CocoaAsyncSocket │ ├── GCD │ │ ├── GCDAsyncSocket.h │ │ ├── GCDAsyncSocket.m │ │ ├── GCDAsyncUdpSocket.h │ │ └── GCDAsyncUdpSocket.m │ ├── README.markdown │ └── RunLoop │ │ ├── AsyncSocket.h │ │ ├── AsyncSocket.m │ │ ├── AsyncUdpSocket.h │ │ └── AsyncUdpSocket.m │ ├── CocoaHTTPServer │ ├── Core │ │ ├── Categories │ │ │ ├── DDData.h │ │ │ ├── DDData.m │ │ │ ├── DDNumber.h │ │ │ ├── DDNumber.m │ │ │ ├── DDRange.h │ │ │ └── DDRange.m │ │ ├── HTTPAuthenticationRequest.h │ │ ├── HTTPAuthenticationRequest.m │ │ ├── HTTPConnection.h │ │ ├── HTTPConnection.m │ │ ├── HTTPLogging.h │ │ ├── HTTPMessage.h │ │ ├── HTTPMessage.m │ │ ├── HTTPResponse.h │ │ ├── HTTPServer.h │ │ ├── HTTPServer.m │ │ ├── Mime │ │ │ ├── MultipartFormDataParser.h │ │ │ ├── MultipartFormDataParser.m │ │ │ ├── MultipartMessageHeader.h │ │ │ ├── MultipartMessageHeader.m │ │ │ ├── MultipartMessageHeaderField.h │ │ │ └── MultipartMessageHeaderField.m │ │ ├── Responses │ │ │ ├── HTTPAsyncFileResponse.h │ │ │ ├── HTTPAsyncFileResponse.m │ │ │ ├── HTTPDataResponse.h │ │ │ ├── HTTPDataResponse.m │ │ │ ├── HTTPDynamicFileResponse.h │ │ │ ├── HTTPDynamicFileResponse.m │ │ │ ├── HTTPFileResponse.h │ │ │ ├── HTTPFileResponse.m │ │ │ ├── HTTPRedirectResponse.h │ │ │ └── HTTPRedirectResponse.m │ │ ├── WebSocket.h │ │ └── WebSocket.m │ ├── Extensions │ │ └── WebDAV │ │ │ ├── DAVConnection.h │ │ │ ├── DAVConnection.m │ │ │ ├── DAVResponse.h │ │ │ ├── DAVResponse.m │ │ │ ├── DELETEResponse.h │ │ │ ├── DELETEResponse.m │ │ │ ├── PUTResponse.h │ │ │ └── PUTResponse.m │ ├── LICENSE.txt │ └── README.markdown │ ├── CocoaLumberjack │ ├── Classes │ │ ├── CocoaLumberjack.h │ │ ├── CocoaLumberjack.swift │ │ ├── DDASLLogCapture.h │ │ ├── DDASLLogCapture.m │ │ ├── DDASLLogger.h │ │ ├── DDASLLogger.m │ │ ├── DDAbstractDatabaseLogger.h │ │ ├── DDAbstractDatabaseLogger.m │ │ ├── DDAssertMacros.h │ │ ├── DDFileLogger.h │ │ ├── DDFileLogger.m │ │ ├── DDLegacyMacros.h │ │ ├── DDLog+LOGV.h │ │ ├── DDLog.h │ │ ├── DDLog.m │ │ ├── DDLogMacros.h │ │ ├── DDTTYLogger.h │ │ ├── DDTTYLogger.m │ │ └── Extensions │ │ │ ├── DDContextFilterLogFormatter.h │ │ │ ├── DDContextFilterLogFormatter.m │ │ │ ├── DDDispatchQueueLogFormatter.h │ │ │ ├── DDDispatchQueueLogFormatter.m │ │ │ ├── DDMultiFormatter.h │ │ │ └── DDMultiFormatter.m │ ├── LICENSE.txt │ └── README.md │ ├── Headers │ ├── Private │ │ ├── CocoaAsyncSocket │ │ │ ├── AsyncSocket.h │ │ │ ├── AsyncUdpSocket.h │ │ │ ├── GCDAsyncSocket.h │ │ │ └── GCDAsyncUdpSocket.h │ │ ├── CocoaHTTPServer │ │ │ ├── DAVConnection.h │ │ │ ├── DAVResponse.h │ │ │ ├── DDData.h │ │ │ ├── DDNumber.h │ │ │ ├── DDRange.h │ │ │ ├── DELETEResponse.h │ │ │ ├── HTTPAsyncFileResponse.h │ │ │ ├── HTTPAuthenticationRequest.h │ │ │ ├── HTTPConnection.h │ │ │ ├── HTTPDataResponse.h │ │ │ ├── HTTPDynamicFileResponse.h │ │ │ ├── HTTPFileResponse.h │ │ │ ├── HTTPLogging.h │ │ │ ├── HTTPMessage.h │ │ │ ├── HTTPRedirectResponse.h │ │ │ ├── HTTPResponse.h │ │ │ ├── HTTPServer.h │ │ │ ├── MultipartFormDataParser.h │ │ │ ├── MultipartMessageHeader.h │ │ │ ├── MultipartMessageHeaderField.h │ │ │ ├── PUTResponse.h │ │ │ └── WebSocket.h │ │ ├── CocoaLumberjack │ │ │ ├── CocoaLumberjack.h │ │ │ ├── DDASLLogCapture.h │ │ │ ├── DDASLLogger.h │ │ │ ├── DDAbstractDatabaseLogger.h │ │ │ ├── DDAssertMacros.h │ │ │ ├── DDContextFilterLogFormatter.h │ │ │ ├── DDDispatchQueueLogFormatter.h │ │ │ ├── DDFileLogger.h │ │ │ ├── DDLegacyMacros.h │ │ │ ├── DDLog+LOGV.h │ │ │ ├── DDLog.h │ │ │ ├── DDLogMacros.h │ │ │ ├── DDMultiFormatter.h │ │ │ └── DDTTYLogger.h │ │ └── SVWebViewController │ │ │ ├── SVModalWebViewController.h │ │ │ ├── SVWebViewController.h │ │ │ ├── SVWebViewControllerActivity.h │ │ │ ├── SVWebViewControllerActivityChrome.h │ │ │ └── SVWebViewControllerActivitySafari.h │ └── Public │ │ ├── CocoaAsyncSocket │ │ ├── AsyncSocket.h │ │ ├── AsyncUdpSocket.h │ │ ├── GCDAsyncSocket.h │ │ └── GCDAsyncUdpSocket.h │ │ ├── CocoaHTTPServer │ │ ├── DAVConnection.h │ │ ├── DAVResponse.h │ │ ├── DDData.h │ │ ├── DDNumber.h │ │ ├── DDRange.h │ │ ├── DELETEResponse.h │ │ ├── HTTPAsyncFileResponse.h │ │ ├── HTTPAuthenticationRequest.h │ │ ├── HTTPConnection.h │ │ ├── HTTPDataResponse.h │ │ ├── HTTPDynamicFileResponse.h │ │ ├── HTTPFileResponse.h │ │ ├── HTTPLogging.h │ │ ├── HTTPMessage.h │ │ ├── HTTPRedirectResponse.h │ │ ├── HTTPResponse.h │ │ ├── HTTPServer.h │ │ ├── MultipartFormDataParser.h │ │ ├── MultipartMessageHeader.h │ │ ├── MultipartMessageHeaderField.h │ │ ├── PUTResponse.h │ │ └── WebSocket.h │ │ ├── CocoaLumberjack │ │ ├── CocoaLumberjack.h │ │ ├── DDASLLogCapture.h │ │ ├── DDASLLogger.h │ │ ├── DDAbstractDatabaseLogger.h │ │ ├── DDAssertMacros.h │ │ ├── DDContextFilterLogFormatter.h │ │ ├── DDDispatchQueueLogFormatter.h │ │ ├── DDFileLogger.h │ │ ├── DDLegacyMacros.h │ │ ├── DDLog+LOGV.h │ │ ├── DDLog.h │ │ ├── DDLogMacros.h │ │ ├── DDMultiFormatter.h │ │ └── DDTTYLogger.h │ │ └── SVWebViewController │ │ ├── SVModalWebViewController.h │ │ ├── SVWebViewController.h │ │ ├── SVWebViewControllerActivity.h │ │ ├── SVWebViewControllerActivityChrome.h │ │ └── SVWebViewControllerActivitySafari.h │ ├── Manifest.lock │ ├── Pods.xcodeproj │ └── project.pbxproj │ ├── SVWebViewController │ ├── LICENSE.txt │ ├── README.md │ └── SVWebViewController │ │ ├── SVModalWebViewController.h │ │ ├── SVModalWebViewController.m │ │ ├── SVWebViewController.bundle │ │ ├── SVWebViewControllerBack.png │ │ ├── SVWebViewControllerBack@2x.png │ │ ├── SVWebViewControllerNext.png │ │ └── SVWebViewControllerNext@2x.png │ │ ├── SVWebViewController.h │ │ ├── SVWebViewController.m │ │ └── UIActivities │ │ ├── Chrome │ │ ├── SVWebViewControllerActivityChrome-iPad.png │ │ ├── SVWebViewControllerActivityChrome-iPad@2x.png │ │ ├── SVWebViewControllerActivityChrome.h │ │ ├── SVWebViewControllerActivityChrome.m │ │ └── SVWebViewControllerActivityChrome@2x.png │ │ ├── SVWebViewControllerActivity.h │ │ ├── SVWebViewControllerActivity.m │ │ └── Safari │ │ ├── SVWebViewControllerActivitySafari-iPad.png │ │ ├── SVWebViewControllerActivitySafari-iPad@2x.png │ │ ├── SVWebViewControllerActivitySafari.h │ │ ├── SVWebViewControllerActivitySafari.m │ │ └── SVWebViewControllerActivitySafari@2x.png │ └── Target Support Files │ ├── Pods-PhonyPony-CocoaAsyncSocket │ ├── Pods-PhonyPony-CocoaAsyncSocket-Private.xcconfig │ ├── Pods-PhonyPony-CocoaAsyncSocket-dummy.m │ ├── Pods-PhonyPony-CocoaAsyncSocket-prefix.pch │ └── Pods-PhonyPony-CocoaAsyncSocket.xcconfig │ ├── Pods-PhonyPony-CocoaHTTPServer │ ├── Pods-PhonyPony-CocoaHTTPServer-Private.xcconfig │ ├── Pods-PhonyPony-CocoaHTTPServer-dummy.m │ ├── Pods-PhonyPony-CocoaHTTPServer-prefix.pch │ └── Pods-PhonyPony-CocoaHTTPServer.xcconfig │ ├── Pods-PhonyPony-CocoaLumberjack │ ├── Pods-PhonyPony-CocoaLumberjack-Private.xcconfig │ ├── Pods-PhonyPony-CocoaLumberjack-dummy.m │ ├── Pods-PhonyPony-CocoaLumberjack-prefix.pch │ └── Pods-PhonyPony-CocoaLumberjack.xcconfig │ ├── Pods-PhonyPony-SVWebViewController │ ├── Pods-PhonyPony-SVWebViewController-Private.xcconfig │ ├── Pods-PhonyPony-SVWebViewController-dummy.m │ ├── Pods-PhonyPony-SVWebViewController-prefix.pch │ └── Pods-PhonyPony-SVWebViewController.xcconfig │ └── Pods-PhonyPony │ ├── Pods-PhonyPony-acknowledgements.markdown │ ├── Pods-PhonyPony-acknowledgements.plist │ ├── Pods-PhonyPony-dummy.m │ ├── Pods-PhonyPony-environment.h │ ├── Pods-PhonyPony-resources.sh │ ├── Pods-PhonyPony.debug.xcconfig │ └── Pods-PhonyPony.release.xcconfig └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | # 3 | build/ 4 | *.pbxuser 5 | !default.pbxuser 6 | *.mode1v3 7 | !default.mode1v3 8 | *.mode2v3 9 | !default.mode2v3 10 | *.perspectivev3 11 | !default.perspectivev3 12 | xcuserdata 13 | *.xccheckout 14 | *.moved-aside 15 | DerivedData 16 | *.hmap 17 | *.ipa 18 | *.xcuserstate 19 | .DS_Store 20 | 21 | # CocoaPods 22 | # 23 | # We recommend against adding the Pods directory to your .gitignore. However 24 | # you should judge for yourself, the pros and cons are mentioned at: 25 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control 26 | # 27 | #Pods/ 28 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Ryan Olson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/Base.lproj/LaunchScreen.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/GatewayServer/PPDevToolsWebSocket.h: -------------------------------------------------------------------------------- 1 | // 2 | // PPDevToolsWebSocket.h 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/9/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import "PPWebSocket.h" 10 | 11 | @class PPDeviceWebSocket; 12 | 13 | @interface PPDevToolsWebSocket : PPWebSocket 14 | 15 | @property (nonatomic, assign) NSInteger pageNumber; 16 | 17 | @property (nonatomic, weak) PPDeviceWebSocket *device; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/GatewayServer/PPDevToolsWebSocket.m: -------------------------------------------------------------------------------- 1 | // 2 | // PPDevToolsWebSocket.m 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/9/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import "PPDevToolsWebSocket.h" 10 | #import "PPDeviceWebSocket.h" 11 | #import "PPGatewayServer.h" 12 | #import 13 | 14 | @implementation PPDevToolsWebSocket 15 | 16 | + (BOOL)canHandleURI:(NSString *)path 17 | { 18 | return [[self pageStringFromDevToolsPath:path] length] > 0; 19 | } 20 | 21 | + (NSString *)pageStringFromDevToolsPath:(NSString *)path 22 | { 23 | NSString *pageString = nil; 24 | 25 | NSRegularExpression *devtoolsPageRegex = [NSRegularExpression regularExpressionWithPattern:@"/devtools/page/([0-9]*)/?" options:0 error:NULL]; 26 | NSArray *matches = [devtoolsPageRegex matchesInString:path options:0 range:NSMakeRange(0, [path length])]; 27 | if ([matches count] > 0) { 28 | NSTextCheckingResult *result = [matches firstObject]; 29 | pageString = [path substringWithRange:[result rangeAtIndex:1]]; 30 | } 31 | 32 | return pageString; 33 | } 34 | 35 | - (void)didOpen 36 | { 37 | [super didOpen]; 38 | 39 | NSString *path = [[request url] relativeString]; 40 | NSString *page = [[self class] pageStringFromDevToolsPath:path]; 41 | self.pageNumber = [page integerValue]; 42 | [[PPGatewayServer sharedGatewayServer] devToolsDidConnect:self]; 43 | } 44 | 45 | - (void)didReceiveMessage:(NSString *)msg 46 | { 47 | [super didReceiveMessage:msg]; 48 | 49 | [self.device sendMessage:msg]; 50 | } 51 | 52 | - (void)didClose 53 | { 54 | [super didClose]; 55 | 56 | [[PPGatewayServer sharedGatewayServer] devToolsDidClose:self]; 57 | } 58 | 59 | @end 60 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/GatewayServer/PPDeviceWebSocket.h: -------------------------------------------------------------------------------- 1 | // 2 | // PPDeviceWebSocket.h 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/9/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import "PPWebSocket.h" 10 | 11 | @class PPDevToolsWebSocket; 12 | 13 | @interface PPDeviceWebSocket : PPWebSocket 14 | 15 | @property (nonatomic, assign) NSInteger pageNumber; 16 | @property (nonatomic, copy, readonly) NSDictionary *deviceInfo; 17 | 18 | @property (nonatomic, weak) PPDevToolsWebSocket *devTools; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/GatewayServer/PPDeviceWebSocket.m: -------------------------------------------------------------------------------- 1 | // 2 | // PPDeviceWebSocket.m 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/9/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import "PPDeviceWebSocket.h" 10 | #import "PPDevToolsWebSocket.h" 11 | #import "PPGatewayServer.h" 12 | 13 | @interface PPDeviceWebSocket () 14 | 15 | @property (nonatomic, copy) NSString *connectionID; 16 | 17 | @property (nonatomic, copy, readwrite) NSDictionary *deviceInfo; 18 | 19 | @end 20 | 21 | @implementation PPDeviceWebSocket 22 | 23 | + (BOOL)canHandleURI:(NSString *)path 24 | { 25 | return [path isEqual:@"/device"]; 26 | } 27 | 28 | - (void)didOpen 29 | { 30 | [super didOpen]; 31 | 32 | self.connectionID = [[NSUUID UUID] UUIDString]; 33 | } 34 | 35 | - (void)didReceiveMessage:(NSString *)msg 36 | { 37 | [super didReceiveMessage:msg]; 38 | 39 | if (self.devTools) { 40 | [self.devTools sendMessage:msg]; 41 | } else { 42 | id jsonObject = [NSJSONSerialization JSONObjectWithData:[msg dataUsingEncoding:NSUTF8StringEncoding] options:0 error:NULL]; 43 | if ([jsonObject isKindOfClass:[NSDictionary class]]) { 44 | NSDictionary *dictionary = jsonObject; 45 | if ([[dictionary objectForKey:@"method"] isEqual:@"Gateway.registerDevice"]) { 46 | self.deviceInfo = [dictionary objectForKey:@"params"]; 47 | [[PPGatewayServer sharedGatewayServer] registerDevice:self]; 48 | } 49 | } 50 | } 51 | } 52 | 53 | - (void)didClose 54 | { 55 | [super didClose]; 56 | 57 | [[PPGatewayServer sharedGatewayServer] unregisterDevice:self]; 58 | } 59 | 60 | - (NSDictionary *)deviceInfo 61 | { 62 | NSMutableDictionary *deviceInfo = [_deviceInfo mutableCopy]; 63 | [deviceInfo setObject:self.connectionID forKey:@"connection_id"]; 64 | [deviceInfo setObject:@(self.pageNumber) forKey:@"page"]; 65 | return [deviceInfo copy]; 66 | } 67 | 68 | @end 69 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/GatewayServer/PPGatewayServer.h: -------------------------------------------------------------------------------- 1 | // 2 | // PPGatewayServer.h 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/9/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class PPDeviceWebSocket; 12 | @class PPDevToolsWebSocket; 13 | @class PPLobbyWebSocket; 14 | 15 | @interface PPGatewayServer : NSObject 16 | 17 | + (instancetype)sharedGatewayServer; 18 | 19 | - (void)start; 20 | 21 | - (void)registerDevice:(PPDeviceWebSocket *)device; 22 | - (void)unregisterDevice:(PPDeviceWebSocket *)device; 23 | 24 | - (void)addLobby:(PPLobbyWebSocket *)lobby; 25 | - (void)removeLobby:(PPLobbyWebSocket *)lobby; 26 | 27 | - (void)devToolsDidConnect:(PPDevToolsWebSocket *)devTools; 28 | - (void)devToolsDidClose:(PPDevToolsWebSocket *)devTools; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/GatewayServer/PPHTTPConnection.h: -------------------------------------------------------------------------------- 1 | // 2 | // PPHTTPConnection.h 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/9/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import "HTTPConnection.h" 10 | 11 | @interface PPHTTPConnection : HTTPConnection 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/GatewayServer/PPHTTPConnection.m: -------------------------------------------------------------------------------- 1 | // 2 | // PPHTTPConnection.m 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/9/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import "PPHTTPConnection.h" 10 | #import "PPDevToolsWebSocket.h" 11 | #import "PPLobbyWebSocket.h" 12 | #import "PPDeviceWebSocket.h" 13 | #import 14 | 15 | @implementation PPHTTPConnection 16 | 17 | - (WebSocket *)webSocketForURI:(NSString *)path 18 | { 19 | WebSocket *webSocket = nil; 20 | 21 | if ([PPDevToolsWebSocket canHandleURI:path]) { 22 | webSocket = [[PPDevToolsWebSocket alloc] initWithRequest:request socket:asyncSocket]; 23 | } else if([PPLobbyWebSocket canHandleURI:path]) { 24 | webSocket = [[PPLobbyWebSocket alloc] initWithRequest:request socket:asyncSocket]; 25 | } else if ([PPDeviceWebSocket canHandleURI:path]) { 26 | webSocket = [[PPDeviceWebSocket alloc] initWithRequest:request socket:asyncSocket]; 27 | } 28 | 29 | return webSocket; 30 | } 31 | 32 | - (void)socket:(GCDAsyncSocket *)socket didConnectToHost:(NSString *)host port:(uint16_t)port 33 | { 34 | [socket performBlock:^{ 35 | [socket enableBackgroundingOnSocket]; 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/GatewayServer/PPLobbyWebSocket.h: -------------------------------------------------------------------------------- 1 | // 2 | // PPLobbyWebSocket.h 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/9/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import "PPWebSocket.h" 10 | 11 | @interface PPLobbyWebSocket : PPWebSocket 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/GatewayServer/PPLobbyWebSocket.m: -------------------------------------------------------------------------------- 1 | // 2 | // PPLobbyWebSocket.m 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/9/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import "PPLobbyWebSocket.h" 10 | #import "PPGatewayServer.h" 11 | 12 | @implementation PPLobbyWebSocket 13 | 14 | + (BOOL)canHandleURI:(NSString *)path 15 | { 16 | return [path isEqual:@"/lobby"]; 17 | } 18 | 19 | - (void)didOpen 20 | { 21 | [super didOpen]; 22 | 23 | [[PPGatewayServer sharedGatewayServer] addLobby:self]; 24 | } 25 | 26 | - (void)didClose 27 | { 28 | [super didClose]; 29 | 30 | [[PPGatewayServer sharedGatewayServer] removeLobby:self]; 31 | } 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/GatewayServer/PPWebSocket.h: -------------------------------------------------------------------------------- 1 | // 2 | // PPWebSocket.h 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/9/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import "WebSocket.h" 10 | 11 | @class HTTPMessage; 12 | 13 | @interface PPWebSocket : WebSocket 14 | 15 | + (BOOL)canHandleURI:(NSString *)path; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/GatewayServer/PPWebSocket.m: -------------------------------------------------------------------------------- 1 | // 2 | // PPWebSocket.m 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/9/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import "PPWebSocket.h" 10 | #import 11 | 12 | @implementation PPWebSocket 13 | 14 | - (void)socket:(GCDAsyncSocket *)socket didConnectToHost:(NSString *)host port:(uint16_t)port 15 | { 16 | [socket performBlock:^{ 17 | [socket enableBackgroundingOnSocket]; 18 | }]; 19 | } 20 | 21 | + (BOOL)canHandleURI:(NSString *)path 22 | { 23 | return NO; 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "size" : "60x60", 25 | "idiom" : "iphone", 26 | "filename" : "phony-pony-icon@2x.png", 27 | "scale" : "2x" 28 | }, 29 | { 30 | "idiom" : "iphone", 31 | "size" : "60x60", 32 | "scale" : "3x" 33 | }, 34 | { 35 | "idiom" : "ipad", 36 | "size" : "29x29", 37 | "scale" : "1x" 38 | }, 39 | { 40 | "idiom" : "ipad", 41 | "size" : "29x29", 42 | "scale" : "2x" 43 | }, 44 | { 45 | "idiom" : "ipad", 46 | "size" : "40x40", 47 | "scale" : "1x" 48 | }, 49 | { 50 | "idiom" : "ipad", 51 | "size" : "40x40", 52 | "scale" : "2x" 53 | }, 54 | { 55 | "idiom" : "ipad", 56 | "size" : "76x76", 57 | "scale" : "1x" 58 | }, 59 | { 60 | "idiom" : "ipad", 61 | "size" : "76x76", 62 | "scale" : "2x" 63 | } 64 | ], 65 | "info" : { 66 | "version" : 1, 67 | "author" : "xcode" 68 | } 69 | } -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/Images.xcassets/AppIcon.appiconset/phony-pony-icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/Images.xcassets/AppIcon.appiconset/phony-pony-icon@2x.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | com.phonypony.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UIBackgroundModes 26 | 27 | voip 28 | 29 | UILaunchStoryboardName 30 | LaunchScreen 31 | UIRequiredDeviceCapabilities 32 | 33 | armv7 34 | 35 | UISupportedInterfaceOrientations 36 | 37 | UIInterfaceOrientationPortrait 38 | UIInterfaceOrientationLandscapeLeft 39 | UIInterfaceOrientationLandscapeRight 40 | 41 | UISupportedInterfaceOrientations~ipad 42 | 43 | UIInterfaceOrientationPortrait 44 | UIInterfaceOrientationPortraitUpsideDown 45 | UIInterfaceOrientationLandscapeLeft 46 | UIInterfaceOrientationLandscapeRight 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/PPAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // PPAppDelegate.h 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/8/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface PPAppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/PPAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // PPAppDelegate.m 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/8/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import "PPAppDelegate.h" 10 | #import "PPGatewayServer.h" 11 | #import 12 | 13 | @implementation PPAppDelegate 14 | 15 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 16 | { 17 | [[PPGatewayServer sharedGatewayServer] start]; 18 | 19 | SVWebViewController *webViewController = [[SVWebViewController alloc] initWithAddress:@"http://localhost:9000"]; 20 | UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:webViewController]; 21 | 22 | self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 23 | self.window.rootViewController = navigationController; 24 | [self.window makeKeyAndVisible]; 25 | 26 | return YES; 27 | } 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // PhonyPony 4 | // 5 | // Created by Ryan Olson on 4/8/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PPAppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([PPAppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/css/style.css: -------------------------------------------------------------------------------- 1 | 2 | body { 3 | padding-top: 20px; 4 | padding-bottom: 20px; 5 | } 6 | 7 | #connection-status { 8 | font-size: 14px; 9 | font-weight: bold; 10 | color: #666; 11 | text-shadow: 0px 1px #fff; 12 | text-align: center; 13 | } 14 | 15 | .device-details { 16 | } 17 | 18 | #device-list { 19 | margin: 0; 20 | } 21 | 22 | #device-list li { 23 | list-style-type: none; 24 | margin: 0; 25 | padding: 16px 0; 26 | overflow: auto; 27 | } 28 | 29 | #device-list li .app-icon { 30 | height: 57px; 31 | width: 57px; 32 | margin-right: 20px; 33 | float: left; 34 | } 35 | 36 | .app-icon.ios { 37 | border-radius: 10px; 38 | } 39 | 40 | #device-list li .title { 41 | font-size: 22px; 42 | } 43 | 44 | #device-list li .title small { 45 | font-size: 14px; 46 | } 47 | 48 | #device-list li:not(:last-child) { 49 | border-bottom: 1px solid #ddd; 50 | } 51 | 52 | #device-list li:first-child { 53 | padding-top: 0px; 54 | } 55 | 56 | #device-list li:last-child { 57 | padding-bottom: 0px; 58 | } 59 | 60 | #no-devices { 61 | text-align: center; 62 | } 63 | 64 | #no-devices h3 { 65 | color: #aaa; 66 | text-shadow: 0px 1px #fff; 67 | } 68 | 69 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Checkbox.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 Google Inc. All Rights Reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 1. Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * 2. Redistributions in binary form must reproduce the above copyright 10 | * notice, this list of conditions and the following disclaimer in the 11 | * documentation and/or other materials provided with the distribution. 12 | * 13 | * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY 14 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR 17 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 18 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 19 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 20 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 21 | * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 | */ 25 | 26 | /** 27 | * @constructor 28 | * @param {string=} tooltip 29 | */ 30 | WebInspector.Checkbox = function(label, className, tooltip) 31 | { 32 | this.element = document.createElement('label'); 33 | this._inputElement = document.createElement('input'); 34 | this._inputElement.type = "checkbox"; 35 | 36 | this.element.className = className; 37 | this.element.appendChild(this._inputElement); 38 | this.element.appendChild(document.createTextNode(label)); 39 | if (tooltip) 40 | this.element.title = tooltip; 41 | } 42 | 43 | WebInspector.Checkbox.prototype = { 44 | set checked(checked) 45 | { 46 | this._inputElement.checked = checked; 47 | }, 48 | 49 | get checked() 50 | { 51 | return this._inputElement.checked; 52 | }, 53 | 54 | addEventListener: function(listener) 55 | { 56 | function listenerWrapper(event) 57 | { 58 | if (listener) 59 | listener(event); 60 | event.consume(); 61 | return true; 62 | } 63 | 64 | this._inputElement.addEventListener("click", listenerWrapper, false); 65 | this.element.addEventListener("click", listenerWrapper, false); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/ContentProvider.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above 11 | * copyright notice, this list of conditions and the following disclaimer 12 | * in the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name of Google Inc. nor the names of its 15 | * contributors may be used to endorse or promote products derived from 16 | * this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | /** 32 | * @interface 33 | */ 34 | WebInspector.ContentProvider = function() { } 35 | 36 | WebInspector.ContentProvider.prototype = { 37 | /** 38 | * @return {?string} 39 | */ 40 | contentURL: function() { }, 41 | 42 | /** 43 | * @return {WebInspector.ResourceType} 44 | */ 45 | contentType: function() { }, 46 | 47 | /** 48 | * @param {function(?string,boolean,string)} callback 49 | */ 50 | requestContent: function(callback) { }, 51 | 52 | /** 53 | * @param {string} query 54 | * @param {boolean} caseSensitive 55 | * @param {boolean} isRegex 56 | * @param {function(Array.)} callback 57 | */ 58 | searchInContent: function(query, caseSensitive, isRegex, callback) { } 59 | } 60 | 61 | /** 62 | * @constructor 63 | * @param {number} lineNumber 64 | * @param {string} lineContent 65 | */ 66 | WebInspector.ContentProvider.SearchMatch = function(lineNumber, lineContent) { 67 | this.lineNumber = lineNumber; 68 | this.lineContent = lineContent; 69 | } 70 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/DevTools.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above 11 | * copyright notice, this list of conditions and the following disclaimer 12 | * in the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name of Google Inc. nor the names of its 15 | * contributors may be used to endorse or promote products derived from 16 | * this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | /** 32 | * DevTools.js is responsible for configuring Web Inspector for the Chromium 33 | * port as well as additional features specific to the Chromium port. 34 | */ 35 | 36 | {(function () { 37 | Preferences.useLowerCaseMenuTitlesOnWindows = true; 38 | Preferences.sharedWorkersDebugNote = "Shared workers can be inspected in the Task Manager"; 39 | Preferences.localizeUI = false; 40 | Preferences.applicationTitle = "Developer Tools - %s"; 41 | Preferences.exposeDisableCache = true; 42 | Preferences.showDockToRight = true; 43 | Preferences.exposeFileSystemInspection = true; 44 | })();} 45 | 46 | function buildPlatformExtensionAPI(extensionInfo) 47 | { 48 | return "var extensionInfo = " + JSON.stringify(extensionInfo) + ";" + 49 | "var tabId = " + WebInspector._inspectedTabId + ";" + 50 | platformExtensionAPI.toString(); 51 | } 52 | 53 | WebInspector.setInspectedTabId = function(tabId) 54 | { 55 | WebInspector._inspectedTabId = tabId; 56 | } 57 | 58 | WebInspector.clipboardAccessDeniedMessage = function() 59 | { 60 | return "You need to install a Chrome extension that grants clipboard access to Developer Tools."; 61 | } 62 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/EmptyView.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above 11 | * copyright notice, this list of conditions and the following disclaimer 12 | * in the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name of Google Inc. nor the names of its 15 | * contributors may be used to endorse or promote products derived from 16 | * this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | /** 32 | * @constructor 33 | * @extends {WebInspector.View} 34 | */ 35 | WebInspector.EmptyView = function(text) 36 | { 37 | WebInspector.View.call(this); 38 | this._text = text; 39 | } 40 | 41 | WebInspector.EmptyView.prototype = { 42 | wasShown: function() 43 | { 44 | this.element.className = "storage-empty-view"; 45 | this.element.textContent = this._text; 46 | }, 47 | 48 | set text(text) 49 | { 50 | this._text = text; 51 | if (this.isShowing()) 52 | this.element.textContent = this._text; 53 | }, 54 | } 55 | 56 | WebInspector.EmptyView.prototype.__proto__ = WebInspector.View.prototype; 57 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/ExtensionRegistryStub.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above 11 | * copyright notice, this list of conditions and the following disclaimer 12 | * in the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name of Google Inc. nor the names of its 15 | * contributors may be used to endorse or promote products derived from 16 | * this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | if (!window.InspectorExtensionRegistry) { 32 | 33 | /** 34 | * @constructor 35 | */ 36 | WebInspector.InspectorExtensionRegistryStub = function() 37 | { 38 | } 39 | 40 | WebInspector.InspectorExtensionRegistryStub.prototype = { 41 | getExtensionsAsync: function() 42 | { 43 | } 44 | } 45 | 46 | var InspectorExtensionRegistry = new WebInspector.InspectorExtensionRegistryStub(); 47 | 48 | } 49 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/applicationCache.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/applicationCache.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/back.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/breakpointBorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/breakpointBorder.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/breakpointConditionalBorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/breakpointConditionalBorder.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/breakpointConditionalCounterBorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/breakpointConditionalCounterBorder.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/breakpointCounterBorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/breakpointCounterBorder.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/checker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/checker.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/closeButtons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/closeButtons.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/cookie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/cookie.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/database.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/databaseTable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/databaseTable.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/debuggerContinue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/debuggerContinue.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/debuggerPause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/debuggerPause.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/debuggerStepInto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/debuggerStepInto.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/debuggerStepOut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/debuggerStepOut.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/debuggerStepOver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/debuggerStepOver.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/deleteIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/deleteIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallDown.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallDownBlack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallDownBlack.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallDownWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallDownWhite.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallRight.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallRightBlack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallRightBlack.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallRightDown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallRightDown.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallRightDownBlack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallRightDownBlack.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallRightDownWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallRightDownWhite.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallRightWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/disclosureTriangleSmallRightWhite.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/domain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/domain.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/errorIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/errorIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/errorMediumIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/errorMediumIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/errorRedDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/errorRedDot.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/fileSystem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/fileSystem.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/forward.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/frame.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/glossyHeader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/glossyHeader.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/glossyHeaderPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/glossyHeaderPressed.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/glossyHeaderSelected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/glossyHeaderSelected.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/glossyHeaderSelectedPressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/glossyHeaderSelectedPressed.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/goArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/goArrow.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/graphLabelCalloutLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/graphLabelCalloutLeft.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/graphLabelCalloutRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/graphLabelCalloutRight.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/indexedDB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/indexedDB.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/indexedDBIndex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/indexedDBIndex.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/indexedDBObjectStore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/indexedDBObjectStore.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/localStorage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/localStorage.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/navigatorShowHideButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/navigatorShowHideButton.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/paneAddButtons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/paneAddButtons.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/paneBottomGrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/paneBottomGrow.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/paneBottomGrowActive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/paneBottomGrowActive.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/paneElementStateButtons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/paneElementStateButtons.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/paneFilterButtons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/paneFilterButtons.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/paneGrowHandleLine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/paneGrowHandleLine.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/paneRefreshButtons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/paneRefreshButtons.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/paneSettingsButtons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/paneSettingsButtons.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/popoverArrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/popoverArrows.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/popoverBackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/popoverBackground.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/profileGroupIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/profileGroupIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/profileIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/profileIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/profileSmallIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/profileSmallIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/profilesSilhouette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/profilesSilhouette.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/programCounterBorder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/programCounterBorder.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/radioDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/radioDot.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/resourceCSSIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/resourceCSSIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/resourceDocumentIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/resourceDocumentIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/resourceDocumentIconSmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/resourceDocumentIconSmall.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/resourceJSIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/resourceJSIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/resourcePlainIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/resourcePlainIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/resourcePlainIconSmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/resourcePlainIconSmall.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/resourcesSizeGraphIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/resourcesSizeGraphIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/resourcesTimeGraphIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/resourcesTimeGraphIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/scriptsSilhouette.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/scriptsSilhouette.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/searchNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/searchNext.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/searchPrev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/searchPrev.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/searchSmallBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/searchSmallBlue.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/searchSmallBrightBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/searchSmallBrightBlue.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/searchSmallGray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/searchSmallGray.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/searchSmallWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/searchSmallWhite.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/segment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/segment.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/segmentChromium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/segmentChromium.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/segmentEnd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/segmentEnd.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/segmentHover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/segmentHover.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/segmentHoverChromium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/segmentHoverChromium.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/segmentHoverEnd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/segmentHoverEnd.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/segmentHoverEndChromium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/segmentHoverEndChromium.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/segmentSelected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/segmentSelected.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/segmentSelectedChromium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/segmentSelectedChromium.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/segmentSelectedEnd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/segmentSelectedEnd.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/segmentSelectedEndChromium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/segmentSelectedEndChromium.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/sessionStorage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/sessionStorage.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/spinner.gif -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/spinnerActive.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/spinnerActive.gif -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/spinnerActiveSelected.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/spinnerActiveSelected.gif -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/spinnerInactive.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/spinnerInactive.gif -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/spinnerInactiveSelected.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/spinnerInactiveSelected.gif -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/splitviewDimple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/splitviewDimple.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/splitviewDividerBackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/splitviewDividerBackground.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/statusbarButtonGlyphs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/statusbarButtonGlyphs.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/statusbarResizerHorizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/statusbarResizerHorizontal.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/statusbarResizerVertical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/statusbarResizerVertical.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/successGreenDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/successGreenDot.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/thumbActiveHoriz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/thumbActiveHoriz.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/thumbActiveVert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/thumbActiveVert.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/thumbHoriz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/thumbHoriz.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/thumbHoverHoriz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/thumbHoverHoriz.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/thumbHoverVert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/thumbHoverVert.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/thumbVert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/thumbVert.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/tickMark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/tickMark.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillBlue.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillGray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillGray.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillGreen.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillOrange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillOrange.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillPurple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillPurple.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillRed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillRed.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillYellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelineHollowPillYellow.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelinePillBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelinePillBlue.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelinePillGray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelinePillGray.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelinePillGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelinePillGreen.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelinePillOrange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelinePillOrange.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelinePillPurple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelinePillPurple.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelinePillRed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelinePillRed.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/timelinePillYellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/timelinePillYellow.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/toolbarIcons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/toolbarIcons.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/toolbarIconsSmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/toolbarIconsSmall.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/toolbarItemSelected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/toolbarItemSelected.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/trackHoriz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/trackHoriz.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/trackVert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/trackVert.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/treeDownTriangleBlack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/treeDownTriangleBlack.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/treeDownTriangleWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/treeDownTriangleWhite.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/treeRightTriangleBlack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/treeRightTriangleBlack.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/treeRightTriangleWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/treeRightTriangleWhite.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/treeUpTriangleBlack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/treeUpTriangleBlack.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/treeUpTriangleWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/treeUpTriangleWhite.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/userInputIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/userInputIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/userInputPreviousIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/userInputPreviousIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/userInputResultIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/userInputResultIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/warningIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/warningIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/warningMediumIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/warningMediumIcon.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/warningOrangeDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/warningOrangeDot.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/Images/warningsErrors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/devtools/Images/warningsErrors.png -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/PropertiesSection.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007 Apple Inc. All rights reserved. 3 | * Copyright (C) 2009 Google Inc. All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions 7 | * are met: 8 | * 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of 15 | * its contributors may be used to endorse or promote products derived 16 | * from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 19 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 22 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 27 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | */ 29 | 30 | /** 31 | * @constructor 32 | * @extends {WebInspector.Section} 33 | * @param {string|Element} title 34 | * @param {string=} subtitle 35 | */ 36 | WebInspector.PropertiesSection = function(title, subtitle) 37 | { 38 | WebInspector.Section.call(this, title, subtitle); 39 | 40 | this.headerElement.addStyleClass("monospace"); 41 | this.propertiesElement = document.createElement("ol"); 42 | this.propertiesElement.className = "properties properties-tree monospace"; 43 | this.propertiesTreeOutline = new TreeOutline(this.propertiesElement, true); 44 | this.propertiesTreeOutline.setFocusable(false); 45 | this.propertiesTreeOutline.section = this; 46 | 47 | this.element.appendChild(this.propertiesElement); 48 | } 49 | 50 | WebInspector.PropertiesSection.prototype.__proto__ = WebInspector.Section.prototype; 51 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/RequestHTMLView.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above 11 | * copyright notice, this list of conditions and the following disclaimer 12 | * in the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name of Google Inc. nor the names of its 15 | * contributors may be used to endorse or promote products derived from 16 | * this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | /** 32 | * @constructor 33 | * @extends {WebInspector.RequestView} 34 | * @param {WebInspector.NetworkRequest} request 35 | */ 36 | WebInspector.RequestHTMLView = function(request) 37 | { 38 | WebInspector.RequestView.call(this, request); 39 | this.element.addStyleClass("html"); 40 | } 41 | 42 | WebInspector.RequestHTMLView.prototype = { 43 | hasContent: function() 44 | { 45 | return true; 46 | }, 47 | 48 | wasShown: function() 49 | { 50 | this._createIFrame(); 51 | }, 52 | 53 | willHide: function(parentElement) 54 | { 55 | this.element.removeChildren(); 56 | }, 57 | 58 | _createIFrame: function() 59 | { 60 | // We need to create iframe again each time because contentDocument 61 | // is deleted when iframe is removed from its parent. 62 | this.element.removeChildren(); 63 | var iframe = document.createElement("iframe"); 64 | this.element.appendChild(iframe); 65 | iframe.setAttribute("sandbox", ""); // Forbid to run JavaScript and set unique origin. 66 | 67 | iframe.contentDocument.body.innerHTML = this.request.content; 68 | } 69 | } 70 | 71 | WebInspector.RequestHTMLView.prototype.__proto__ = WebInspector.RequestView.prototype; 72 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/SourceMapping.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above 11 | * copyright notice, this list of conditions and the following disclaimer 12 | * in the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name of Google Inc. nor the names of its 15 | * contributors may be used to endorse or promote products derived from 16 | * this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | /** 32 | * @interface 33 | */ 34 | WebInspector.SourceMapping = function() 35 | { 36 | } 37 | 38 | WebInspector.SourceMapping.prototype = { 39 | /** 40 | * @param {WebInspector.RawLocation} rawLocation 41 | * @return {WebInspector.UILocation} 42 | */ 43 | rawLocationToUILocation: function(rawLocation) { }, 44 | 45 | /** 46 | * @param {WebInspector.UISourceCode} uiSourceCode 47 | * @param {number} lineNumber 48 | * @param {number} columnNumber 49 | * @return {WebInspector.RawLocation} 50 | */ 51 | uiLocationToRawLocation: function(uiSourceCode, lineNumber, columnNumber) { } 52 | } 53 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/TestController.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2009 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above 11 | * copyright notice, this list of conditions and the following disclaimer 12 | * in the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name of Google Inc. nor the names of its 15 | * contributors may be used to endorse or promote products derived from 16 | * this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | /** 32 | * @constructor 33 | */ 34 | WebInspector.TestController = function() 35 | { 36 | } 37 | 38 | WebInspector.TestController.prototype = { 39 | notifyDone: function(callId, result) 40 | { 41 | var message = typeof result === "undefined" ? "\"\"" : JSON.stringify(result); 42 | RuntimeAgent.evaluate("didEvaluateForTestInFrontend(" + callId + ", " + message + ")", "test"); 43 | } 44 | } 45 | 46 | WebInspector.evaluateForTestInFrontend = function(callId, script) 47 | { 48 | function invokeMethod() 49 | { 50 | try { 51 | var result = window.eval(script); 52 | WebInspector.TestController.prototype.notifyDone(callId, result); 53 | } catch (e) { 54 | WebInspector.TestController.prototype.notifyDone(callId, e.toString()); 55 | } 56 | } 57 | InspectorBackend.runAfterPendingDispatches(invokeMethod); 58 | } 59 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/cmdevtools.css: -------------------------------------------------------------------------------- 1 | .CodeMirror { 2 | line-height: 1.2em !important; 3 | } 4 | .CodeMirror-scroll { 5 | height: 100% !important; 6 | } 7 | 8 | .cm-highlight { 9 | -webkit-animation: "fadeout" 2s 0s; 10 | } 11 | @-webkit-keyframes fadeout { 12 | from {background-color: rgb(255, 255, 120); } 13 | to { background-color: white; } 14 | } 15 | .cm-breakpoint { 16 | color: white !important; 17 | margin-right: -8px !important; 18 | margin-left: -6px !important; 19 | border-width: 0 8px 0px 2px !important; 20 | -webkit-border-image: url(Images/breakpointBorder.png) 1 14 1 2; 21 | } 22 | .cm-breakpoint-disabled { 23 | opacity: 0.5; 24 | } 25 | .cm-breakpoint-conditional { 26 | -webkit-border-image: url(Images/breakpointConditionalBorder.png) 1 14 1 2; 27 | } 28 | .cm-execution-line { 29 | background-color: rgb(171, 191, 254) !important; 30 | outline: 1px solid rgb(64, 115, 244); 31 | } 32 | 33 | .cm-s-web-inspector-js span.cm-keyword {color: rgb(170, 13, 145);} 34 | .cm-s-web-inspector-js span.cm-number {color: rgb(28, 0, 207);} 35 | .cm-s-web-inspector-js span.cm-comment {color: rgb(0, 116, 0);} 36 | .cm-s-web-inspector-js span.cm-string {color: rgb(196, 26, 22);} 37 | .cm-s-web-inspector-js span.cm-string-2 {color: rgb(196, 26, 22);} 38 | 39 | .cm-s-web-inspector-css span.cm-keyword { color: rgb(7, 144, 154);} 40 | .cm-s-web-inspector-css span.cm-number {color: rgb(50, 0, 255);} 41 | .cm-s-web-inspector-css span.cm-comment {color: rgb(0, 116, 0);} 42 | .cm-s-web-inspector-css span.cm-string {color: rgb(7, 144, 154);} 43 | .cm-s-web-inspector-css span.cm-string-2 {color: rgb(7, 144, 154);} 44 | .cm-s-web-inspector-css span.cm-link {color: rgb(7, 144, 154);} 45 | .cm-s-web-inspector-css span.cm-variable {color: rgb(200, 0, 0);} 46 | 47 | .cm-s-web-inspector-html span.cm-meta {color: rgb(192, 192, 192);} 48 | .cm-s-web-inspector-html span.cm-comment {color: rgb(35, 110, 37);} 49 | .cm-s-web-inspector-html span.cm-string {color: rgb(26, 26, 166);} 50 | .cm-s-web-inspector-html span.cm-tag {color: rgb(136, 18, 128);} 51 | .cm-s-web-inspector-html span.cm-attribute {color: rgb(153, 69, 0);} 52 | .cm-s-web-inspector-html span.cm-link {color: #00e;} 53 | 54 | .webkit-html-message-bubble { 55 | -webkit-box-shadow: black 0px 2px 5px; 56 | -webkit-border-radius: 9px; 57 | -webkit-border-fit: lines; 58 | font-size: 10px; 59 | font-family: Lucida Grande, sans-serif; 60 | font-weight: bold; 61 | margin: 0px 10px; 62 | padding: 0 7px 1px; 63 | z-index: 5; 64 | } 65 | .webkit-html-warning-message { 66 | background-color: rgb(100%, 62%, 42%); 67 | border: 2px solid rgb(100%, 52%, 21%); 68 | } 69 | .webkit-html-error-message { 70 | background-color: rgb(100%, 42%, 42%); 71 | border: 2px solid rgb(100%, 31%, 31%); 72 | } 73 | .webkit-html-message-line { 74 | padding-left: 23px; 75 | text-indent: -20px; 76 | } 77 | .webkit-html-message-line-hover { 78 | padding-left: 23px; 79 | text-indent: -20px; 80 | white-space: auto; 81 | text-overflow: auto; 82 | overflow: auto; 83 | } 84 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/dialog.css: -------------------------------------------------------------------------------- 1 | .dialog-glass-pane { 2 | position: absolute; 3 | top: 0; 4 | bottom: 0; 5 | left: 0; 6 | right: 0; 7 | z-index: 1900; 8 | } 9 | 10 | .dialog { 11 | position: absolute; 12 | 13 | padding: 10px; 14 | border-radius: 10px; 15 | border: 1px solid gray; 16 | 17 | -webkit-box-shadow: rgb(40,40,40) 0px 0px 50px; 18 | 19 | display: -webkit-box; 20 | -webkit-box-orient: vertical; 21 | 22 | background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#E9E9E9), to(#CFCFCF)); 23 | font-size: 11px; 24 | font-family: 'Lucida Grande', sans-serif; 25 | } 26 | 27 | .dialog-contents { 28 | width: 100%; 29 | height: 100%; 30 | 31 | font-size: 11px; 32 | font-family: 'Lucida Grande', sans-serif; 33 | } 34 | 35 | .go-to-line-dialog input { 36 | font-size: 11px; 37 | } 38 | 39 | .go-to-line-dialog button { 40 | font-size: 11px; 41 | color: rgb(6, 6, 6); 42 | border: 1px solid rgb(165, 165, 165); 43 | background-color: rgb(237, 237, 237); 44 | background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(252, 252, 252)), to(rgb(223, 223, 223))); 45 | -webkit-border-radius: 12px; 46 | -webkit-appearance: none; 47 | 48 | padding: 3px 20px; 49 | margin: 0 0 0 10px; 50 | } 51 | 52 | .go-to-line-dialog button:active { 53 | background-color: rgb(215, 215, 215); 54 | background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(194, 194, 194)), to(rgb(239, 239, 239))); 55 | } 56 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/filteredItemSelectionDialog.css: -------------------------------------------------------------------------------- 1 | .js-outline-dialog > input { 2 | font-size: 11px; 3 | width: 100%; 4 | height: 24px; 5 | } 6 | 7 | .js-outline-dialog > div.progress { 8 | position: absolute; 9 | top: 35px; 10 | left: 10px; 11 | right: 10px; 12 | height: 2px; 13 | } 14 | 15 | .js-outline-dialog > div.container { 16 | position: absolute; 17 | top: 38px; 18 | bottom: 10px; 19 | left: 10px; 20 | right: 10px; 21 | overflow-y: auto; 22 | border: 1px solid rgb(187, 187, 187); 23 | background-color: white; 24 | } 25 | 26 | .js-outline-dialog > .container > div.item { 27 | padding: 2px; 28 | white-space: nowrap; 29 | text-overflow: ellipsis; 30 | overflow: hidden; 31 | color: rgb(105, 105, 105); 32 | } 33 | 34 | .js-outline-dialog > .container > div.item.selected { 35 | background-color: rgb(224, 224, 224); 36 | } 37 | 38 | .js-outline-dialog > .container > div.item span.highlight { 39 | color: black; 40 | font-weight: bold; 41 | } 42 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/nativeMemoryProfiler.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2012 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above 11 | * copyright notice, this list of conditions and the following disclaimer 12 | * in the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name of Google Inc. nor the names of its 15 | * contributors may be used to endorse or promote products derived from 16 | * this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | .memory-pie-chart-container { 32 | display: -webkit-box; 33 | -webkit-box-orient: vertical; 34 | } 35 | 36 | .memory-pie-chart { 37 | -webkit-box-flex: 1; 38 | } 39 | 40 | .memory-blocks-list .swatch { 41 | background-image: none; 42 | } 43 | 44 | .memory-blocks-list { 45 | padding: 1px; 46 | font-size: 11px; 47 | } 48 | 49 | .memory-blocks-list .item { 50 | margin: 10px; 51 | } 52 | 53 | .memory-bar-chart-name { 54 | text-align: right; 55 | white-space: nowrap; 56 | } 57 | 58 | .memory-bar-chart-bar { 59 | border: 1px solid #bbb; 60 | border-radius: 2px; 61 | float: left; 62 | height: 20px; 63 | overflow: hidden; 64 | position: relative; 65 | } 66 | 67 | .memory-bar-chart-unused { 68 | background-color: rgba(255, 255, 255, 0.5); 69 | float: right; 70 | height: 100%; 71 | } 72 | 73 | .memory-bar-chart-percent { 74 | position: absolute; 75 | text-align: center; 76 | width: 100%; 77 | } 78 | 79 | .memory-bar-chart-size { 80 | text-indent: 6px; 81 | white-space: nowrap; 82 | } 83 | 84 | .memory-bar-chart-total { 85 | font-weight: bold; 86 | } 87 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/popover.css: -------------------------------------------------------------------------------- 1 | .popover { 2 | position: absolute; 3 | -webkit-border-image: url(Images/popoverBackground.png) 25 25 25 25; 4 | border-width: 25px; 5 | z-index: 100; 6 | pointer-events: none; 7 | } 8 | 9 | .popover .content { 10 | position: absolute; 11 | top: 0; 12 | bottom: 0; 13 | left: 0; 14 | right: 0; 15 | pointer-events: auto; 16 | overflow: auto; 17 | -webkit-user-select: text; 18 | } 19 | 20 | .popover .content.fixed-height { 21 | overflow: hidden; 22 | } 23 | 24 | .popover .arrow { 25 | position: absolute; 26 | background-image: url(Images/popoverArrows.png); 27 | width: 19px; 28 | height: 19px; 29 | margin-left: 15px; 30 | margin-top: -25px; 31 | top: 0; 32 | left: 0; 33 | } 34 | 35 | .popover.top-left-arrow .arrow { 36 | /* The default is top-left, no styles needed. */ 37 | } 38 | 39 | .popover.top-right-arrow .arrow { 40 | right: 25px; 41 | left: auto; 42 | } 43 | 44 | .popover.bottom-left-arrow .arrow { 45 | top: auto; 46 | bottom: 0; 47 | margin-top: 0; 48 | margin-bottom: -25px; 49 | background-position: 0 -19px; 50 | } 51 | 52 | .popover.bottom-right-arrow .arrow { 53 | right: 15px; 54 | left: auto; 55 | top: auto; 56 | bottom: 0; 57 | margin-top: 0; 58 | margin-bottom: -25px; 59 | background-position: 0 -19px; 60 | } 61 | 62 | .popover.left-top-arrow .arrow { 63 | top: 0; 64 | margin-top: 15px; 65 | margin-left: -25px; 66 | background-position: 0 -38px; 67 | } 68 | 69 | .popover.left-bottom-arrow .arrow { 70 | top: auto; 71 | bottom: 0; 72 | margin-bottom: 15px; 73 | margin-left: -25px; 74 | background-position: 0 -38px; 75 | } 76 | 77 | .popover.right-top-arrow .arrow { 78 | right: 0; 79 | left: auto; 80 | top: 0; 81 | margin-top: 15px; 82 | margin-right: -25px; 83 | background-position: 0 -57px; 84 | } 85 | 86 | .popover.right-bottom-arrow .arrow { 87 | right: 0; 88 | left: auto; 89 | top: auto; 90 | bottom: 0; 91 | margin-bottom: 15px; 92 | margin-right: -25px; 93 | background-position: 0 -57px; 94 | } 95 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/splitView.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above 12 | * copyright notice, this list of conditions and the following disclaimer 13 | * in the documentation and/or other materials provided with the 14 | * distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. AND ITS CONTRIBUTORS 17 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. 20 | * OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | .split-view { 30 | position: absolute; 31 | top: 0; 32 | bottom: 0; 33 | left: 0; 34 | right: 0; 35 | overflow: hidden; 36 | } 37 | 38 | .split-view-contents { 39 | position: absolute; 40 | top: 0; 41 | bottom: 0; 42 | overflow: auto; 43 | cursor: default; 44 | } 45 | 46 | .split-view-sidebar-left { 47 | border-right: 1px solid rgb(64%, 64%, 64%); 48 | } 49 | 50 | .split-view-sidebar-left.maximized { 51 | border-right: none; 52 | } 53 | 54 | .split-view-sidebar-right { 55 | border-left: 1px solid rgb(64%, 64%, 64%); 56 | } 57 | 58 | .split-view-sidebar-right.maximized { 59 | border-right: none; 60 | } 61 | 62 | .split-view-resizer { 63 | position: absolute; 64 | top: 0; 65 | bottom: 0; 66 | width: 5px; 67 | z-index: 500; 68 | cursor: ew-resize; 69 | } 70 | 71 | .sidebar-overlay { 72 | position: absolute; 73 | top: 0; 74 | bottom: 0; 75 | left: 0; 76 | z-index: 10; 77 | background-color: white; 78 | border-right: 1px solid gray; 79 | -webkit-box-shadow: rgb(90,90,90) 20px 0px 50px -25px; 80 | display: -webkit-box; 81 | -webkit-box-orient: vertical; 82 | } 83 | 84 | .sidebar-overlay-resizer { 85 | position: absolute; 86 | top: 0; 87 | bottom: 0; 88 | width: 5px; 89 | z-index: 500; 90 | cursor: ew-resize; 91 | } 92 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/devtools/textPrompt.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above 11 | * copyright notice, this list of conditions and the following disclaimer 12 | * in the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name of Google Inc. nor the names of its 15 | * contributors may be used to endorse or promote products derived from 16 | * this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | .suggest-box { 32 | position: absolute; 33 | background-color: #FFFFFF; 34 | display: block; 35 | border: 1px solid black; 36 | padding: 2px; 37 | z-index: 100; 38 | } 39 | 40 | .suggest-box .container { 41 | position: absolute; 42 | top: 0; 43 | left: 0; 44 | right: 0; 45 | bottom: 0; 46 | overflow-x: hidden; 47 | overflow-y: auto; 48 | } 49 | 50 | .suggest-box-content-item { 51 | padding: 1px; 52 | margin: 0; 53 | font-size: 11px; 54 | overflow: hidden; 55 | text-overflow: ellipsis; 56 | border: 1px solid transparent; 57 | } 58 | 59 | .suggest-box-content-item .prefix { 60 | font-weight: bold; 61 | } 62 | 63 | .suggest-box-content-item.selected { 64 | background-color: rgb(212, 212, 212); 65 | } 66 | 67 | .suggest-box-content-item:hover:not(.selected) { 68 | border: 1px solid rgb(204, 204, 204); 69 | } 70 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/PhonyPony/web/favicon.ico -------------------------------------------------------------------------------- /PhonyPony/PhonyPony/web/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | PonyGateway 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 20 | 21 |

Connect a PonyDebugger client to .

22 | 23 |
24 | 25 |
26 |

No Clients Connected

27 |
28 |
29 | 30 |
31 |
32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 62 | 63 | 68 | 69 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPonyTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | com.phonypony.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /PhonyPony/PhonyPonyTests/PhonyPonyTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // PhonyPonyTests.m 3 | // PhonyPonyTests 4 | // 5 | // Created by Ryan Olson on 4/8/15. 6 | // Copyright (c) 2015 PhonyPony. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface PhonyPonyTests : XCTestCase 13 | 14 | @end 15 | 16 | @implementation PhonyPonyTests 17 | 18 | - (void)setUp { 19 | [super setUp]; 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | } 22 | 23 | - (void)tearDown { 24 | // Put teardown code here. This method is called after the invocation of each test method in the class. 25 | [super tearDown]; 26 | } 27 | 28 | - (void)testExample { 29 | // This is an example of a functional test case. 30 | XCTAssert(YES, @"Pass"); 31 | } 32 | 33 | - (void)testPerformanceExample { 34 | // This is an example of a performance test case. 35 | [self measureBlock:^{ 36 | // Put the code you want to measure the time of here. 37 | }]; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /PhonyPony/Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, '8.0' 2 | 3 | target 'PhonyPony' do 4 | pod 'SVWebViewController', '~> 1.0', :inhibit_warnings => true 5 | pod 'CocoaHTTPServer', '~> 2.3', :inhibit_warnings => true 6 | end 7 | -------------------------------------------------------------------------------- /PhonyPony/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - CocoaAsyncSocket (7.4.1) 3 | - CocoaHTTPServer (2.3): 4 | - CocoaAsyncSocket 5 | - CocoaLumberjack 6 | - CocoaLumberjack (2.0.0): 7 | - CocoaLumberjack/Default (= 2.0.0) 8 | - CocoaLumberjack/Extensions (= 2.0.0) 9 | - CocoaLumberjack/Core (2.0.0) 10 | - CocoaLumberjack/Default (2.0.0): 11 | - CocoaLumberjack/Core 12 | - CocoaLumberjack/Extensions (2.0.0): 13 | - CocoaLumberjack/Default 14 | - SVWebViewController (1.0) 15 | 16 | DEPENDENCIES: 17 | - CocoaHTTPServer (~> 2.3) 18 | - SVWebViewController (~> 1.0) 19 | 20 | SPEC CHECKSUMS: 21 | CocoaAsyncSocket: 7cbf214b27f8e7f7574db6a3fd96352ffaed433d 22 | CocoaHTTPServer: 5624681fc3473d43b18202f635f9b3abb013b530 23 | CocoaLumberjack: a6f77d987d65dc7ba86b0f84db7d0b9084f77bcb 24 | SVWebViewController: c36dda7326e81fcae0abf5d02bf7bbf7e41be901 25 | 26 | COCOAPODS: 0.36.3 27 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Categories/DDData.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface NSData (DDData) 4 | 5 | - (NSData *)md5Digest; 6 | 7 | - (NSData *)sha1Digest; 8 | 9 | - (NSString *)hexStringValue; 10 | 11 | - (NSString *)base64Encoded; 12 | - (NSData *)base64Decoded; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Categories/DDNumber.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | @interface NSNumber (DDNumber) 5 | 6 | + (BOOL)parseString:(NSString *)str intoSInt64:(SInt64 *)pNum; 7 | + (BOOL)parseString:(NSString *)str intoUInt64:(UInt64 *)pNum; 8 | 9 | + (BOOL)parseString:(NSString *)str intoNSInteger:(NSInteger *)pNum; 10 | + (BOOL)parseString:(NSString *)str intoNSUInteger:(NSUInteger *)pNum; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Categories/DDNumber.m: -------------------------------------------------------------------------------- 1 | #import "DDNumber.h" 2 | 3 | 4 | @implementation NSNumber (DDNumber) 5 | 6 | + (BOOL)parseString:(NSString *)str intoSInt64:(SInt64 *)pNum 7 | { 8 | if(str == nil) 9 | { 10 | *pNum = 0; 11 | return NO; 12 | } 13 | 14 | errno = 0; 15 | 16 | // On both 32-bit and 64-bit machines, long long = 64 bit 17 | 18 | *pNum = strtoll([str UTF8String], NULL, 10); 19 | 20 | if(errno != 0) 21 | return NO; 22 | else 23 | return YES; 24 | } 25 | 26 | + (BOOL)parseString:(NSString *)str intoUInt64:(UInt64 *)pNum 27 | { 28 | if(str == nil) 29 | { 30 | *pNum = 0; 31 | return NO; 32 | } 33 | 34 | errno = 0; 35 | 36 | // On both 32-bit and 64-bit machines, unsigned long long = 64 bit 37 | 38 | *pNum = strtoull([str UTF8String], NULL, 10); 39 | 40 | if(errno != 0) 41 | return NO; 42 | else 43 | return YES; 44 | } 45 | 46 | + (BOOL)parseString:(NSString *)str intoNSInteger:(NSInteger *)pNum 47 | { 48 | if(str == nil) 49 | { 50 | *pNum = 0; 51 | return NO; 52 | } 53 | 54 | errno = 0; 55 | 56 | // On LP64, NSInteger = long = 64 bit 57 | // Otherwise, NSInteger = int = long = 32 bit 58 | 59 | *pNum = strtol([str UTF8String], NULL, 10); 60 | 61 | if(errno != 0) 62 | return NO; 63 | else 64 | return YES; 65 | } 66 | 67 | + (BOOL)parseString:(NSString *)str intoNSUInteger:(NSUInteger *)pNum 68 | { 69 | if(str == nil) 70 | { 71 | *pNum = 0; 72 | return NO; 73 | } 74 | 75 | errno = 0; 76 | 77 | // On LP64, NSUInteger = unsigned long = 64 bit 78 | // Otherwise, NSUInteger = unsigned int = unsigned long = 32 bit 79 | 80 | *pNum = strtoul([str UTF8String], NULL, 10); 81 | 82 | if(errno != 0) 83 | return NO; 84 | else 85 | return YES; 86 | } 87 | 88 | @end 89 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Categories/DDRange.h: -------------------------------------------------------------------------------- 1 | /** 2 | * DDRange is the functional equivalent of a 64 bit NSRange. 3 | * The HTTP Server is designed to support very large files. 4 | * On 32 bit architectures (ppc, i386) NSRange uses unsigned 32 bit integers. 5 | * This only supports a range of up to 4 gigabytes. 6 | * By defining our own variant, we can support a range up to 16 exabytes. 7 | * 8 | * All effort is given such that DDRange functions EXACTLY the same as NSRange. 9 | **/ 10 | 11 | #import 12 | #import 13 | 14 | @class NSString; 15 | 16 | typedef struct _DDRange { 17 | UInt64 location; 18 | UInt64 length; 19 | } DDRange; 20 | 21 | typedef DDRange *DDRangePointer; 22 | 23 | NS_INLINE DDRange DDMakeRange(UInt64 loc, UInt64 len) { 24 | DDRange r; 25 | r.location = loc; 26 | r.length = len; 27 | return r; 28 | } 29 | 30 | NS_INLINE UInt64 DDMaxRange(DDRange range) { 31 | return (range.location + range.length); 32 | } 33 | 34 | NS_INLINE BOOL DDLocationInRange(UInt64 loc, DDRange range) { 35 | return (loc - range.location < range.length); 36 | } 37 | 38 | NS_INLINE BOOL DDEqualRanges(DDRange range1, DDRange range2) { 39 | return ((range1.location == range2.location) && (range1.length == range2.length)); 40 | } 41 | 42 | FOUNDATION_EXPORT DDRange DDUnionRange(DDRange range1, DDRange range2); 43 | FOUNDATION_EXPORT DDRange DDIntersectionRange(DDRange range1, DDRange range2); 44 | FOUNDATION_EXPORT NSString *DDStringFromRange(DDRange range); 45 | FOUNDATION_EXPORT DDRange DDRangeFromString(NSString *aString); 46 | 47 | NSInteger DDRangeCompare(DDRangePointer pDDRange1, DDRangePointer pDDRange2); 48 | 49 | @interface NSValue (NSValueDDRangeExtensions) 50 | 51 | + (NSValue *)valueWithDDRange:(DDRange)range; 52 | - (DDRange)ddrangeValue; 53 | 54 | - (NSInteger)ddrangeCompare:(NSValue *)ddrangeValue; 55 | 56 | @end 57 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/HTTPAuthenticationRequest.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #if TARGET_OS_IPHONE 4 | // Note: You may need to add the CFNetwork Framework to your project 5 | #import 6 | #endif 7 | 8 | @class HTTPMessage; 9 | 10 | 11 | @interface HTTPAuthenticationRequest : NSObject 12 | { 13 | BOOL isBasic; 14 | BOOL isDigest; 15 | 16 | NSString *base64Credentials; 17 | 18 | NSString *username; 19 | NSString *realm; 20 | NSString *nonce; 21 | NSString *uri; 22 | NSString *qop; 23 | NSString *nc; 24 | NSString *cnonce; 25 | NSString *response; 26 | } 27 | - (id)initWithRequest:(HTTPMessage *)request; 28 | 29 | - (BOOL)isBasic; 30 | - (BOOL)isDigest; 31 | 32 | // Basic 33 | - (NSString *)base64Credentials; 34 | 35 | // Digest 36 | - (NSString *)username; 37 | - (NSString *)realm; 38 | - (NSString *)nonce; 39 | - (NSString *)uri; 40 | - (NSString *)qop; 41 | - (NSString *)nc; 42 | - (NSString *)cnonce; 43 | - (NSString *)response; 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/HTTPMessage.h: -------------------------------------------------------------------------------- 1 | /** 2 | * The HTTPMessage class is a simple Objective-C wrapper around Apple's CFHTTPMessage class. 3 | **/ 4 | 5 | #import 6 | 7 | #if TARGET_OS_IPHONE 8 | // Note: You may need to add the CFNetwork Framework to your project 9 | #import 10 | #endif 11 | 12 | #define HTTPVersion1_0 ((NSString *)kCFHTTPVersion1_0) 13 | #define HTTPVersion1_1 ((NSString *)kCFHTTPVersion1_1) 14 | 15 | 16 | @interface HTTPMessage : NSObject 17 | { 18 | CFHTTPMessageRef message; 19 | } 20 | 21 | - (id)initEmptyRequest; 22 | 23 | - (id)initRequestWithMethod:(NSString *)method URL:(NSURL *)url version:(NSString *)version; 24 | 25 | - (id)initResponseWithStatusCode:(NSInteger)code description:(NSString *)description version:(NSString *)version; 26 | 27 | - (BOOL)appendData:(NSData *)data; 28 | 29 | - (BOOL)isHeaderComplete; 30 | 31 | - (NSString *)version; 32 | 33 | - (NSString *)method; 34 | - (NSURL *)url; 35 | 36 | - (NSInteger)statusCode; 37 | 38 | - (NSDictionary *)allHeaderFields; 39 | - (NSString *)headerField:(NSString *)headerField; 40 | 41 | - (void)setHeaderField:(NSString *)headerField value:(NSString *)headerFieldValue; 42 | 43 | - (NSData *)messageData; 44 | 45 | - (NSData *)body; 46 | - (void)setBody:(NSData *)body; 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Mime/MultipartFormDataParser.h: -------------------------------------------------------------------------------- 1 | 2 | #import "MultipartMessageHeader.h" 3 | 4 | /* 5 | Part one: http://tools.ietf.org/html/rfc2045 (Format of Internet Message Bodies) 6 | Part two: http://tools.ietf.org/html/rfc2046 (Media Types) 7 | Part three: http://tools.ietf.org/html/rfc2047 (Message Header Extensions for Non-ASCII Text) 8 | Part four: http://tools.ietf.org/html/rfc4289 (Registration Procedures) 9 | Part five: http://tools.ietf.org/html/rfc2049 (Conformance Criteria and Examples) 10 | 11 | Internet message format: http://tools.ietf.org/html/rfc2822 12 | 13 | Multipart/form-data http://tools.ietf.org/html/rfc2388 14 | */ 15 | 16 | @class MultipartFormDataParser; 17 | 18 | //----------------------------------------------------------------- 19 | // protocol MultipartFormDataParser 20 | //----------------------------------------------------------------- 21 | 22 | @protocol MultipartFormDataParserDelegate 23 | @optional 24 | - (void) processContent:(NSData*) data WithHeader:(MultipartMessageHeader*) header; 25 | - (void) processEndOfPartWithHeader:(MultipartMessageHeader*) header; 26 | - (void) processPreambleData:(NSData*) data; 27 | - (void) processEpilogueData:(NSData*) data; 28 | - (void) processStartOfPartWithHeader:(MultipartMessageHeader*) header; 29 | @end 30 | 31 | //----------------------------------------------------------------- 32 | // interface MultipartFormDataParser 33 | //----------------------------------------------------------------- 34 | 35 | @interface MultipartFormDataParser : NSObject { 36 | NSMutableData* pendingData; 37 | NSData* boundaryData; 38 | MultipartMessageHeader* currentHeader; 39 | 40 | BOOL waitingForCRLF; 41 | BOOL reachedEpilogue; 42 | BOOL processedPreamble; 43 | BOOL checkForContentEnd; 44 | 45 | #if __has_feature(objc_arc_weak) 46 | __weak id delegate; 47 | #else 48 | __unsafe_unretained id delegate; 49 | #endif 50 | int currentEncoding; 51 | NSStringEncoding formEncoding; 52 | } 53 | 54 | - (BOOL) appendData:(NSData*) data; 55 | 56 | - (id) initWithBoundary:(NSString*) boundary formEncoding:(NSStringEncoding) formEncoding; 57 | 58 | #if __has_feature(objc_arc_weak) 59 | @property(weak, readwrite) id delegate; 60 | #else 61 | @property(unsafe_unretained, readwrite) id delegate; 62 | #endif 63 | @property(readwrite) NSStringEncoding formEncoding; 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Mime/MultipartMessageHeader.h: -------------------------------------------------------------------------------- 1 | // 2 | // MultipartMessagePart.h 3 | // HttpServer 4 | // 5 | // Created by Валерий Гаврилов on 29.03.12. 6 | // Copyright (c) 2012 LLC "Online Publishing Partners" (onlinepp.ru). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | //----------------------------------------------------------------- 13 | // interface MultipartMessageHeader 14 | //----------------------------------------------------------------- 15 | enum { 16 | contentTransferEncoding_unknown, 17 | contentTransferEncoding_7bit, 18 | contentTransferEncoding_8bit, 19 | contentTransferEncoding_binary, 20 | contentTransferEncoding_base64, 21 | contentTransferEncoding_quotedPrintable, 22 | }; 23 | 24 | @interface MultipartMessageHeader : NSObject { 25 | NSMutableDictionary* fields; 26 | int encoding; 27 | NSString* contentDispositionName; 28 | } 29 | @property (strong,readonly) NSDictionary* fields; 30 | @property (readonly) int encoding; 31 | 32 | - (id) initWithData:(NSData*) data formEncoding:(NSStringEncoding) encoding; 33 | @end 34 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Mime/MultipartMessageHeader.m: -------------------------------------------------------------------------------- 1 | // 2 | // MultipartMessagePart.m 3 | // HttpServer 4 | // 5 | // Created by Валерий Гаврилов on 29.03.12. 6 | // Copyright (c) 2012 LLC "Online Publishing Partners" (onlinepp.ru). All rights reserved. 7 | 8 | #import "MultipartMessageHeader.h" 9 | #import "MultipartMessageHeaderField.h" 10 | 11 | #import "HTTPLogging.h" 12 | 13 | //----------------------------------------------------------------- 14 | #pragma mark log level 15 | 16 | #ifdef DEBUG 17 | static const int httpLogLevel = HTTP_LOG_LEVEL_WARN; 18 | #else 19 | static const int httpLogLevel = HTTP_LOG_LEVEL_WARN; 20 | #endif 21 | 22 | //----------------------------------------------------------------- 23 | // implementation MultipartMessageHeader 24 | //----------------------------------------------------------------- 25 | 26 | 27 | @implementation MultipartMessageHeader 28 | @synthesize fields,encoding; 29 | 30 | 31 | - (id) initWithData:(NSData *)data formEncoding:(NSStringEncoding) formEncoding { 32 | if( nil == (self = [super init]) ) { 33 | return self; 34 | } 35 | 36 | fields = [[NSMutableDictionary alloc] initWithCapacity:1]; 37 | 38 | // In case encoding is not mentioned, 39 | encoding = contentTransferEncoding_unknown; 40 | 41 | char* bytes = (char*)data.bytes; 42 | int length = data.length; 43 | int offset = 0; 44 | 45 | // split header into header fields, separated by \r\n 46 | uint16_t fields_separator = 0x0A0D; // \r\n 47 | while( offset < length - 2 ) { 48 | 49 | // the !isspace condition is to support header unfolding 50 | if( (*(uint16_t*) (bytes+offset) == fields_separator) && ((offset == length - 2) || !(isspace(bytes[offset+2])) )) { 51 | NSData* fieldData = [NSData dataWithBytesNoCopy:bytes length:offset freeWhenDone:NO]; 52 | MultipartMessageHeaderField* field = [[MultipartMessageHeaderField alloc] initWithData: fieldData contentEncoding:formEncoding]; 53 | if( field ) { 54 | [fields setObject:field forKey:field.name]; 55 | HTTPLogVerbose(@"MultipartFormDataParser: Processed Header field '%@'",field.name); 56 | } 57 | else { 58 | NSString* fieldStr = [[NSString alloc] initWithData:fieldData encoding:NSASCIIStringEncoding]; 59 | HTTPLogWarn(@"MultipartFormDataParser: Failed to parse MIME header field. Input ASCII string:%@",fieldStr); 60 | } 61 | 62 | // move to the next header field 63 | bytes += offset + 2; 64 | length -= offset + 2; 65 | offset = 0; 66 | continue; 67 | } 68 | ++ offset; 69 | } 70 | 71 | if( !fields.count ) { 72 | // it was an empty header. 73 | // we have to set default values. 74 | // default header. 75 | [fields setObject:@"text/plain" forKey:@"Content-Type"]; 76 | } 77 | 78 | return self; 79 | } 80 | 81 | - (NSString *)description { 82 | return [NSString stringWithFormat:@"%@",fields]; 83 | } 84 | 85 | 86 | @end 87 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Mime/MultipartMessageHeaderField.h: -------------------------------------------------------------------------------- 1 | 2 | #import 3 | 4 | //----------------------------------------------------------------- 5 | // interface MultipartMessageHeaderField 6 | //----------------------------------------------------------------- 7 | 8 | @interface MultipartMessageHeaderField : NSObject { 9 | NSString* name; 10 | NSString* value; 11 | NSMutableDictionary* params; 12 | } 13 | 14 | @property (strong, readonly) NSString* value; 15 | @property (strong, readonly) NSDictionary* params; 16 | @property (strong, readonly) NSString* name; 17 | 18 | //- (id) initWithLine:(NSString*) line; 19 | //- (id) initWithName:(NSString*) paramName value:(NSString*) paramValue; 20 | 21 | - (id) initWithData:(NSData*) data contentEncoding:(NSStringEncoding) encoding; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Responses/HTTPAsyncFileResponse.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "HTTPResponse.h" 3 | 4 | @class HTTPConnection; 5 | 6 | /** 7 | * This is an asynchronous version of HTTPFileResponse. 8 | * It reads data from the given file asynchronously via GCD. 9 | * 10 | * It may be overriden to allow custom post-processing of the data that has been read from the file. 11 | * An example of this is the HTTPDynamicFileResponse class. 12 | **/ 13 | 14 | @interface HTTPAsyncFileResponse : NSObject 15 | { 16 | HTTPConnection *connection; 17 | 18 | NSString *filePath; 19 | UInt64 fileLength; 20 | UInt64 fileOffset; // File offset as pertains to data given to connection 21 | UInt64 readOffset; // File offset as pertains to data read from file (but maybe not returned to connection) 22 | 23 | BOOL aborted; 24 | 25 | NSData *data; 26 | 27 | int fileFD; 28 | void *readBuffer; 29 | NSUInteger readBufferSize; // Malloced size of readBuffer 30 | NSUInteger readBufferOffset; // Offset within readBuffer where the end of existing data is 31 | NSUInteger readRequestLength; 32 | dispatch_queue_t readQueue; 33 | dispatch_source_t readSource; 34 | BOOL readSourceSuspended; 35 | } 36 | 37 | - (id)initWithFilePath:(NSString *)filePath forConnection:(HTTPConnection *)connection; 38 | - (NSString *)filePath; 39 | 40 | @end 41 | 42 | /** 43 | * Explanation of Variables (excluding those that are obvious) 44 | * 45 | * fileOffset 46 | * This is the number of bytes that have been returned to the connection via the readDataOfLength method. 47 | * If 1KB of data has been read from the file, but none of that data has yet been returned to the connection, 48 | * then the fileOffset variable remains at zero. 49 | * This variable is used in the calculation of the isDone method. 50 | * Only after all data has been returned to the connection are we actually done. 51 | * 52 | * readOffset 53 | * Represents the offset of the file descriptor. 54 | * In other words, the file position indidcator for our read stream. 55 | * It might be easy to think of it as the total number of bytes that have been read from the file. 56 | * However, this isn't entirely accurate, as the setOffset: method may have caused us to 57 | * jump ahead in the file (lseek). 58 | * 59 | * readBuffer 60 | * Malloc'd buffer to hold data read from the file. 61 | * 62 | * readBufferSize 63 | * Total allocation size of malloc'd buffer. 64 | * 65 | * readBufferOffset 66 | * Represents the position in the readBuffer where we should store new bytes. 67 | * 68 | * readRequestLength 69 | * The total number of bytes that were requested from the connection. 70 | * It's OK if we return a lesser number of bytes to the connection. 71 | * It's NOT OK if we return a greater number of bytes to the connection. 72 | * Doing so would disrupt proper support for range requests. 73 | * If, however, the response is chunked then we don't need to worry about this. 74 | * Chunked responses inheritly don't support range requests. 75 | **/ -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Responses/HTTPDataResponse.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "HTTPResponse.h" 3 | 4 | 5 | @interface HTTPDataResponse : NSObject 6 | { 7 | NSUInteger offset; 8 | NSData *data; 9 | } 10 | 11 | - (id)initWithData:(NSData *)data; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Responses/HTTPDataResponse.m: -------------------------------------------------------------------------------- 1 | #import "HTTPDataResponse.h" 2 | #import "HTTPLogging.h" 3 | 4 | #if ! __has_feature(objc_arc) 5 | #warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). 6 | #endif 7 | 8 | // Log levels : off, error, warn, info, verbose 9 | // Other flags: trace 10 | static const int httpLogLevel = HTTP_LOG_LEVEL_OFF; // | HTTP_LOG_FLAG_TRACE; 11 | 12 | 13 | @implementation HTTPDataResponse 14 | 15 | - (id)initWithData:(NSData *)dataParam 16 | { 17 | if((self = [super init])) 18 | { 19 | HTTPLogTrace(); 20 | 21 | offset = 0; 22 | data = dataParam; 23 | } 24 | return self; 25 | } 26 | 27 | - (void)dealloc 28 | { 29 | HTTPLogTrace(); 30 | 31 | } 32 | 33 | - (UInt64)contentLength 34 | { 35 | UInt64 result = (UInt64)[data length]; 36 | 37 | HTTPLogTrace2(@"%@[%p]: contentLength - %llu", THIS_FILE, self, result); 38 | 39 | return result; 40 | } 41 | 42 | - (UInt64)offset 43 | { 44 | HTTPLogTrace(); 45 | 46 | return offset; 47 | } 48 | 49 | - (void)setOffset:(UInt64)offsetParam 50 | { 51 | HTTPLogTrace2(@"%@[%p]: setOffset:%lu", THIS_FILE, self, (unsigned long)offset); 52 | 53 | offset = (NSUInteger)offsetParam; 54 | } 55 | 56 | - (NSData *)readDataOfLength:(NSUInteger)lengthParameter 57 | { 58 | HTTPLogTrace2(@"%@[%p]: readDataOfLength:%lu", THIS_FILE, self, (unsigned long)lengthParameter); 59 | 60 | NSUInteger remaining = [data length] - offset; 61 | NSUInteger length = lengthParameter < remaining ? lengthParameter : remaining; 62 | 63 | void *bytes = (void *)([data bytes] + offset); 64 | 65 | offset += length; 66 | 67 | return [NSData dataWithBytesNoCopy:bytes length:length freeWhenDone:NO]; 68 | } 69 | 70 | - (BOOL)isDone 71 | { 72 | BOOL result = (offset == [data length]); 73 | 74 | HTTPLogTrace2(@"%@[%p]: isDone - %@", THIS_FILE, self, (result ? @"YES" : @"NO")); 75 | 76 | return result; 77 | } 78 | 79 | @end 80 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Responses/HTTPDynamicFileResponse.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "HTTPResponse.h" 3 | #import "HTTPAsyncFileResponse.h" 4 | 5 | /** 6 | * This class is designed to assist with dynamic content. 7 | * Imagine you have a file that you want to make dynamic: 8 | * 9 | * 10 | * 11 | *

ComputerName Control Panel

12 | * ... 13 | *
  • System Time: SysTime
  • 14 | * 15 | * 16 | * 17 | * Now you could generate the entire file in Objective-C, 18 | * but this would be a horribly tedious process. 19 | * Beside, you want to design the file with professional tools to make it look pretty. 20 | * 21 | * So all you have to do is escape your dynamic content like this: 22 | * 23 | * ... 24 | *

    %%ComputerName%% Control Panel

    25 | * ... 26 | *
  • System Time: %%SysTime%%
  • 27 | * 28 | * And then you create an instance of this class with: 29 | * 30 | * - separator = @"%%" 31 | * - replacementDictionary = { "ComputerName"="Black MacBook", "SysTime"="2010-04-30 03:18:24" } 32 | * 33 | * This class will then perform the replacements for you, on the fly, as it reads the file data. 34 | * This class is also asynchronous, so it will perform the file IO using its own GCD queue. 35 | * 36 | * All keys for the replacementDictionary must be NSString's. 37 | * Values for the replacementDictionary may be NSString's, or any object that 38 | * returns what you want when its description method is invoked. 39 | **/ 40 | 41 | @interface HTTPDynamicFileResponse : HTTPAsyncFileResponse 42 | { 43 | NSData *separator; 44 | NSDictionary *replacementDict; 45 | } 46 | 47 | - (id)initWithFilePath:(NSString *)filePath 48 | forConnection:(HTTPConnection *)connection 49 | separator:(NSString *)separatorStr 50 | replacementDictionary:(NSDictionary *)dictionary; 51 | 52 | @end 53 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Responses/HTTPFileResponse.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "HTTPResponse.h" 3 | 4 | @class HTTPConnection; 5 | 6 | 7 | @interface HTTPFileResponse : NSObject 8 | { 9 | HTTPConnection *connection; 10 | 11 | NSString *filePath; 12 | UInt64 fileLength; 13 | UInt64 fileOffset; 14 | 15 | BOOL aborted; 16 | 17 | int fileFD; 18 | void *buffer; 19 | NSUInteger bufferSize; 20 | } 21 | 22 | - (id)initWithFilePath:(NSString *)filePath forConnection:(HTTPConnection *)connection; 23 | - (NSString *)filePath; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Responses/HTTPRedirectResponse.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "HTTPResponse.h" 3 | 4 | 5 | @interface HTTPRedirectResponse : NSObject 6 | { 7 | NSString *redirectPath; 8 | } 9 | 10 | - (id)initWithPath:(NSString *)redirectPath; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/Responses/HTTPRedirectResponse.m: -------------------------------------------------------------------------------- 1 | #import "HTTPRedirectResponse.h" 2 | #import "HTTPLogging.h" 3 | 4 | #if ! __has_feature(objc_arc) 5 | #warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). 6 | #endif 7 | 8 | // Log levels : off, error, warn, info, verbose 9 | // Other flags: trace 10 | static const int httpLogLevel = HTTP_LOG_LEVEL_OFF; // | HTTP_LOG_FLAG_TRACE; 11 | 12 | 13 | @implementation HTTPRedirectResponse 14 | 15 | - (id)initWithPath:(NSString *)path 16 | { 17 | if ((self = [super init])) 18 | { 19 | HTTPLogTrace(); 20 | 21 | redirectPath = [path copy]; 22 | } 23 | return self; 24 | } 25 | 26 | - (UInt64)contentLength 27 | { 28 | return 0; 29 | } 30 | 31 | - (UInt64)offset 32 | { 33 | return 0; 34 | } 35 | 36 | - (void)setOffset:(UInt64)offset 37 | { 38 | // Nothing to do 39 | } 40 | 41 | - (NSData *)readDataOfLength:(NSUInteger)length 42 | { 43 | HTTPLogTrace(); 44 | 45 | return nil; 46 | } 47 | 48 | - (BOOL)isDone 49 | { 50 | return YES; 51 | } 52 | 53 | - (NSDictionary *)httpHeaders 54 | { 55 | HTTPLogTrace(); 56 | 57 | return [NSDictionary dictionaryWithObject:redirectPath forKey:@"Location"]; 58 | } 59 | 60 | - (NSInteger)status 61 | { 62 | HTTPLogTrace(); 63 | 64 | return 302; 65 | } 66 | 67 | - (void)dealloc 68 | { 69 | HTTPLogTrace(); 70 | 71 | } 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Core/WebSocket.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class HTTPMessage; 4 | @class GCDAsyncSocket; 5 | 6 | 7 | #define WebSocketDidDieNotification @"WebSocketDidDie" 8 | 9 | @interface WebSocket : NSObject 10 | { 11 | dispatch_queue_t websocketQueue; 12 | 13 | HTTPMessage *request; 14 | GCDAsyncSocket *asyncSocket; 15 | 16 | NSData *term; 17 | 18 | BOOL isStarted; 19 | BOOL isOpen; 20 | BOOL isVersion76; 21 | 22 | id __unsafe_unretained delegate; 23 | } 24 | 25 | + (BOOL)isWebSocketRequest:(HTTPMessage *)request; 26 | 27 | - (id)initWithRequest:(HTTPMessage *)request socket:(GCDAsyncSocket *)socket; 28 | 29 | /** 30 | * Delegate option. 31 | * 32 | * In most cases it will be easier to subclass WebSocket, 33 | * but some circumstances may lead one to prefer standard delegate callbacks instead. 34 | **/ 35 | @property (/* atomic */ unsafe_unretained) id delegate; 36 | 37 | /** 38 | * The WebSocket class is thread-safe, generally via it's GCD queue. 39 | * All public API methods are thread-safe, 40 | * and the subclass API methods are thread-safe as they are all invoked on the same GCD queue. 41 | **/ 42 | @property (nonatomic, readonly) dispatch_queue_t websocketQueue; 43 | 44 | /** 45 | * Public API 46 | * 47 | * These methods are automatically called by the HTTPServer. 48 | * You may invoke the stop method yourself to close the WebSocket manually. 49 | **/ 50 | - (void)start; 51 | - (void)stop; 52 | 53 | /** 54 | * Public API 55 | * 56 | * Sends a message over the WebSocket. 57 | * This method is thread-safe. 58 | **/ 59 | - (void)sendMessage:(NSString *)msg; 60 | 61 | /** 62 | * Subclass API 63 | * 64 | * These methods are designed to be overriden by subclasses. 65 | **/ 66 | - (void)didOpen; 67 | - (void)didReceiveMessage:(NSString *)msg; 68 | - (void)didClose; 69 | 70 | @end 71 | 72 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 73 | #pragma mark - 74 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 75 | 76 | /** 77 | * There are two ways to create your own custom WebSocket: 78 | * 79 | * - Subclass it and override the methods you're interested in. 80 | * - Use traditional delegate paradigm along with your own custom class. 81 | * 82 | * They both exist to allow for maximum flexibility. 83 | * In most cases it will be easier to subclass WebSocket. 84 | * However some circumstances may lead one to prefer standard delegate callbacks instead. 85 | * One such example, you're already subclassing another class, so subclassing WebSocket isn't an option. 86 | **/ 87 | 88 | @protocol WebSocketDelegate 89 | @optional 90 | 91 | - (void)webSocketDidOpen:(WebSocket *)ws; 92 | 93 | - (void)webSocket:(WebSocket *)ws didReceiveMessage:(NSString *)msg; 94 | 95 | - (void)webSocketDidClose:(WebSocket *)ws; 96 | 97 | @end -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Extensions/WebDAV/DAVConnection.h: -------------------------------------------------------------------------------- 1 | #import "HTTPConnection.h" 2 | 3 | @interface DAVConnection : HTTPConnection { 4 | id requestContentBody; 5 | NSOutputStream* requestContentStream; 6 | } 7 | @end 8 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Extensions/WebDAV/DAVResponse.h: -------------------------------------------------------------------------------- 1 | #import "HTTPResponse.h" 2 | 3 | @interface DAVResponse : NSObject { 4 | @private 5 | UInt64 _offset; 6 | NSMutableDictionary* _headers; 7 | NSData* _data; 8 | NSInteger _status; 9 | } 10 | - (id) initWithMethod:(NSString*)method headers:(NSDictionary*)headers bodyData:(NSData*)body resourcePath:(NSString*)resourcePath rootPath:(NSString*)rootPath; 11 | @end 12 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Extensions/WebDAV/DELETEResponse.h: -------------------------------------------------------------------------------- 1 | #import "HTTPResponse.h" 2 | 3 | @interface DELETEResponse : NSObject { 4 | NSInteger _status; 5 | } 6 | - (id) initWithFilePath:(NSString*)path; 7 | @end 8 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Extensions/WebDAV/DELETEResponse.m: -------------------------------------------------------------------------------- 1 | #import "DELETEResponse.h" 2 | #import "HTTPLogging.h" 3 | 4 | // HTTP methods: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html 5 | // HTTP headers: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html 6 | // HTTP status codes: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 7 | 8 | static const int httpLogLevel = HTTP_LOG_LEVEL_WARN; 9 | 10 | @implementation DELETEResponse 11 | 12 | - (id) initWithFilePath:(NSString*)path { 13 | if ((self = [super init])) { 14 | BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:path]; 15 | if ([[NSFileManager defaultManager] removeItemAtPath:path error:NULL]) { 16 | _status = exists ? 200 : 204; 17 | } else { 18 | HTTPLogError(@"Failed deleting \"%@\"", path); 19 | _status = 404; 20 | } 21 | } 22 | return self; 23 | } 24 | 25 | - (UInt64) contentLength { 26 | return 0; 27 | } 28 | 29 | - (UInt64) offset { 30 | return 0; 31 | } 32 | 33 | - (void)setOffset:(UInt64)offset { 34 | ; 35 | } 36 | 37 | - (NSData*) readDataOfLength:(NSUInteger)length { 38 | return nil; 39 | } 40 | 41 | - (BOOL) isDone { 42 | return YES; 43 | } 44 | 45 | - (NSInteger) status { 46 | return _status; 47 | } 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Extensions/WebDAV/PUTResponse.h: -------------------------------------------------------------------------------- 1 | #import "HTTPResponse.h" 2 | 3 | @interface PUTResponse : NSObject { 4 | NSInteger _status; 5 | } 6 | - (id) initWithFilePath:(NSString*)path headers:(NSDictionary*)headers bodyData:(NSData*)body; 7 | - (id) initWithFilePath:(NSString*)path headers:(NSDictionary*)headers bodyFile:(NSString*)body; 8 | @end 9 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/Extensions/WebDAV/PUTResponse.m: -------------------------------------------------------------------------------- 1 | #import "PUTResponse.h" 2 | #import "HTTPLogging.h" 3 | 4 | // HTTP methods: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html 5 | // HTTP headers: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html 6 | // HTTP status codes: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 7 | 8 | static const int httpLogLevel = HTTP_LOG_LEVEL_WARN; 9 | 10 | @implementation PUTResponse 11 | 12 | - (id) initWithFilePath:(NSString*)path headers:(NSDictionary*)headers body:(id)body { 13 | if ((self = [super init])) { 14 | if ([headers objectForKey:@"Content-Range"]) { 15 | HTTPLogError(@"Content-Range not supported for upload to \"%@\"", path); 16 | _status = 400; 17 | } else { 18 | BOOL overwrite = [[NSFileManager defaultManager] fileExistsAtPath:path]; 19 | BOOL success; 20 | if ([body isKindOfClass:[NSString class]]) { 21 | [[NSFileManager defaultManager] removeItemAtPath:path error:NULL]; 22 | success = [[NSFileManager defaultManager] moveItemAtPath:body toPath:path error:NULL]; 23 | } else { 24 | success = [body writeToFile:path atomically:YES]; 25 | } 26 | if (success) { 27 | _status = overwrite ? 200 : 201; 28 | } else { 29 | HTTPLogError(@"Failed writing upload to \"%@\"", path); 30 | _status = 403; 31 | } 32 | } 33 | } 34 | return self; 35 | } 36 | 37 | - (id) initWithFilePath:(NSString*)path headers:(NSDictionary*)headers bodyData:(NSData*)body { 38 | return [self initWithFilePath:path headers:headers body:body]; 39 | } 40 | 41 | - (id) initWithFilePath:(NSString*)path headers:(NSDictionary*)headers bodyFile:(NSString*)body { 42 | return [self initWithFilePath:path headers:headers body:body]; 43 | } 44 | 45 | - (UInt64) contentLength { 46 | return 0; 47 | } 48 | 49 | - (UInt64) offset { 50 | return 0; 51 | } 52 | 53 | - (void) setOffset:(UInt64)offset { 54 | ; 55 | } 56 | 57 | - (NSData*) readDataOfLength:(NSUInteger)length { 58 | return nil; 59 | } 60 | 61 | - (BOOL) isDone { 62 | return YES; 63 | } 64 | 65 | - (NSInteger) status { 66 | return _status; 67 | } 68 | 69 | @end 70 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Software License Agreement (BSD License) 2 | 3 | Copyright (c) 2011, Deusty, LLC 4 | All rights reserved. 5 | 6 | Redistribution and use of this software in source and binary forms, 7 | with or without modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above 10 | copyright notice, this list of conditions and the 11 | following disclaimer. 12 | 13 | * Neither the name of Deusty nor the names of its 14 | contributors may be used to endorse or promote products 15 | derived from this software without specific prior 16 | written permission of Deusty, LLC. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaHTTPServer/README.markdown: -------------------------------------------------------------------------------- 1 | CocoaHTTPServer is a small, lightweight, embeddable HTTP server for Mac OS X or iOS applications. 2 | 3 | Sometimes developers need an embedded HTTP server in their app. Perhaps it's a server application with remote monitoring. Or perhaps it's a desktop application using HTTP for the communication backend. Or perhaps it's an iOS app providing over-the-air access to documents. Whatever your reason, CocoaHTTPServer can get the job done. It provides: 4 | 5 | - Built in support for bonjour broadcasting 6 | - IPv4 and IPv6 support 7 | - Asynchronous networking using GCD and standard sockets 8 | - Password protection support 9 | - SSL/TLS encryption support 10 | - Extremely FAST and memory efficient 11 | - Extremely scalable (built entirely upon GCD) 12 | - Heavily commented code 13 | - Very easily extensible 14 | - WebDAV is supported too! 15 | 16 |
    17 | Can't find the answer to your question in any of the [wiki](https://github.com/robbiehanson/CocoaHTTPServer/wiki) articles? Try the **[mailing list](http://groups.google.com/group/cocoahttpserver)**. 18 |
    19 |
    20 | Love the project? Wanna buy me a coffee? (or a beer :D) [![donation](http://www.paypal.com/en_US/i/btn/btn_donate_SM.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=BHF2DJRETGV5S) 21 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaLumberjack/Classes/CocoaLumberjack.h: -------------------------------------------------------------------------------- 1 | // Software License Agreement (BSD License) 2 | // 3 | // Copyright (c) 2010-2015, Deusty, LLC 4 | // All rights reserved. 5 | // 6 | // Redistribution and use of this software in source and binary forms, 7 | // with or without modification, are permitted provided that the following conditions are met: 8 | // 9 | // * Redistributions of source code must retain the above copyright notice, 10 | // this list of conditions and the following disclaimer. 11 | // 12 | // * Neither the name of Deusty nor the names of its contributors may be used 13 | // to endorse or promote products derived from this software without specific 14 | // prior written permission of Deusty, LLC. 15 | 16 | /** 17 | * Welcome to CocoaLumberjack! 18 | * 19 | * The project page has a wealth of documentation if you have any questions. 20 | * https://github.com/CocoaLumberjack/CocoaLumberjack 21 | * 22 | * If you're new to the project you may wish to read "Getting Started" at: 23 | * Documentation/GettingStarted.md 24 | * 25 | * Otherwise, here is a quick refresher. 26 | * There are three steps to using the macros: 27 | * 28 | * Step 1: 29 | * Import the header in your implementation or prefix file: 30 | * 31 | * #import 32 | * 33 | * Step 2: 34 | * Define your logging level in your implementation file: 35 | * 36 | * // Log levels: off, error, warn, info, verbose 37 | * static const DDLogLevel ddLogLevel = DDLogLevelVerbose; 38 | * 39 | * Step 2 [3rd party frameworks]: 40 | * 41 | * Define your LOG_LEVEL_DEF to a different variable/function than ddLogLevel: 42 | * 43 | * // #undef LOG_LEVEL_DEF // Undefine first only if needed 44 | * #define LOG_LEVEL_DEF myLibLogLevel 45 | * 46 | * Define your logging level in your implementation file: 47 | * 48 | * // Log levels: off, error, warn, info, verbose 49 | * static const DDLogLevel myLibLogLevel = DDLogLevelVerbose; 50 | * 51 | * Step 3: 52 | * Replace your NSLog statements with DDLog statements according to the severity of the message. 53 | * 54 | * NSLog(@"Fatal error, no dohickey found!"); -> DDLogError(@"Fatal error, no dohickey found!"); 55 | * 56 | * DDLog works exactly the same as NSLog. 57 | * This means you can pass it multiple variables just like NSLog. 58 | **/ 59 | 60 | #import 61 | 62 | // Disable legacy macros 63 | #ifndef DD_LEGACY_MACROS 64 | #define DD_LEGACY_MACROS 0 65 | #endif 66 | 67 | // Core 68 | #import "DDLog.h" 69 | 70 | // Main macros 71 | #import "DDLogMacros.h" 72 | #import "DDAssertMacros.h" 73 | 74 | // Capture ASL 75 | #import "DDASLLogCapture.h" 76 | 77 | // Loggers 78 | #import "DDTTYLogger.h" 79 | #import "DDASLLogger.h" 80 | #import "DDFileLogger.h" 81 | 82 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaLumberjack/Classes/DDASLLogCapture.h: -------------------------------------------------------------------------------- 1 | // Software License Agreement (BSD License) 2 | // 3 | // Copyright (c) 2010-2015, Deusty, LLC 4 | // All rights reserved. 5 | // 6 | // Redistribution and use of this software in source and binary forms, 7 | // with or without modification, are permitted provided that the following conditions are met: 8 | // 9 | // * Redistributions of source code must retain the above copyright notice, 10 | // this list of conditions and the following disclaimer. 11 | // 12 | // * Neither the name of Deusty nor the names of its contributors may be used 13 | // to endorse or promote products derived from this software without specific 14 | // prior written permission of Deusty, LLC. 15 | 16 | #import "DDASLLogger.h" 17 | 18 | @protocol DDLogger; 19 | 20 | /** 21 | * This class provides the ability to capture the ASL (Apple System Logs) 22 | */ 23 | @interface DDASLLogCapture : NSObject 24 | 25 | + (void)start; 26 | + (void)stop; 27 | 28 | // Default log level: DDLogLevelVerbose (i.e. capture all ASL messages). 29 | + (DDLogLevel)captureLevel; 30 | + (void)setCaptureLevel:(DDLogLevel)level; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaLumberjack/Classes/DDASLLogger.h: -------------------------------------------------------------------------------- 1 | // Software License Agreement (BSD License) 2 | // 3 | // Copyright (c) 2010-2015, Deusty, LLC 4 | // All rights reserved. 5 | // 6 | // Redistribution and use of this software in source and binary forms, 7 | // with or without modification, are permitted provided that the following conditions are met: 8 | // 9 | // * Redistributions of source code must retain the above copyright notice, 10 | // this list of conditions and the following disclaimer. 11 | // 12 | // * Neither the name of Deusty nor the names of its contributors may be used 13 | // to endorse or promote products derived from this software without specific 14 | // prior written permission of Deusty, LLC. 15 | 16 | #import 17 | 18 | // Disable legacy macros 19 | #ifndef DD_LEGACY_MACROS 20 | #define DD_LEGACY_MACROS 0 21 | #endif 22 | 23 | #import "DDLog.h" 24 | 25 | /** 26 | * This class provides a logger for the Apple System Log facility. 27 | * 28 | * As described in the "Getting Started" page, 29 | * the traditional NSLog() function directs it's output to two places: 30 | * 31 | * - Apple System Log 32 | * - StdErr (if stderr is a TTY) so log statements show up in Xcode console 33 | * 34 | * To duplicate NSLog() functionality you can simply add this logger and a tty logger. 35 | * However, if you instead choose to use file logging (for faster performance), 36 | * you may choose to use a file logger and a tty logger. 37 | **/ 38 | 39 | @interface DDASLLogger : DDAbstractLogger 40 | 41 | + (instancetype)sharedInstance; 42 | 43 | // Inherited from DDAbstractLogger 44 | 45 | // - (id )logFormatter; 46 | // - (void)setLogFormatter:(id )formatter; 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaLumberjack/Classes/DDAssertMacros.h: -------------------------------------------------------------------------------- 1 | // Software License Agreement (BSD License) 2 | // 3 | // Copyright (c) 2010-2015, Deusty, LLC 4 | // All rights reserved. 5 | // 6 | // Redistribution and use of this software in source and binary forms, 7 | // with or without modification, are permitted provided that the following conditions are met: 8 | // 9 | // * Redistributions of source code must retain the above copyright notice, 10 | // this list of conditions and the following disclaimer. 11 | // 12 | // * Neither the name of Deusty nor the names of its contributors may be used 13 | // to endorse or promote products derived from this software without specific 14 | // prior written permission of Deusty, LLC. 15 | 16 | /** 17 | * NSAsset replacement that will output a log message even when assertions are disabled. 18 | **/ 19 | #define DDAssert(condition, frmt, ...) \ 20 | if (!(condition)) { \ 21 | NSString *description = [NSString stringWithFormat:frmt, ## __VA_ARGS__]; \ 22 | DDLogError(@"%@", description); \ 23 | NSAssert(NO, description); \ 24 | } 25 | #define DDAssertCondition(condition) DDAssert(condition, @"Condition not satisfied: %s", #condition) 26 | 27 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaLumberjack/Classes/Extensions/DDContextFilterLogFormatter.h: -------------------------------------------------------------------------------- 1 | // Software License Agreement (BSD License) 2 | // 3 | // Copyright (c) 2010-2015, Deusty, LLC 4 | // All rights reserved. 5 | // 6 | // Redistribution and use of this software in source and binary forms, 7 | // with or without modification, are permitted provided that the following conditions are met: 8 | // 9 | // * Redistributions of source code must retain the above copyright notice, 10 | // this list of conditions and the following disclaimer. 11 | // 12 | // * Neither the name of Deusty nor the names of its contributors may be used 13 | // to endorse or promote products derived from this software without specific 14 | // prior written permission of Deusty, LLC. 15 | 16 | #import 17 | 18 | // Disable legacy macros 19 | #ifndef DD_LEGACY_MACROS 20 | #define DD_LEGACY_MACROS 0 21 | #endif 22 | 23 | #import "DDLog.h" 24 | 25 | /** 26 | * This class provides a log formatter that filters log statements from a logging context not on the whitelist. 27 | * 28 | * A log formatter can be added to any logger to format and/or filter its output. 29 | * You can learn more about log formatters here: 30 | * Documentation/CustomFormatters.md 31 | * 32 | * You can learn more about logging context's here: 33 | * Documentation/CustomContext.md 34 | * 35 | * But here's a quick overview / refresher: 36 | * 37 | * Every log statement has a logging context. 38 | * These come from the underlying logging macros defined in DDLog.h. 39 | * The default logging context is zero. 40 | * You can define multiple logging context's for use in your application. 41 | * For example, logically separate parts of your app each have a different logging context. 42 | * Also 3rd party frameworks that make use of Lumberjack generally use their own dedicated logging context. 43 | **/ 44 | @interface DDContextWhitelistFilterLogFormatter : NSObject 45 | 46 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 47 | 48 | - (void)addToWhitelist:(NSUInteger)loggingContext; 49 | - (void)removeFromWhitelist:(NSUInteger)loggingContext; 50 | 51 | @property (readonly, copy) NSArray *whitelist; 52 | 53 | - (BOOL)isOnWhitelist:(NSUInteger)loggingContext; 54 | 55 | @end 56 | 57 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 58 | #pragma mark - 59 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 60 | 61 | /** 62 | * This class provides a log formatter that filters log statements from a logging context on the blacklist. 63 | **/ 64 | @interface DDContextBlacklistFilterLogFormatter : NSObject 65 | 66 | - (instancetype)init NS_DESIGNATED_INITIALIZER; 67 | 68 | - (void)addToBlacklist:(NSUInteger)loggingContext; 69 | - (void)removeFromBlacklist:(NSUInteger)loggingContext; 70 | 71 | @property (readonly, copy) NSArray *blacklist; 72 | 73 | - (BOOL)isOnBlacklist:(NSUInteger)loggingContext; 74 | 75 | @end 76 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaLumberjack/Classes/Extensions/DDMultiFormatter.h: -------------------------------------------------------------------------------- 1 | // Software License Agreement (BSD License) 2 | // 3 | // Copyright (c) 2010-2015, Deusty, LLC 4 | // All rights reserved. 5 | // 6 | // Redistribution and use of this software in source and binary forms, 7 | // with or without modification, are permitted provided that the following conditions are met: 8 | // 9 | // * Redistributions of source code must retain the above copyright notice, 10 | // this list of conditions and the following disclaimer. 11 | // 12 | // * Neither the name of Deusty nor the names of its contributors may be used 13 | // to endorse or promote products derived from this software without specific 14 | // prior written permission of Deusty, LLC. 15 | 16 | #import 17 | 18 | // Disable legacy macros 19 | #ifndef DD_LEGACY_MACROS 20 | #define DD_LEGACY_MACROS 0 21 | #endif 22 | 23 | #import "DDLog.h" 24 | 25 | /** 26 | * This formatter can be used to chain different formatters together. 27 | * The log message will processed in the order of the formatters added. 28 | **/ 29 | 30 | @interface DDMultiFormatter : NSObject 31 | 32 | /** 33 | * Array of chained formatters 34 | */ 35 | @property (readonly) NSArray *formatters; 36 | 37 | - (void)addFormatter:(id)formatter; 38 | - (void)removeFormatter:(id)formatter; 39 | - (void)removeAllFormatters; 40 | - (BOOL)isFormattingWithFormatter:(id)formatter; 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /PhonyPony/Pods/CocoaLumberjack/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Software License Agreement (BSD License) 2 | 3 | Copyright (c) 2010-2015, Deusty, LLC 4 | All rights reserved. 5 | 6 | Redistribution and use of this software in source and binary forms, 7 | with or without modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above 10 | copyright notice, this list of conditions and the 11 | following disclaimer. 12 | 13 | * Neither the name of Deusty nor the names of its 14 | contributors may be used to endorse or promote products 15 | derived from this software without specific prior 16 | written permission of Deusty, LLC. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaAsyncSocket/AsyncSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaAsyncSocket/RunLoop/AsyncSocket.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaAsyncSocket/AsyncUdpSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaAsyncSocket/RunLoop/AsyncUdpSocket.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaAsyncSocket/GCDAsyncSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaAsyncSocket/GCD/GCDAsyncSocket.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaAsyncSocket/GCDAsyncUdpSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaAsyncSocket/GCD/GCDAsyncUdpSocket.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/DAVConnection.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Extensions/WebDAV/DAVConnection.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/DAVResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Extensions/WebDAV/DAVResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/DDData.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Categories/DDData.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/DDNumber.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Categories/DDNumber.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/DDRange.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Categories/DDRange.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/DELETEResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Extensions/WebDAV/DELETEResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/HTTPAsyncFileResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Responses/HTTPAsyncFileResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/HTTPAuthenticationRequest.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/HTTPAuthenticationRequest.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/HTTPConnection.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/HTTPConnection.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/HTTPDataResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Responses/HTTPDataResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/HTTPDynamicFileResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Responses/HTTPDynamicFileResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/HTTPFileResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Responses/HTTPFileResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/HTTPLogging.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/HTTPLogging.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/HTTPMessage.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/HTTPMessage.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/HTTPRedirectResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Responses/HTTPRedirectResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/HTTPResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/HTTPResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/HTTPServer.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/HTTPServer.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/MultipartFormDataParser.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Mime/MultipartFormDataParser.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/MultipartMessageHeader.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Mime/MultipartMessageHeader.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/MultipartMessageHeaderField.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Mime/MultipartMessageHeaderField.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/PUTResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Extensions/WebDAV/PUTResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaHTTPServer/WebSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/WebSocket.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/CocoaLumberjack.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/CocoaLumberjack.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDASLLogCapture.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDASLLogCapture.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDASLLogger.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDASLLogger.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDAbstractDatabaseLogger.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDAbstractDatabaseLogger.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDAssertMacros.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDAssertMacros.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDContextFilterLogFormatter.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/Extensions/DDContextFilterLogFormatter.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDDispatchQueueLogFormatter.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/Extensions/DDDispatchQueueLogFormatter.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDFileLogger.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDFileLogger.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDLegacyMacros.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDLegacyMacros.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDLog+LOGV.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDLog+LOGV.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDLog.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDLog.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDLogMacros.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDLogMacros.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDMultiFormatter.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/Extensions/DDMultiFormatter.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/CocoaLumberjack/DDTTYLogger.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDTTYLogger.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/SVWebViewController/SVModalWebViewController.h: -------------------------------------------------------------------------------- 1 | ../../../SVWebViewController/SVWebViewController/SVModalWebViewController.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/SVWebViewController/SVWebViewController.h: -------------------------------------------------------------------------------- 1 | ../../../SVWebViewController/SVWebViewController/SVWebViewController.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/SVWebViewController/SVWebViewControllerActivity.h: -------------------------------------------------------------------------------- 1 | ../../../SVWebViewController/SVWebViewController/UIActivities/SVWebViewControllerActivity.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/SVWebViewController/SVWebViewControllerActivityChrome.h: -------------------------------------------------------------------------------- 1 | ../../../SVWebViewController/SVWebViewController/UIActivities/Chrome/SVWebViewControllerActivityChrome.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Private/SVWebViewController/SVWebViewControllerActivitySafari.h: -------------------------------------------------------------------------------- 1 | ../../../SVWebViewController/SVWebViewController/UIActivities/Safari/SVWebViewControllerActivitySafari.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaAsyncSocket/AsyncSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaAsyncSocket/RunLoop/AsyncSocket.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaAsyncSocket/AsyncUdpSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaAsyncSocket/RunLoop/AsyncUdpSocket.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaAsyncSocket/GCDAsyncSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaAsyncSocket/GCD/GCDAsyncSocket.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaAsyncSocket/GCDAsyncUdpSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaAsyncSocket/GCD/GCDAsyncUdpSocket.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/DAVConnection.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Extensions/WebDAV/DAVConnection.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/DAVResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Extensions/WebDAV/DAVResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/DDData.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Categories/DDData.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/DDNumber.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Categories/DDNumber.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/DDRange.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Categories/DDRange.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/DELETEResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Extensions/WebDAV/DELETEResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/HTTPAsyncFileResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Responses/HTTPAsyncFileResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/HTTPAuthenticationRequest.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/HTTPAuthenticationRequest.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/HTTPConnection.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/HTTPConnection.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/HTTPDataResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Responses/HTTPDataResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/HTTPDynamicFileResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Responses/HTTPDynamicFileResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/HTTPFileResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Responses/HTTPFileResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/HTTPLogging.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/HTTPLogging.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/HTTPMessage.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/HTTPMessage.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/HTTPRedirectResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Responses/HTTPRedirectResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/HTTPResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/HTTPResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/HTTPServer.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/HTTPServer.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/MultipartFormDataParser.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Mime/MultipartFormDataParser.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/MultipartMessageHeader.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Mime/MultipartMessageHeader.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/MultipartMessageHeaderField.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/Mime/MultipartMessageHeaderField.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/PUTResponse.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Extensions/WebDAV/PUTResponse.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaHTTPServer/WebSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaHTTPServer/Core/WebSocket.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/CocoaLumberjack.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/CocoaLumberjack.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDASLLogCapture.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDASLLogCapture.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDASLLogger.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDASLLogger.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDAbstractDatabaseLogger.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDAbstractDatabaseLogger.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDAssertMacros.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDAssertMacros.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDContextFilterLogFormatter.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/Extensions/DDContextFilterLogFormatter.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDDispatchQueueLogFormatter.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/Extensions/DDDispatchQueueLogFormatter.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDFileLogger.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDFileLogger.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDLegacyMacros.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDLegacyMacros.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDLog+LOGV.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDLog+LOGV.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDLog.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDLog.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDLogMacros.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDLogMacros.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDMultiFormatter.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/Extensions/DDMultiFormatter.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/CocoaLumberjack/DDTTYLogger.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaLumberjack/Classes/DDTTYLogger.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/SVWebViewController/SVModalWebViewController.h: -------------------------------------------------------------------------------- 1 | ../../../SVWebViewController/SVWebViewController/SVModalWebViewController.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/SVWebViewController/SVWebViewController.h: -------------------------------------------------------------------------------- 1 | ../../../SVWebViewController/SVWebViewController/SVWebViewController.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/SVWebViewController/SVWebViewControllerActivity.h: -------------------------------------------------------------------------------- 1 | ../../../SVWebViewController/SVWebViewController/UIActivities/SVWebViewControllerActivity.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/SVWebViewController/SVWebViewControllerActivityChrome.h: -------------------------------------------------------------------------------- 1 | ../../../SVWebViewController/SVWebViewController/UIActivities/Chrome/SVWebViewControllerActivityChrome.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Headers/Public/SVWebViewController/SVWebViewControllerActivitySafari.h: -------------------------------------------------------------------------------- 1 | ../../../SVWebViewController/SVWebViewController/UIActivities/Safari/SVWebViewControllerActivitySafari.h -------------------------------------------------------------------------------- /PhonyPony/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - CocoaAsyncSocket (7.4.1) 3 | - CocoaHTTPServer (2.3): 4 | - CocoaAsyncSocket 5 | - CocoaLumberjack 6 | - CocoaLumberjack (2.0.0): 7 | - CocoaLumberjack/Default (= 2.0.0) 8 | - CocoaLumberjack/Extensions (= 2.0.0) 9 | - CocoaLumberjack/Core (2.0.0) 10 | - CocoaLumberjack/Default (2.0.0): 11 | - CocoaLumberjack/Core 12 | - CocoaLumberjack/Extensions (2.0.0): 13 | - CocoaLumberjack/Default 14 | - SVWebViewController (1.0) 15 | 16 | DEPENDENCIES: 17 | - CocoaHTTPServer (~> 2.3) 18 | - SVWebViewController (~> 1.0) 19 | 20 | SPEC CHECKSUMS: 21 | CocoaAsyncSocket: 7cbf214b27f8e7f7574db6a3fd96352ffaed433d 22 | CocoaHTTPServer: 5624681fc3473d43b18202f635f9b3abb013b530 23 | CocoaLumberjack: a6f77d987d65dc7ba86b0f84db7d0b9084f77bcb 24 | SVWebViewController: c36dda7326e81fcae0abf5d02bf7bbf7e41be901 25 | 26 | COCOAPODS: 0.36.3 27 | -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Sam Vermette 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/README.md: -------------------------------------------------------------------------------- 1 | # SVWebViewController 2 | 3 | SVWebViewController is a simple inline browser for your iOS 7 app. 4 | 5 | ![SVWebViewController](http://cl.ly/SQVO/download/GitHub.png) 6 | 7 | **SVWebViewController features:** 8 | 9 | * iPhone and iPad distinct UIs 10 | * full landscape orientation support 11 | * back, forward, stop/refresh and share buttons 12 | * Open in Safari and Chrome UIActivities 13 | * navbar title set to the currently visible web page 14 | * talks with `setNetworkActivityIndicatorVisible` 15 | 16 | ## Installation 17 | 18 | ### CocoaPods 19 | 20 | I'm not a big fan of CocoaPods, so tend to not keep it updated. If you really want to use SVWebViewController with CocoaPods, I suggest you use `pod 'SVWebViewController', :head` to pull from the `master` branch directly. I'm usually careful about what I push there and is the version I use myself in all my projects. 21 | 22 | ### Manually 23 | 24 | * Drag the `SVWebViewController/SVWebViewController` folder into your project. 25 | * `#import "SVWebViewController.h"` 26 | 27 | ## Usage 28 | 29 | (see sample Xcode project in `/Demo`) 30 | 31 | Just like any UIViewController, SVWebViewController can be pushed into a UINavigationController stack: 32 | 33 | ```objective-c 34 | SVWebViewController *webViewController = [[SVWebViewController alloc] initWithAddress:@"http://google.com"]; 35 | [self.navigationController pushViewController:webViewController animated:YES]; 36 | ``` 37 | 38 | It can also be presented modally using `SVModalWebViewController`: 39 | 40 | ```objective-c 41 | SVModalWebViewController *webViewController = [[SVModalWebViewController alloc] initWithAddress:@"http://google.com"]; 42 | [self presentModalViewController:webViewController animated:YES completion:NULL]; 43 | ``` 44 | 45 | ### SVWebViewControllerActivity 46 | 47 | Starting in iOS 6 Apple uses `UIActivity` to let you show additional sharing methods in share sheets. `SVWebViewController` comes with "Open in Safari" and "Open in Chrome" activities. You can easily add your own activity by subclassing `SVWebViewControllerActivity` which takes care of a few things automatically for you. Have a look at the Safari and Chrome activities for implementation examples. Feel free to send it as a pull request once you're done! 48 | 49 | 50 | ## Credits 51 | 52 | SVWebViewController is brought to you by [Sam Vermette](http://samvermette.com) and [contributors to the project](https://github.com/samvermette/SVWebViewController/contributors). If you have feature suggestions or bug reports, feel free to help out by sending pull requests or by [creating new issues](https://github.com/samvermette/SVWebViewController/issues/new). If you're using SVWebViewController in your project, attribution is always appreciated. -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/SVModalWebViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SVModalWebViewController.h 3 | // 4 | // Created by Oliver Letterer on 13.08.11. 5 | // Copyright 2011 Home. All rights reserved. 6 | // 7 | // https://github.com/samvermette/SVWebViewController 8 | 9 | #import 10 | 11 | @class SVWebViewController; 12 | 13 | @interface SVModalWebViewController : UINavigationController 14 | 15 | - (id)initWithAddress:(NSString*)urlString; 16 | - (id)initWithURL:(NSURL *)URL; 17 | 18 | @property (nonatomic, strong) UIColor *barsTintColor; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/SVModalWebViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // SVModalWebViewController.m 3 | // 4 | // Created by Oliver Letterer on 13.08.11. 5 | // Copyright 2011 Home. All rights reserved. 6 | // 7 | // https://github.com/samvermette/SVWebViewController 8 | 9 | #import "SVModalWebViewController.h" 10 | #import "SVWebViewController.h" 11 | 12 | @interface SVModalWebViewController () 13 | 14 | @property (nonatomic, strong) SVWebViewController *webViewController; 15 | 16 | @end 17 | 18 | 19 | @implementation SVModalWebViewController 20 | 21 | #pragma mark - Initialization 22 | 23 | 24 | - (id)initWithAddress:(NSString*)urlString { 25 | return [self initWithURL:[NSURL URLWithString:urlString]]; 26 | } 27 | 28 | - (id)initWithURL:(NSURL *)URL { 29 | self.webViewController = [[SVWebViewController alloc] initWithURL:URL]; 30 | if (self = [super initWithRootViewController:self.webViewController]) { 31 | UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone 32 | target:self.webViewController 33 | action:@selector(doneButtonClicked:)]; 34 | 35 | if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 36 | self.webViewController.navigationItem.leftBarButtonItem = doneButton; 37 | else 38 | self.webViewController.navigationItem.rightBarButtonItem = doneButton; 39 | } 40 | return self; 41 | } 42 | 43 | - (void)viewWillAppear:(BOOL)animated { 44 | [super viewWillAppear:NO]; 45 | 46 | self.webViewController.title = self.title; 47 | self.navigationBar.tintColor = self.barsTintColor; 48 | } 49 | 50 | @end 51 | -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/SVWebViewController.bundle/SVWebViewControllerBack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/Pods/SVWebViewController/SVWebViewController/SVWebViewController.bundle/SVWebViewControllerBack.png -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/SVWebViewController.bundle/SVWebViewControllerBack@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/Pods/SVWebViewController/SVWebViewController/SVWebViewController.bundle/SVWebViewControllerBack@2x.png -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/SVWebViewController.bundle/SVWebViewControllerNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/Pods/SVWebViewController/SVWebViewController/SVWebViewController.bundle/SVWebViewControllerNext.png -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/SVWebViewController.bundle/SVWebViewControllerNext@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/Pods/SVWebViewController/SVWebViewController/SVWebViewController.bundle/SVWebViewControllerNext@2x.png -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/SVWebViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SVWebViewController.h 3 | // 4 | // Created by Sam Vermette on 08.11.10. 5 | // Copyright 2010 Sam Vermette. All rights reserved. 6 | // 7 | // https://github.com/samvermette/SVWebViewController 8 | 9 | #import "SVModalWebViewController.h" 10 | 11 | @interface SVWebViewController : UIViewController 12 | 13 | - (id)initWithAddress:(NSString*)urlString; 14 | - (id)initWithURL:(NSURL*)URL; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Chrome/SVWebViewControllerActivityChrome-iPad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Chrome/SVWebViewControllerActivityChrome-iPad.png -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Chrome/SVWebViewControllerActivityChrome-iPad@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Chrome/SVWebViewControllerActivityChrome-iPad@2x.png -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Chrome/SVWebViewControllerActivityChrome.h: -------------------------------------------------------------------------------- 1 | // 2 | // SVWebViewControllerActivityChrome.h 3 | // 4 | // Created by Sam Vermette on 11 Nov, 2013. 5 | // Copyright 2013 Sam Vermette. All rights reserved. 6 | // 7 | // https://github.com/samvermette/SVWebViewController 8 | 9 | #import "SVWebViewControllerActivity.h" 10 | 11 | @interface SVWebViewControllerActivityChrome : SVWebViewControllerActivity 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Chrome/SVWebViewControllerActivityChrome.m: -------------------------------------------------------------------------------- 1 | // 2 | // SVWebViewControllerActivityChrome.h 3 | // 4 | // Created by Sam Vermette on 11 Nov, 2013. 5 | // Copyright 2013 Sam Vermette. All rights reserved. 6 | // 7 | // https://github.com/samvermette/SVWebViewController 8 | 9 | #import "SVWebViewControllerActivityChrome.h" 10 | 11 | @implementation SVWebViewControllerActivityChrome 12 | 13 | - (NSString *)schemePrefix { 14 | return @"googlechrome://"; 15 | } 16 | 17 | - (NSString *)activityTitle { 18 | return NSLocalizedStringFromTable(@"Open in Chrome", @"SVWebViewController", nil); 19 | } 20 | 21 | - (BOOL)canPerformWithActivityItems:(NSArray *)activityItems { 22 | for (id activityItem in activityItems) { 23 | if ([activityItem isKindOfClass:[NSURL class]] && [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:self.schemePrefix]]) { 24 | return YES; 25 | } 26 | } 27 | return NO; 28 | } 29 | 30 | - (void)performActivity { 31 | NSString *openingURL = [self.URLToOpen.absoluteString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 32 | NSURL *activityURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@", self.schemePrefix, openingURL]]; 33 | [[UIApplication sharedApplication] openURL:activityURL]; 34 | 35 | [self activityDidFinish:YES]; 36 | } 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Chrome/SVWebViewControllerActivityChrome@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Chrome/SVWebViewControllerActivityChrome@2x.png -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/SVWebViewControllerActivity.h: -------------------------------------------------------------------------------- 1 | // 2 | // SVWebViewControllerActivity.h 3 | // SVWeb 4 | // 5 | // Created by Sam Vermette on 11/11/2013. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface SVWebViewControllerActivity : UIActivity 12 | 13 | @property (nonatomic, strong) NSURL *URLToOpen; 14 | @property (nonatomic, strong) NSString *schemePrefix; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/SVWebViewControllerActivity.m: -------------------------------------------------------------------------------- 1 | // 2 | // SVWebViewControllerActivity.m 3 | // SVWeb 4 | // 5 | // Created by Sam Vermette on 11/11/2013. 6 | // 7 | // 8 | 9 | #import "SVWebViewControllerActivity.h" 10 | 11 | @implementation SVWebViewControllerActivity 12 | 13 | - (NSString *)activityType { 14 | return NSStringFromClass([self class]); 15 | } 16 | 17 | - (UIImage *)activityImage { 18 | if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 19 | return [UIImage imageNamed:[self.activityType stringByAppendingString:@"-iPad"]]; 20 | else 21 | return [UIImage imageNamed:self.activityType]; 22 | } 23 | 24 | - (void)prepareWithActivityItems:(NSArray *)activityItems { 25 | for (id activityItem in activityItems) { 26 | if ([activityItem isKindOfClass:[NSURL class]]) { 27 | self.URLToOpen = activityItem; 28 | } 29 | } 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Safari/SVWebViewControllerActivitySafari-iPad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Safari/SVWebViewControllerActivitySafari-iPad.png -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Safari/SVWebViewControllerActivitySafari-iPad@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Safari/SVWebViewControllerActivitySafari-iPad@2x.png -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Safari/SVWebViewControllerActivitySafari.h: -------------------------------------------------------------------------------- 1 | // 2 | // SVWebViewControllerActivitySafari.h 3 | // 4 | // Created by Sam Vermette on 11 Nov, 2013. 5 | // Copyright 2013 Sam Vermette. All rights reserved. 6 | // 7 | // https://github.com/samvermette/SVWebViewController 8 | 9 | #import "SVWebViewControllerActivity.h" 10 | 11 | @interface SVWebViewControllerActivitySafari : SVWebViewControllerActivity 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Safari/SVWebViewControllerActivitySafari.m: -------------------------------------------------------------------------------- 1 | // 2 | // SVWebViewControllerActivitySafari.m 3 | // 4 | // Created by Sam Vermette on 11 Nov, 2013. 5 | // Copyright 2013 Sam Vermette. All rights reserved. 6 | // 7 | // https://github.com/samvermette/SVWebViewController 8 | 9 | 10 | #import "SVWebViewControllerActivitySafari.h" 11 | 12 | @implementation SVWebViewControllerActivitySafari 13 | 14 | - (NSString *)activityTitle { 15 | return NSLocalizedStringFromTable(@"Open in Safari", @"SVWebViewController", nil); 16 | } 17 | 18 | - (BOOL)canPerformWithActivityItems:(NSArray *)activityItems { 19 | for (id activityItem in activityItems) { 20 | if ([activityItem isKindOfClass:[NSURL class]] && [[UIApplication sharedApplication] canOpenURL:activityItem]) { 21 | return YES; 22 | } 23 | } 24 | return NO; 25 | } 26 | 27 | - (void)performActivity { 28 | BOOL completed = [[UIApplication sharedApplication] openURL:self.URLToOpen]; 29 | [self activityDidFinish:completed]; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Safari/SVWebViewControllerActivitySafari@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/Pods/SVWebViewController/SVWebViewController/UIActivities/Safari/SVWebViewControllerActivitySafari@2x.png -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaAsyncSocket/Pods-PhonyPony-CocoaAsyncSocket-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods-PhonyPony-CocoaAsyncSocket.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaHTTPServer" "${PODS_ROOT}/Headers/Public/CocoaLumberjack" "${PODS_ROOT}/Headers/Public/SVWebViewController" 4 | OTHER_LDFLAGS = ${PODS_PHONYPONY_COCOAASYNCSOCKET_OTHER_LDFLAGS} -ObjC 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaAsyncSocket/Pods-PhonyPony-CocoaAsyncSocket-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_PhonyPony_CocoaAsyncSocket : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_PhonyPony_CocoaAsyncSocket 5 | @end 6 | -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaAsyncSocket/Pods-PhonyPony-CocoaAsyncSocket-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | #import "Pods-PhonyPony-environment.h" 6 | -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaAsyncSocket/Pods-PhonyPony-CocoaAsyncSocket.xcconfig: -------------------------------------------------------------------------------- 1 | PODS_PHONYPONY_COCOAASYNCSOCKET_OTHER_LDFLAGS = -framework "CFNetwork" -framework "Security" -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaHTTPServer/Pods-PhonyPony-CocoaHTTPServer-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods-PhonyPony-CocoaHTTPServer.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/CocoaHTTPServer" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaHTTPServer" "${PODS_ROOT}/Headers/Public/CocoaLumberjack" "${PODS_ROOT}/Headers/Public/SVWebViewController" ${PODS_PHONYPONY_COCOAHTTPSERVER_HEADER_SEARCH_PATHS} 4 | OTHER_LDFLAGS = ${PODS_PHONYPONY_COCOAHTTPSERVER_OTHER_LDFLAGS} -ObjC 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaHTTPServer/Pods-PhonyPony-CocoaHTTPServer-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_PhonyPony_CocoaHTTPServer : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_PhonyPony_CocoaHTTPServer 5 | @end 6 | -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaHTTPServer/Pods-PhonyPony-CocoaHTTPServer-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | #import "Pods-PhonyPony-environment.h" 6 | -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaHTTPServer/Pods-PhonyPony-CocoaHTTPServer.xcconfig: -------------------------------------------------------------------------------- 1 | PODS_PHONYPONY_COCOAHTTPSERVER_HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2" 2 | PODS_PHONYPONY_COCOAHTTPSERVER_OTHER_LDFLAGS = -l"xml2" -framework "CFNetwork" -framework "Security" -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaLumberjack/Pods-PhonyPony-CocoaLumberjack-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods-PhonyPony-CocoaLumberjack.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/CocoaLumberjack" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaHTTPServer" "${PODS_ROOT}/Headers/Public/CocoaLumberjack" "${PODS_ROOT}/Headers/Public/SVWebViewController" 4 | OTHER_LDFLAGS = -ObjC 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaLumberjack/Pods-PhonyPony-CocoaLumberjack-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_PhonyPony_CocoaLumberjack : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_PhonyPony_CocoaLumberjack 5 | @end 6 | -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaLumberjack/Pods-PhonyPony-CocoaLumberjack-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | #import "Pods-PhonyPony-environment.h" 6 | -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaLumberjack/Pods-PhonyPony-CocoaLumberjack.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/Pods/Target Support Files/Pods-PhonyPony-CocoaLumberjack/Pods-PhonyPony-CocoaLumberjack.xcconfig -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-SVWebViewController/Pods-PhonyPony-SVWebViewController-Private.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Pods-PhonyPony-SVWebViewController.xcconfig" 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SVWebViewController" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaHTTPServer" "${PODS_ROOT}/Headers/Public/CocoaLumberjack" "${PODS_ROOT}/Headers/Public/SVWebViewController" 4 | OTHER_LDFLAGS = -ObjC 5 | PODS_ROOT = ${SRCROOT} 6 | SKIP_INSTALL = YES -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-SVWebViewController/Pods-PhonyPony-SVWebViewController-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_PhonyPony_SVWebViewController : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_PhonyPony_SVWebViewController 5 | @end 6 | -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-SVWebViewController/Pods-PhonyPony-SVWebViewController-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | #import "Pods-PhonyPony-environment.h" 6 | -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony-SVWebViewController/Pods-PhonyPony-SVWebViewController.xcconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryanolsonk/PhonyPony/be7d6753872acc5ab994e050634335b9ba1fd792/PhonyPony/Pods/Target Support Files/Pods-PhonyPony-SVWebViewController/Pods-PhonyPony-SVWebViewController.xcconfig -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony/Pods-PhonyPony-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_PhonyPony : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_PhonyPony 5 | @end 6 | -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony/Pods-PhonyPony-environment.h: -------------------------------------------------------------------------------- 1 | 2 | // To check if a library is compiled with CocoaPods you 3 | // can use the `COCOAPODS` macro definition which is 4 | // defined in the xcconfigs so it is available in 5 | // headers also when they are imported in the client 6 | // project. 7 | 8 | 9 | // CocoaAsyncSocket 10 | #define COCOAPODS_POD_AVAILABLE_CocoaAsyncSocket 11 | #define COCOAPODS_VERSION_MAJOR_CocoaAsyncSocket 7 12 | #define COCOAPODS_VERSION_MINOR_CocoaAsyncSocket 4 13 | #define COCOAPODS_VERSION_PATCH_CocoaAsyncSocket 1 14 | 15 | // CocoaHTTPServer 16 | #define COCOAPODS_POD_AVAILABLE_CocoaHTTPServer 17 | #define COCOAPODS_VERSION_MAJOR_CocoaHTTPServer 2 18 | #define COCOAPODS_VERSION_MINOR_CocoaHTTPServer 3 19 | #define COCOAPODS_VERSION_PATCH_CocoaHTTPServer 0 20 | 21 | // CocoaLumberjack 22 | #define COCOAPODS_POD_AVAILABLE_CocoaLumberjack 23 | #define COCOAPODS_VERSION_MAJOR_CocoaLumberjack 2 24 | #define COCOAPODS_VERSION_MINOR_CocoaLumberjack 0 25 | #define COCOAPODS_VERSION_PATCH_CocoaLumberjack 0 26 | 27 | // CocoaLumberjack/Core 28 | #define COCOAPODS_POD_AVAILABLE_CocoaLumberjack_Core 29 | #define COCOAPODS_VERSION_MAJOR_CocoaLumberjack_Core 2 30 | #define COCOAPODS_VERSION_MINOR_CocoaLumberjack_Core 0 31 | #define COCOAPODS_VERSION_PATCH_CocoaLumberjack_Core 0 32 | 33 | // CocoaLumberjack/Default 34 | #define COCOAPODS_POD_AVAILABLE_CocoaLumberjack_Default 35 | #define COCOAPODS_VERSION_MAJOR_CocoaLumberjack_Default 2 36 | #define COCOAPODS_VERSION_MINOR_CocoaLumberjack_Default 0 37 | #define COCOAPODS_VERSION_PATCH_CocoaLumberjack_Default 0 38 | 39 | // CocoaLumberjack/Extensions 40 | #define COCOAPODS_POD_AVAILABLE_CocoaLumberjack_Extensions 41 | #define COCOAPODS_VERSION_MAJOR_CocoaLumberjack_Extensions 2 42 | #define COCOAPODS_VERSION_MINOR_CocoaLumberjack_Extensions 0 43 | #define COCOAPODS_VERSION_PATCH_CocoaLumberjack_Extensions 0 44 | 45 | // SVWebViewController 46 | #define COCOAPODS_POD_AVAILABLE_SVWebViewController 47 | #define COCOAPODS_VERSION_MAJOR_SVWebViewController 1 48 | #define COCOAPODS_VERSION_MINOR_SVWebViewController 0 49 | #define COCOAPODS_VERSION_PATCH_SVWebViewController 0 50 | 51 | -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony/Pods-PhonyPony.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaHTTPServer" "${PODS_ROOT}/Headers/Public/CocoaLumberjack" "${PODS_ROOT}/Headers/Public/SVWebViewController" "$(SDKROOT)/usr/include/libxml2" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" -isystem "${PODS_ROOT}/Headers/Public/CocoaHTTPServer" -isystem "${PODS_ROOT}/Headers/Public/CocoaLumberjack" -isystem "${PODS_ROOT}/Headers/Public/SVWebViewController" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-PhonyPony-CocoaAsyncSocket" -l"Pods-PhonyPony-CocoaHTTPServer" -l"Pods-PhonyPony-CocoaLumberjack" -l"Pods-PhonyPony-SVWebViewController" -l"xml2" -framework "CFNetwork" -framework "Security" 5 | OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) 6 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /PhonyPony/Pods/Target Support Files/Pods-PhonyPony/Pods-PhonyPony.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/CocoaHTTPServer" "${PODS_ROOT}/Headers/Public/CocoaLumberjack" "${PODS_ROOT}/Headers/Public/SVWebViewController" "$(SDKROOT)/usr/include/libxml2" 3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" -isystem "${PODS_ROOT}/Headers/Public/CocoaHTTPServer" -isystem "${PODS_ROOT}/Headers/Public/CocoaLumberjack" -isystem "${PODS_ROOT}/Headers/Public/SVWebViewController" 4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-PhonyPony-CocoaAsyncSocket" -l"Pods-PhonyPony-CocoaHTTPServer" -l"Pods-PhonyPony-CocoaLumberjack" -l"Pods-PhonyPony-SVWebViewController" -l"xml2" -framework "CFNetwork" -framework "Security" 5 | OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) 6 | PODS_ROOT = ${SRCROOT}/Pods -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![PhonyPony Logo](https://raw.githubusercontent.com/ryanolsonk/PhonyPony/master/PhonyPony/PhonyPony/Images.xcassets/AppIcon.appiconset/phony-pony-icon%402x.png) 2 | 3 | # PhonyPony 📱🐴 4 | Run [PonyDebugger](https://github.com/square/PonyDebugger) entirely on your phone. No computer needed. 5 | 6 | ![PhonyPony Demo](https://s3.amazonaws.com/f.cl.ly/items/1d0k043Y0B1H163J1y04/phony-pony.gif) 7 | 8 | The PonyDebugger project consists of 3 main parts: a client library that you include in your iOS app, a python gateway server that runs on a desktop machine, and Chrome Developer Tools running in a browser. PhonyPony uses an objective-c port of the gateway server and [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) to bring everything onto your phone. [SVWebViewController](https://github.com/TransitApp/SVWebViewController) is used as an in-app browser to display a bundled version of Chrome Developer Tools. 9 | 10 | ## Caveats 11 | iOS isn't particularly keen on having apps run in the background. To get around this, the PhonyPony app declares itself as a VOIP app and marks the sockets it uses accordingly. This works for keeping PhonyPony running, but your own app will likely get paused or killed pretty soon after entering the background. This project was more of an experiment than something I think is genuinely useful. However, if you'd really like to use PonyDebugger in-app, you could certainly embed the gateway server in your own app, eliminating the backgrounding issues. Alternatively, check out [FLEX](https://github.com/Flipboard/FLEX) for a project that is dedicated to on-device debugging. 12 | 13 | ## Testimonials 14 | “PhonyPony is an exceptionally bad idea which could only have originated in California.” – Dijkstra 15 | 16 | ## Contact 17 | Have questions? Open an issue or contact me [(@ryanolsonk)](http://twitter.com/ryanolsonk) on twitter. 18 | --------------------------------------------------------------------------------