├── .eslintignore
├── .eslintrc
├── .gitignore
├── .npmignore
├── .prettierignore
├── .travis.yml
├── .vscode
└── launch.json
├── CHANGELOG.md
├── LICENCE
├── README.md
├── bin
└── weex-devtool.js
├── frontend
├── assets
│ ├── fonts
│ │ ├── iconfont.eot
│ │ ├── iconfont.svg
│ │ ├── iconfont.ttf
│ │ └── iconfont.woff
│ ├── images
│ │ ├── arrow_left.png
│ │ ├── arrow_right.png
│ │ ├── logo.svg
│ │ └── qrcode_bg.png
│ ├── scss
│ │ ├── animation.scss
│ │ ├── common.scss
│ │ ├── components.scss
│ │ ├── debugger.scss
│ │ ├── entry.scss
│ │ ├── iconfont.scss
│ │ ├── performance.scss
│ │ ├── prophet.scss
│ │ └── timeline.scss
│ └── styles
│ │ ├── anchor-tips.css
│ │ ├── anchor-tips.css.map
│ │ ├── common.css
│ │ ├── common.css.map
│ │ ├── components.css
│ │ ├── components.css.map
│ │ ├── debugger.css
│ │ ├── debugger.css.map
│ │ ├── entry.css
│ │ ├── entry.css.map
│ │ ├── iconfont.css
│ │ ├── iconfont.css.map
│ │ ├── performance.css
│ │ ├── performance.css.map
│ │ ├── prophet.css
│ │ ├── prophet.css.map
│ │ ├── timeline.css
│ │ ├── timeline.css.map
│ │ ├── toast.css
│ │ └── toast.css.map
├── debug.html
├── devtool_fake.html
├── favicon.ico
├── index.html
├── inspector.json
├── inspector
│ ├── .editorconfig
│ ├── Images
│ │ ├── accelerometer-back.png
│ │ ├── accelerometer-bottom.png
│ │ ├── accelerometer-front.png
│ │ ├── accelerometer-left.png
│ │ ├── accelerometer-right.png
│ │ ├── accelerometer-top.png
│ │ ├── audits_logo.svg
│ │ ├── breakpoint.png
│ │ ├── breakpointConditional.png
│ │ ├── breakpointConditional_2x.png
│ │ ├── breakpoint_2x.png
│ │ ├── checkboxCheckmark.png
│ │ ├── checkboxCheckmark_2x.png
│ │ ├── checker.png
│ │ ├── chevrons.png
│ │ ├── chevrons_2x.png
│ │ ├── chromeDisabledSelect.png
│ │ ├── chromeDisabledSelect_2x.png
│ │ ├── chromeLeft.png
│ │ ├── chromeMiddle.png
│ │ ├── chromeRight.png
│ │ ├── chromeSelect.png
│ │ ├── chromeSelect_2x.png
│ │ ├── deleteIcon.png
│ │ ├── errorWave.png
│ │ ├── errorWave_2x.png
│ │ ├── ic_info_black_18dp.svg
│ │ ├── ic_warning_black_18dp.svg
│ │ ├── largeIcons.png
│ │ ├── largeIcons_2x.png
│ │ ├── mediumIcons.png
│ │ ├── mediumIcons_2x.png
│ │ ├── navigationControls.png
│ │ ├── navigationControls_2x.png
│ │ ├── nodeIcon.png
│ │ ├── popoverArrows.png
│ │ ├── profileGroupIcon.png
│ │ ├── profileIcon.png
│ │ ├── profileSmallIcon.png
│ │ ├── radioDot.png
│ │ ├── readme.md
│ │ ├── resizeDiagonal.png
│ │ ├── resizeDiagonal_2x.png
│ │ ├── resizeHorizontal.png
│ │ ├── resizeHorizontal_2x.png
│ │ ├── resizeVertical.png
│ │ ├── resizeVertical_2x.png
│ │ ├── resourceCSSIcon.png
│ │ ├── resourceDocumentIcon.png
│ │ ├── resourceDocumentIconSmall.png
│ │ ├── resourceJSIcon.png
│ │ ├── resourcePlainIcon.png
│ │ ├── resourcePlainIconSmall.png
│ │ ├── resourcesTimeGraphIcon.png
│ │ ├── searchNext.png
│ │ ├── searchPrev.png
│ │ ├── securityIcons.png
│ │ ├── securityIcons_2x.png
│ │ ├── smallIcons.png
│ │ ├── smallIcons_2x.png
│ │ ├── speech.png
│ │ ├── src
│ │ │ ├── breakpoint.svg
│ │ │ ├── breakpointConditional.svg
│ │ │ ├── checkboxCheckmark.svg
│ │ │ ├── chevrons.svg
│ │ │ ├── errorWave.svg
│ │ │ ├── largeIcons.svg
│ │ │ ├── mediumIcons.svg
│ │ │ ├── optimize_png.hashes
│ │ │ ├── securityIcons.svg
│ │ │ ├── smallIcons.svg
│ │ │ ├── svg2png.hashes
│ │ │ └── treeoutlineTriangles.svg
│ │ ├── toolbarResizerVertical.png
│ │ ├── touchCursor.png
│ │ ├── touchCursor_2x.png
│ │ ├── treeoutlineTriangles.png
│ │ ├── treeoutlineTriangles_2x.png
│ │ └── whatsnew.png
│ ├── InspectorBackendCommands.js
│ ├── OWNERS
│ ├── Runtime.js
│ ├── SupportedCSSProperties.js
│ ├── Tests.js
│ ├── accessibility
│ │ ├── ARIAAttributesView.js
│ │ ├── ARIAMetadata.js
│ │ ├── AXBreadcrumbsPane.js
│ │ ├── AccessibilityModel.js
│ │ ├── AccessibilityNodeView.js
│ │ ├── AccessibilitySidebarView.js
│ │ ├── AccessibilityStrings.js
│ │ ├── accessibilityNode.css
│ │ ├── accessibilityProperties.css
│ │ ├── axBreadcrumbs.css
│ │ └── module.json
│ ├── accessibility_test_runner
│ │ ├── AccessibilityPaneTestRunner.js
│ │ └── module.json
│ ├── animation
│ │ ├── AnimationGroupPreviewUI.js
│ │ ├── AnimationModel.js
│ │ ├── AnimationScreenshotPopover.js
│ │ ├── AnimationTimeline.js
│ │ ├── AnimationUI.js
│ │ ├── animationScreenshotPopover.css
│ │ ├── animationTimeline.css
│ │ └── module.json
│ ├── application_test_runner
│ │ ├── AppcacheTestRunner.js
│ │ ├── CacheStorageTestRunner.js
│ │ ├── IndexedDBTestRunner.js
│ │ ├── ResourceTreeTestRunner.js
│ │ ├── ResourcesTestRunner.js
│ │ ├── ServiceWorkersTestRunner.js
│ │ └── module.json
│ ├── audits2
│ │ ├── Audits2Controller.js
│ │ ├── Audits2Panel.js
│ │ ├── Audits2ProtocolService.js
│ │ ├── Audits2ReportRenderer.js
│ │ ├── Audits2ReportSelector.js
│ │ ├── Audits2StartView.js
│ │ ├── Audits2StatusView.js
│ │ ├── RadioSetting.js
│ │ ├── audits2Dialog.css
│ │ ├── audits2Panel.css
│ │ ├── audits2StartView.css
│ │ ├── lighthouse
│ │ │ ├── LICENSE
│ │ │ ├── README.chromium
│ │ │ ├── renderer
│ │ │ │ ├── category-renderer.js
│ │ │ │ ├── crc-details-renderer.js
│ │ │ │ ├── details-renderer.js
│ │ │ │ ├── dom.js
│ │ │ │ ├── performance-category-renderer.js
│ │ │ │ ├── report-renderer.js
│ │ │ │ └── util.js
│ │ │ ├── report-styles.css
│ │ │ └── templates.html
│ │ └── module.json
│ ├── audits2_test_runner
│ │ ├── Audits2TestRunner.js
│ │ └── module.json
│ ├── audits2_worker.js
│ ├── audits2_worker.json
│ ├── audits2_worker
│ │ ├── Audits2Service.js
│ │ ├── lighthouse
│ │ │ ├── LICENSE
│ │ │ ├── README.chromium
│ │ │ └── lighthouse-background.js
│ │ └── module.json
│ ├── bindings
│ │ ├── BlackboxManager.js
│ │ ├── BreakpointManager.js
│ │ ├── CSSWorkspaceBinding.js
│ │ ├── CompilerScriptMapping.js
│ │ ├── ContentProviderBasedProject.js
│ │ ├── DebuggerWorkspaceBinding.js
│ │ ├── DefaultScriptMapping.js
│ │ ├── FileUtils.js
│ │ ├── LiveLocation.js
│ │ ├── NetworkProject.js
│ │ ├── PresentationConsoleMessageHelper.js
│ │ ├── ResourceMapping.js
│ │ ├── ResourceScriptMapping.js
│ │ ├── ResourceUtils.js
│ │ ├── SASSSourceMapping.js
│ │ ├── StylesSourceMapping.js
│ │ ├── TempFile.js
│ │ └── module.json
│ ├── bindings_test_runner
│ │ ├── AutomappingTestRunner.js
│ │ ├── BindingsTestRunner.js
│ │ ├── IsolatedFilesystemTestRunner.js
│ │ ├── OverridesTestRunner.js
│ │ ├── PersistenceTestRunner.js
│ │ └── module.json
│ ├── browser_components
│ │ ├── ImagePreview.js
│ │ ├── imagePreview.css
│ │ └── module.json
│ ├── browser_console
│ │ ├── BrowserConsole.js
│ │ └── module.json
│ ├── browser_debugger
│ │ ├── DOMBreakpointsSidebarPane.js
│ │ ├── EventListenerBreakpointsSidebarPane.js
│ │ ├── ObjectEventListenersSidebarPane.js
│ │ ├── XHRBreakpointsSidebarPane.js
│ │ ├── domBreakpointsSidebarPane.css
│ │ ├── eventListenerBreakpoints.css
│ │ ├── module.json
│ │ └── xhrBreakpointsSidebarPane.css
│ ├── browser_sdk
│ │ ├── HAREntry.js
│ │ ├── LogManager.js
│ │ ├── NetworkLog.js
│ │ └── module.json
│ ├── changes
│ │ ├── ChangesHighlighter.js
│ │ ├── ChangesSidebar.js
│ │ ├── ChangesView.js
│ │ ├── changesSidebar.css
│ │ ├── changesView.css
│ │ └── module.json
│ ├── cm
│ │ ├── LICENSE
│ │ ├── LICENSE_python
│ │ ├── PRESUBMIT.py
│ │ ├── README.md
│ │ ├── activeline.js
│ │ ├── closebrackets.js
│ │ ├── codemirror.css
│ │ ├── codemirror.js
│ │ ├── comment.js
│ │ ├── markselection.js
│ │ ├── matchbrackets.js
│ │ ├── module.json
│ │ ├── multiplex.js
│ │ └── overlay.js
│ ├── cm_headless
│ │ ├── headlesscodemirror.js
│ │ └── module.json
│ ├── cm_modes
│ │ ├── DefaultCodeMirrorMimeMode.js
│ │ ├── LICENSE
│ │ ├── PRESUBMIT.py
│ │ ├── clike.js
│ │ ├── clojure.js
│ │ ├── coffeescript.js
│ │ ├── jsx.js
│ │ ├── livescript.js
│ │ ├── markdown.js
│ │ ├── module.json
│ │ ├── php.js
│ │ ├── python.js
│ │ ├── shell.js
│ │ └── stylus.js
│ ├── cm_web_modes
│ │ ├── css.js
│ │ ├── htmlembedded.js
│ │ ├── htmlmixed.js
│ │ ├── javascript.js
│ │ └── xml.js
│ ├── color_picker
│ │ ├── ContrastDetails.js
│ │ ├── ContrastInfo.js
│ │ ├── ContrastOverlay.js
│ │ ├── Spectrum.js
│ │ ├── module.json
│ │ └── spectrum.css
│ ├── common
│ │ ├── CharacterIdMap.js
│ │ ├── Color.js
│ │ ├── Console.js
│ │ ├── ContentProvider.js
│ │ ├── ModuleExtensionInterfaces.js
│ │ ├── Object.js
│ │ ├── OutputStream.js
│ │ ├── ParsedURL.js
│ │ ├── Progress.js
│ │ ├── ResourceType.js
│ │ ├── SegmentedRange.js
│ │ ├── Settings.js
│ │ ├── StaticContentProvider.js
│ │ ├── TextDictionary.js
│ │ ├── Throttler.js
│ │ ├── Trie.js
│ │ ├── UIString.js
│ │ ├── Worker.js
│ │ └── module.json
│ ├── components
│ │ ├── DockController.js
│ │ ├── JSPresentationUtils.js
│ │ ├── Linkifier.js
│ │ ├── Reload.js
│ │ ├── TargetDetachedDialog.js
│ │ ├── jsUtils.css
│ │ └── module.json
│ ├── console
│ │ ├── ConsoleContextSelector.js
│ │ ├── ConsoleFilter.js
│ │ ├── ConsolePanel.js
│ │ ├── ConsolePinPane.js
│ │ ├── ConsolePrompt.js
│ │ ├── ConsoleSidebar.js
│ │ ├── ConsoleView.js
│ │ ├── ConsoleViewMessage.js
│ │ ├── ConsoleViewport.js
│ │ ├── consoleContextSelector.css
│ │ ├── consolePinPane.css
│ │ ├── consoleSidebar.css
│ │ ├── consoleView.css
│ │ └── module.json
│ ├── console_counters
│ │ ├── WarningErrorCounter.js
│ │ ├── errorWarningCounter.css
│ │ └── module.json
│ ├── console_test_runner
│ │ ├── ConsoleTestRunner.js
│ │ └── module.json
│ ├── cookie_table
│ │ ├── CookiesTable.js
│ │ └── module.json
│ ├── coverage
│ │ ├── CoverageDecorationManager.js
│ │ ├── CoverageListView.js
│ │ ├── CoverageModel.js
│ │ ├── CoverageView.js
│ │ ├── coverageListView.css
│ │ ├── coverageView.css
│ │ └── module.json
│ ├── coverage_test_runner
│ │ ├── CoverageTestRunner.js
│ │ └── module.json
│ ├── cpu_profiler_test_runner
│ │ ├── ProfilerTestRunner.js
│ │ └── module.json
│ ├── data_grid
│ │ ├── DataGrid.js
│ │ ├── ShowMoreDataGridNode.js
│ │ ├── SortableDataGrid.js
│ │ ├── ViewportDataGrid.js
│ │ ├── dataGrid.css
│ │ └── module.json
│ ├── data_grid_test_runner
│ │ ├── DataGridTestRunner.js
│ │ └── module.json
│ ├── device_mode_test_runner
│ │ ├── DeviceModeTestRunner.js
│ │ └── module.json
│ ├── devices
│ │ ├── DevicesView.js
│ │ ├── devicesView.css
│ │ └── module.json
│ ├── devtools_app.html
│ ├── devtools_app.js
│ ├── devtools_app.json
│ ├── devtools_compatibility.js
│ ├── diff
│ │ ├── Diff.js
│ │ ├── diff_match_patch.js
│ │ └── module.json
│ ├── dom_extension
│ │ ├── DOMExtension.js
│ │ └── module.json
│ ├── elements
│ │ ├── ClassesPaneWidget.js
│ │ ├── ColorSwatchPopoverIcon.js
│ │ ├── ComputedStyleModel.js
│ │ ├── ComputedStyleWidget.js
│ │ ├── DOMLinkifier.js
│ │ ├── DOMPath.js
│ │ ├── ElementStatePaneWidget.js
│ │ ├── ElementsBreadcrumbs.js
│ │ ├── ElementsPanel.js
│ │ ├── ElementsSidebarPane.js
│ │ ├── ElementsTreeElement.js
│ │ ├── ElementsTreeElementHighlighter.js
│ │ ├── ElementsTreeOutline.js
│ │ ├── EventListenersWidget.js
│ │ ├── InspectElementModeController.js
│ │ ├── MarkerDecorator.js
│ │ ├── MetricsSidebarPane.js
│ │ ├── PlatformFontsWidget.js
│ │ ├── PropertiesWidget.js
│ │ ├── StylePropertyHighlighter.js
│ │ ├── StylePropertyTreeElement.js
│ │ ├── StylesSidebarPane.js
│ │ ├── breadcrumbs.css
│ │ ├── classesPaneWidget.css
│ │ ├── computedStyleSidebarPane.css
│ │ ├── computedStyleWidgetTree.css
│ │ ├── domLinkifier.css
│ │ ├── elementStatePaneWidget.css
│ │ ├── elementsPanel.css
│ │ ├── elementsTreeOutline.css
│ │ ├── metricsSidebarPane.css
│ │ ├── module.json
│ │ ├── platformFontsWidget.css
│ │ ├── propertiesWidget.css
│ │ ├── stylesSectionTree.css
│ │ └── stylesSidebarPane.css
│ ├── elements_test_runner
│ │ ├── EditDOMTestRunner.js
│ │ ├── ElementsPanelShadowSelectionOnRefreshTestRunner.js
│ │ ├── ElementsTestRunner.js
│ │ ├── SetOuterHTMLTestRunner.js
│ │ ├── StylesUpdateLinksTestRunner.js
│ │ └── module.json
│ ├── emulated_devices
│ │ ├── Nexus5X-landscape.svg
│ │ ├── Nexus5X-portrait.svg
│ │ ├── Nexus6P-landscape.svg
│ │ ├── Nexus6P-portrait.svg
│ │ ├── google-nexus-5-horizontal-default-1x.png
│ │ ├── google-nexus-5-horizontal-default-2x.png
│ │ ├── google-nexus-5-horizontal-keyboard-1x.png
│ │ ├── google-nexus-5-horizontal-keyboard-2x.png
│ │ ├── google-nexus-5-horizontal-navigation-1x.png
│ │ ├── google-nexus-5-horizontal-navigation-2x.png
│ │ ├── google-nexus-5-vertical-default-1x.png
│ │ ├── google-nexus-5-vertical-default-2x.png
│ │ ├── google-nexus-5-vertical-keyboard-1x.png
│ │ ├── google-nexus-5-vertical-keyboard-2x.png
│ │ ├── google-nexus-5-vertical-navigation-1x.png
│ │ ├── google-nexus-5-vertical-navigation-2x.png
│ │ ├── google-nexus-5x-horizontal-default-1x.png
│ │ ├── google-nexus-5x-horizontal-default-2x.png
│ │ ├── google-nexus-5x-horizontal-keyboard-1x.png
│ │ ├── google-nexus-5x-horizontal-keyboard-2x.png
│ │ ├── google-nexus-5x-horizontal-navigation-1x.png
│ │ ├── google-nexus-5x-horizontal-navigation-2x.png
│ │ ├── google-nexus-5x-vertical-default-1x.png
│ │ ├── google-nexus-5x-vertical-default-2x.png
│ │ ├── google-nexus-5x-vertical-keyboard-1x.png
│ │ ├── google-nexus-5x-vertical-keyboard-2x.png
│ │ ├── google-nexus-5x-vertical-navigation-1x.png
│ │ ├── google-nexus-5x-vertical-navigation-2x.png
│ │ ├── iPad-landscape.svg
│ │ ├── iPad-portrait.svg
│ │ ├── iPhone5-landscape.svg
│ │ ├── iPhone5-portrait.svg
│ │ ├── iPhone6-landscape.svg
│ │ ├── iPhone6-portrait.svg
│ │ ├── iPhone6Plus-landscape.svg
│ │ ├── iPhone6Plus-portrait.svg
│ │ └── module.json
│ ├── emulation
│ │ ├── AdvancedApp.js
│ │ ├── DeviceModeModel.js
│ │ ├── DeviceModeToolbar.js
│ │ ├── DeviceModeView.js
│ │ ├── DeviceModeWrapper.js
│ │ ├── DevicesSettingsTab.js
│ │ ├── EmulatedDevices.js
│ │ ├── InspectedPagePlaceholder.js
│ │ ├── MediaQueryInspector.js
│ │ ├── SensorsView.js
│ │ ├── deviceModeToolbar.css
│ │ ├── deviceModeView.css
│ │ ├── devicesSettingsTab.css
│ │ ├── inspectedPagePlaceholder.css
│ │ ├── mediaQueryInspector.css
│ │ ├── module.json
│ │ └── sensors.css
│ ├── event_listeners
│ │ ├── EventListenersUtils.js
│ │ ├── EventListenersView.js
│ │ ├── eventListenersView.css
│ │ └── module.json
│ ├── extensions
│ │ ├── ExtensionAPI.js
│ │ ├── ExtensionPanel.js
│ │ ├── ExtensionRegistryStub.js
│ │ ├── ExtensionServer.js
│ │ ├── ExtensionTraceProvider.js
│ │ ├── ExtensionView.js
│ │ └── module.json
│ ├── extensions_test_runner
│ │ ├── ExtensionsNetworkTestRunner.js
│ │ ├── ExtensionsTestRunner.js
│ │ └── module.json
│ ├── externs.js
│ ├── formatter
│ │ ├── FormatterWorkerPool.js
│ │ ├── ScriptFormatter.js
│ │ └── module.json
│ ├── formatter_worker.js
│ ├── formatter_worker.json
│ ├── formatter_worker
│ │ ├── AcornTokenizer.js
│ │ ├── CSSFormatter.js
│ │ ├── CSSRuleParser.js
│ │ ├── ESTreeWalker.js
│ │ ├── FormattedContentBuilder.js
│ │ ├── FormatterWorker.js
│ │ ├── HTMLFormatter.js
│ │ ├── IdentityFormatter.js
│ │ ├── JavaScriptFormatter.js
│ │ ├── JavaScriptOutline.js
│ │ ├── RelaxedJSONParser.js
│ │ ├── acorn
│ │ │ ├── AUTHORS
│ │ │ ├── LICENSE
│ │ │ ├── acorn.js
│ │ │ └── acorn_loose.js
│ │ └── module.json
│ ├── har_importer
│ │ ├── HARFormat.js
│ │ ├── HARImporter.js
│ │ └── module.json
│ ├── heap_profiler_test_runner
│ │ ├── HeapProfilerTestRunner.js
│ │ └── module.json
│ ├── heap_snapshot_model
│ │ ├── HeapSnapshotModel.js
│ │ └── module.json
│ ├── heap_snapshot_worker.js
│ ├── heap_snapshot_worker.json
│ ├── heap_snapshot_worker
│ │ ├── AllocationProfile.js
│ │ ├── HeapSnapshot.js
│ │ ├── HeapSnapshotLoader.js
│ │ ├── HeapSnapshotWorker.js
│ │ ├── HeapSnapshotWorkerDispatcher.js
│ │ └── module.json
│ ├── help
│ │ ├── Help.js
│ │ ├── ReleaseNoteText.js
│ │ ├── ReleaseNoteView.js
│ │ ├── module.json
│ │ └── releaseNote.css
│ ├── host
│ │ ├── InspectorFrontendHost.js
│ │ ├── InspectorFrontendHostAPI.js
│ │ ├── Platform.js
│ │ ├── ResourceLoader.js
│ │ ├── UserMetrics.js
│ │ └── module.json
│ ├── inline_editor
│ │ ├── BezierEditor.js
│ │ ├── BezierUI.js
│ │ ├── CSSShadowEditor.js
│ │ ├── CSSShadowModel.js
│ │ ├── ColorSwatch.js
│ │ ├── SwatchPopoverHelper.js
│ │ ├── bezierEditor.css
│ │ ├── bezierSwatch.css
│ │ ├── colorSwatch.css
│ │ ├── cssShadowEditor.css
│ │ ├── cssShadowSwatch.css
│ │ ├── module.json
│ │ └── swatchPopover.css
│ ├── inspector.html
│ ├── inspector.js
│ ├── inspector.json
│ ├── inspector_main
│ │ ├── InspectorMain.js
│ │ ├── RenderingOptions.js
│ │ ├── RequestAppBannerActionDelegate.js
│ │ ├── module.json
│ │ ├── nodeIcon.css
│ │ └── renderingOptions.css
│ ├── integration_test_runner.html
│ ├── integration_test_runner.js
│ ├── integration_test_runner.json
│ ├── javascript_metadata
│ │ ├── JavaScriptMetadata.js
│ │ ├── NativeFunctions.js
│ │ └── module.json
│ ├── js_app.html
│ ├── js_app.js
│ ├── js_app.json
│ ├── js_main
│ │ ├── JsMain.js
│ │ └── module.json
│ ├── js_profiler
│ │ └── module.json
│ ├── layer_viewer
│ │ ├── LayerDetailsView.js
│ │ ├── LayerTreeOutline.js
│ │ ├── LayerViewHost.js
│ │ ├── Layers3DView.js
│ │ ├── PaintProfilerView.js
│ │ ├── TransformController.js
│ │ ├── layerDetailsView.css
│ │ ├── layers3DView.css
│ │ ├── module.json
│ │ └── paintProfiler.css
│ ├── layers
│ │ ├── LayerPaintProfilerView.js
│ │ ├── LayerTreeModel.js
│ │ ├── LayersPanel.js
│ │ └── module.json
│ ├── layers_test_runner
│ │ ├── LayersTestRunner.js
│ │ └── module.json
│ ├── main
│ │ ├── ExecutionContextSelector.js
│ │ ├── Main.js
│ │ ├── SimpleApp.js
│ │ └── module.json
│ ├── mobile_throttling
│ │ ├── MobileThrottlingSelector.js
│ │ ├── NetworkPanelIndicator.js
│ │ ├── NetworkThrottlingSelector.js
│ │ ├── ThrottlingManager.js
│ │ ├── ThrottlingPresets.js
│ │ ├── ThrottlingSettingsTab.js
│ │ ├── module.json
│ │ └── throttlingSettingsTab.css
│ ├── ndb_app.html
│ ├── ndb_app.js
│ ├── ndb_app.json
│ ├── network
│ │ ├── BlockedURLsPane.js
│ │ ├── EventSourceMessagesView.js
│ │ ├── HARWriter.js
│ │ ├── NetworkConfigView.js
│ │ ├── NetworkDataGridNode.js
│ │ ├── NetworkFrameGrouper.js
│ │ ├── NetworkItemView.js
│ │ ├── NetworkLogView.js
│ │ ├── NetworkLogViewColumns.js
│ │ ├── NetworkManageCustomHeadersView.js
│ │ ├── NetworkOverview.js
│ │ ├── NetworkPanel.js
│ │ ├── NetworkSearchScope.js
│ │ ├── NetworkTimeCalculator.js
│ │ ├── NetworkWaterfallColumn.js
│ │ ├── RequestCookiesView.js
│ │ ├── RequestHTMLView.js
│ │ ├── RequestHeadersView.js
│ │ ├── RequestPreviewView.js
│ │ ├── RequestResponseView.js
│ │ ├── RequestTimingView.js
│ │ ├── ResourceWebSocketFrameView.js
│ │ ├── SignedExchangeInfoView.js
│ │ ├── blockedURLsPane.css
│ │ ├── eventSourceMessagesView.css
│ │ ├── module.json
│ │ ├── networkConfigView.css
│ │ ├── networkLogView.css
│ │ ├── networkManageCustomHeadersView.css
│ │ ├── networkPanel.css
│ │ ├── networkTimingTable.css
│ │ ├── networkWaterfallColumn.css
│ │ ├── requestCookiesView.css
│ │ ├── requestHTMLView.css
│ │ ├── requestHeadersTree.css
│ │ ├── requestHeadersView.css
│ │ ├── signedExchangeInfoTree.css
│ │ ├── signedExchangeInfoView.css
│ │ └── webSocketFrameView.css
│ ├── network_test_runner
│ │ ├── NetworkTestRunner.js
│ │ ├── ProductRegistryTestRunner.js
│ │ └── module.json
│ ├── node_app.html
│ ├── node_app.js
│ ├── node_app.json
│ ├── node_debugger
│ │ └── module.json
│ ├── node_main
│ │ ├── NodeConnectionsPanel.js
│ │ ├── NodeMain.js
│ │ ├── module.json
│ │ └── nodeConnectionsPanel.css
│ ├── object_ui
│ │ ├── CustomPreviewComponent.js
│ │ ├── JavaScriptAutocomplete.js
│ │ ├── ObjectPopoverHelper.js
│ │ ├── ObjectPropertiesSection.js
│ │ ├── RemoteObjectPreviewFormatter.js
│ │ ├── customPreviewComponent.css
│ │ ├── module.json
│ │ ├── objectPopover.css
│ │ ├── objectPropertiesSection.css
│ │ └── objectValue.css
│ ├── perf_ui
│ │ ├── ChartViewport.js
│ │ ├── FilmStripView.js
│ │ ├── FlameChart.js
│ │ ├── GCActionDelegate.js
│ │ ├── LineLevelProfile.js
│ │ ├── NetworkPriorities.js
│ │ ├── OverviewGrid.js
│ │ ├── PieChart.js
│ │ ├── TimelineGrid.js
│ │ ├── TimelineOverviewPane.js
│ │ ├── chartViewport.css
│ │ ├── filmStripView.css
│ │ ├── flameChart.css
│ │ ├── module.json
│ │ ├── overviewGrid.css
│ │ ├── pieChart.css
│ │ ├── timelineGrid.css
│ │ └── timelineOverviewInfo.css
│ ├── performance_monitor
│ │ ├── PerformanceMonitor.js
│ │ ├── module.json
│ │ └── performanceMonitor.css
│ ├── performance_test_runner
│ │ ├── TimelineDataTestRunner.js
│ │ ├── TimelineTestRunner.js
│ │ └── module.json
│ ├── persistence
│ │ ├── Automapping.js
│ │ ├── EditFileSystemView.js
│ │ ├── FileSystemWorkspaceBinding.js
│ │ ├── IsolatedFileSystem.js
│ │ ├── IsolatedFileSystemManager.js
│ │ ├── NetworkPersistenceManager.js
│ │ ├── Persistence.js
│ │ ├── PersistenceActions.js
│ │ ├── PersistenceUtils.js
│ │ ├── WorkspaceSettingsTab.js
│ │ ├── editFileSystemView.css
│ │ ├── module.json
│ │ └── workspaceSettingsTab.css
│ ├── platform
│ │ ├── module.json
│ │ └── utilities.js
│ ├── product_registry
│ │ ├── BadgePool.js
│ │ ├── ProductRegistry.js
│ │ ├── badge.css
│ │ ├── module.json
│ │ └── popup.css
│ ├── product_registry_impl
│ │ ├── ProductRegistryData.js
│ │ ├── ProductRegistryImpl.js
│ │ ├── module.json
│ │ └── sha1
│ │ │ ├── README.chromium
│ │ │ └── sha1.js
│ ├── profiler
│ │ ├── BottomUpProfileDataGrid.js
│ │ ├── CPUProfileFlameChart.js
│ │ ├── CPUProfileView.js
│ │ ├── HeapProfileView.js
│ │ ├── HeapProfilerPanel.js
│ │ ├── HeapSnapshotDataGrids.js
│ │ ├── HeapSnapshotGridNodes.js
│ │ ├── HeapSnapshotProxy.js
│ │ ├── HeapSnapshotView.js
│ │ ├── IsolateSelector.js
│ │ ├── ProfileDataGrid.js
│ │ ├── ProfileHeader.js
│ │ ├── ProfileLauncherView.js
│ │ ├── ProfileType.js
│ │ ├── ProfileTypeRegistry.js
│ │ ├── ProfileView.js
│ │ ├── ProfilesPanel.js
│ │ ├── TopDownProfileDataGrid.js
│ │ ├── heapProfiler.css
│ │ ├── module.json
│ │ ├── profileLauncherView.css
│ │ ├── profilesPanel.css
│ │ └── profilesSidebarTree.css
│ ├── protocol
│ │ ├── InspectorBackend.js
│ │ └── module.json
│ ├── protocol_monitor
│ │ ├── ProtocolMonitor.js
│ │ ├── module.json
│ │ └── protocolMonitor.css
│ ├── quick_open
│ │ ├── CommandMenu.js
│ │ ├── FilteredListWidget.js
│ │ ├── HelpQuickOpen.js
│ │ ├── QuickOpen.js
│ │ ├── filteredListWidget.css
│ │ └── module.json
│ ├── resources
│ │ ├── AppManifestView.js
│ │ ├── ApplicationCacheItemsView.js
│ │ ├── ApplicationCacheModel.js
│ │ ├── ApplicationPanelSidebar.js
│ │ ├── ClearStorageView.js
│ │ ├── CookieItemsView.js
│ │ ├── DOMStorageItemsView.js
│ │ ├── DOMStorageModel.js
│ │ ├── DatabaseModel.js
│ │ ├── DatabaseQueryView.js
│ │ ├── DatabaseTableView.js
│ │ ├── IndexedDBModel.js
│ │ ├── IndexedDBViews.js
│ │ ├── ResourcesPanel.js
│ │ ├── ResourcesSection.js
│ │ ├── ServiceWorkerCacheViews.js
│ │ ├── ServiceWorkersView.js
│ │ ├── StorageItemsView.js
│ │ ├── appManifestView.css
│ │ ├── clearStorageView.css
│ │ ├── indexedDBViews.css
│ │ ├── module.json
│ │ ├── resourcesPanel.css
│ │ ├── resourcesSidebar.css
│ │ ├── serviceWorkerCacheViews.css
│ │ └── serviceWorkersView.css
│ ├── screencast
│ │ ├── InputModel.js
│ │ ├── ScreencastApp.js
│ │ ├── ScreencastView.js
│ │ ├── module.json
│ │ └── screencastView.css
│ ├── sdk
│ │ ├── CPUProfileDataModel.js
│ │ ├── CPUProfilerModel.js
│ │ ├── CSSMatchedStyles.js
│ │ ├── CSSMedia.js
│ │ ├── CSSMetadata.js
│ │ ├── CSSModel.js
│ │ ├── CSSProperty.js
│ │ ├── CSSRule.js
│ │ ├── CSSStyleDeclaration.js
│ │ ├── CSSStyleSheetHeader.js
│ │ ├── ChildTargetManager.js
│ │ ├── Connections.js
│ │ ├── ConsoleModel.js
│ │ ├── ContentProviders.js
│ │ ├── CookieModel.js
│ │ ├── CookieParser.js
│ │ ├── DOMDebuggerModel.js
│ │ ├── DOMModel.js
│ │ ├── DebuggerModel.js
│ │ ├── EmulationModel.js
│ │ ├── FilmStripModel.js
│ │ ├── HeapProfilerModel.js
│ │ ├── LayerTreeBase.js
│ │ ├── LogModel.js
│ │ ├── NetworkManager.js
│ │ ├── NetworkRequest.js
│ │ ├── OverlayModel.js
│ │ ├── PaintProfiler.js
│ │ ├── PerformanceMetricsModel.js
│ │ ├── ProfileTreeModel.js
│ │ ├── RemoteObject.js
│ │ ├── Resource.js
│ │ ├── ResourceTreeModel.js
│ │ ├── RuntimeModel.js
│ │ ├── ScreenCaptureModel.js
│ │ ├── Script.js
│ │ ├── SecurityOriginManager.js
│ │ ├── ServerTiming.js
│ │ ├── ServiceWorkerCacheModel.js
│ │ ├── ServiceWorkerManager.js
│ │ ├── SourceMap.js
│ │ ├── SourceMapManager.js
│ │ ├── Target.js
│ │ ├── TargetManager.js
│ │ ├── TracingManager.js
│ │ ├── TracingModel.js
│ │ └── module.json
│ ├── sdk_test_runner
│ │ ├── PageMockTestRunner.js
│ │ └── module.json
│ ├── search
│ │ ├── SearchConfig.js
│ │ ├── SearchResultsPane.js
│ │ ├── SearchView.js
│ │ ├── module.json
│ │ ├── searchResultsPane.css
│ │ └── searchView.css
│ ├── security
│ │ ├── SecurityModel.js
│ │ ├── SecurityPanel.js
│ │ ├── lockIcon.css
│ │ ├── mainView.css
│ │ ├── module.json
│ │ ├── originView.css
│ │ └── sidebar.css
│ ├── security_test_runner
│ │ ├── SecurityTestRunner.js
│ │ └── module.json
│ ├── services
│ │ ├── ServiceManager.js
│ │ └── module.json
│ ├── settings
│ │ ├── FrameworkBlackboxSettingsTab.js
│ │ ├── SettingsScreen.js
│ │ ├── frameworkBlackboxSettingsTab.css
│ │ ├── module.json
│ │ └── settingsScreen.css
│ ├── shell.json
│ ├── snippets
│ │ ├── ScriptSnippetModel.js
│ │ ├── SnippetStorage.js
│ │ ├── SnippetsQuickOpen.js
│ │ └── module.json
│ ├── source_frame
│ │ ├── FontView.js
│ │ ├── ImageView.js
│ │ ├── JSONView.js
│ │ ├── PreviewFactory.js
│ │ ├── ResourceSourceFrame.js
│ │ ├── SourceCodeDiff.js
│ │ ├── SourceFrame.js
│ │ ├── SourcesTextEditor.js
│ │ ├── XMLView.js
│ │ ├── fontView.css
│ │ ├── imageView.css
│ │ ├── jsonView.css
│ │ ├── messagesPopover.css
│ │ ├── module.json
│ │ ├── resourceSourceFrame.css
│ │ ├── xmlTree.css
│ │ └── xmlView.css
│ ├── sources
│ │ ├── AddSourceMapURLDialog.js
│ │ ├── CSSPlugin.js
│ │ ├── CallStackSidebarPane.js
│ │ ├── DebuggerPausedMessage.js
│ │ ├── DebuggerPlugin.js
│ │ ├── EditingLocationHistoryManager.js
│ │ ├── FilePathScoreFunction.js
│ │ ├── FilteredUISourceCodeListProvider.js
│ │ ├── GoToLineQuickOpen.js
│ │ ├── GutterDiffPlugin.js
│ │ ├── InplaceFormatterEditorAction.js
│ │ ├── JavaScriptBreakpointsSidebarPane.js
│ │ ├── JavaScriptCompilerPlugin.js
│ │ ├── NavigatorView.js
│ │ ├── OpenFileQuickOpen.js
│ │ ├── OutlineQuickOpen.js
│ │ ├── ScopeChainSidebarPane.js
│ │ ├── ScriptFormatterEditorAction.js
│ │ ├── SearchSourcesView.js
│ │ ├── SimpleHistoryManager.js
│ │ ├── SnippetsPlugin.js
│ │ ├── SourceFormatter.js
│ │ ├── SourceMapNamesResolver.js
│ │ ├── SourcesNavigator.js
│ │ ├── SourcesPanel.js
│ │ ├── SourcesSearchScope.js
│ │ ├── SourcesView.js
│ │ ├── TabbedEditorContainer.js
│ │ ├── ThreadsSidebarPane.js
│ │ ├── UISourceCodeFrame.js
│ │ ├── WatchExpressionsSidebarPane.js
│ │ ├── callStackSidebarPane.css
│ │ ├── debuggerPausedMessage.css
│ │ ├── dialog.css
│ │ ├── javaScriptBreakpointsSidebarPane.css
│ │ ├── module.json
│ │ ├── navigatorTree.css
│ │ ├── navigatorView.css
│ │ ├── revisionHistory.css
│ │ ├── scopeChainSidebarPane.css
│ │ ├── serviceWorkersSidebar.css
│ │ ├── sourcesPanel.css
│ │ ├── sourcesView.css
│ │ ├── threadsSidebarPane.css
│ │ └── watchExpressionsSidebarPane.css
│ ├── sources_test_runner
│ │ ├── AutocompleteTestRunner.js
│ │ ├── DebuggerTestRunner.js
│ │ ├── EditorTestRunner.js
│ │ ├── LiveEditTestRunner.js
│ │ ├── SearchTestRunner.js
│ │ ├── SourcesTestRunner.js
│ │ └── module.json
│ ├── terminal
│ │ ├── TerminalWidget.js
│ │ ├── module.json
│ │ ├── terminal.css
│ │ └── xterm.js
│ │ │ ├── LICENSE
│ │ │ ├── README.chromium
│ │ │ ├── addons
│ │ │ └── fit
│ │ │ │ ├── fit.js
│ │ │ │ └── package.json
│ │ │ └── build
│ │ │ ├── xterm.css
│ │ │ └── xterm.js
│ ├── test_runner
│ │ ├── TestRunner.js
│ │ └── module.json
│ ├── text_editor
│ │ ├── CodeMirrorTextEditor.js
│ │ ├── CodeMirrorUtils.js
│ │ ├── TextEditorAutocompleteController.js
│ │ ├── autocompleteTooltip.css
│ │ ├── cmdevtools.css
│ │ └── module.json
│ ├── text_utils
│ │ ├── Text.js
│ │ ├── TextRange.js
│ │ ├── TextUtils.js
│ │ └── module.json
│ ├── timeline
│ │ ├── CountersGraph.js
│ │ ├── EventsTimelineTreeView.js
│ │ ├── ExtensionTracingSession.js
│ │ ├── PerformanceModel.js
│ │ ├── TimelineController.js
│ │ ├── TimelineDetailsView.js
│ │ ├── TimelineEventOverview.js
│ │ ├── TimelineFilters.js
│ │ ├── TimelineFlameChartDataProvider.js
│ │ ├── TimelineFlameChartNetworkDataProvider.js
│ │ ├── TimelineFlameChartView.js
│ │ ├── TimelineHistoryManager.js
│ │ ├── TimelineLayersView.js
│ │ ├── TimelineLoader.js
│ │ ├── TimelinePaintProfilerView.js
│ │ ├── TimelinePanel.js
│ │ ├── TimelineTreeView.js
│ │ ├── TimelineUIUtils.js
│ │ ├── historyToolbarButton.css
│ │ ├── invalidationsTree.css
│ │ ├── module.json
│ │ ├── timelineFlamechartPopover.css
│ │ ├── timelineHistoryManager.css
│ │ ├── timelinePaintProfiler.css
│ │ ├── timelinePanel.css
│ │ └── timelineStatusDialog.css
│ ├── timeline_model
│ │ ├── TimelineFrameModel.js
│ │ ├── TimelineIRModel.js
│ │ ├── TimelineJSProfile.js
│ │ ├── TimelineModel.js
│ │ ├── TimelineModelFilter.js
│ │ ├── TimelineProfileTree.js
│ │ ├── TracingLayerTree.js
│ │ └── module.json
│ ├── toolbox.html
│ ├── toolbox.js
│ ├── toolbox.json
│ ├── toolbox_bootstrap
│ │ ├── Toolbox.js
│ │ └── module.json
│ ├── ui
│ │ ├── ARIAUtils.js
│ │ ├── ActionRegistry.js
│ │ ├── Context.js
│ │ ├── ContextMenu.js
│ │ ├── Dialog.js
│ │ ├── DropTarget.js
│ │ ├── EmptyWidget.js
│ │ ├── FilterBar.js
│ │ ├── FilterSuggestionBuilder.js
│ │ ├── ForwardedInputEventHandler.js
│ │ ├── Fragment.js
│ │ ├── Geometry.js
│ │ ├── GlassPane.js
│ │ ├── HistoryInput.js
│ │ ├── Icon.js
│ │ ├── Infobar.js
│ │ ├── InplaceEditor.js
│ │ ├── InspectorView.js
│ │ ├── KeyboardShortcut.js
│ │ ├── ListControl.js
│ │ ├── ListModel.js
│ │ ├── ListWidget.js
│ │ ├── Panel.js
│ │ ├── Popover.js
│ │ ├── ProgressIndicator.js
│ │ ├── RemoteDebuggingTerminatedScreen.js
│ │ ├── ReportView.js
│ │ ├── ResizerWidget.js
│ │ ├── RootView.js
│ │ ├── SearchableView.js
│ │ ├── SegmentedButton.js
│ │ ├── SettingsUI.js
│ │ ├── ShortcutRegistry.js
│ │ ├── ShortcutsScreen.js
│ │ ├── SoftContextMenu.js
│ │ ├── SoftDropDown.js
│ │ ├── SplitWidget.js
│ │ ├── SuggestBox.js
│ │ ├── SyntaxHighlighter.js
│ │ ├── TabbedPane.js
│ │ ├── TargetCrashedScreen.js
│ │ ├── TextEditor.js
│ │ ├── TextPrompt.js
│ │ ├── ThrottledWidget.js
│ │ ├── Toolbar.js
│ │ ├── Tooltip.js
│ │ ├── UIUtils.js
│ │ ├── View.js
│ │ ├── Widget.js
│ │ ├── XElement.js
│ │ ├── XLink.js
│ │ ├── XWidget.js
│ │ ├── ZoomManager.js
│ │ ├── checkboxTextLabel.css
│ │ ├── closeButton.css
│ │ ├── confirmDialog.css
│ │ ├── dialog.css
│ │ ├── dropTarget.css
│ │ ├── emptyWidget.css
│ │ ├── filter.css
│ │ ├── glassPane.css
│ │ ├── infobar.css
│ │ ├── inlineButton.css
│ │ ├── inspectorCommon.css
│ │ ├── inspectorStyle.css
│ │ ├── inspectorSyntaxHighlight.css
│ │ ├── inspectorSyntaxHighlightDark.css
│ │ ├── inspectorViewTabbedPane.css
│ │ ├── listWidget.css
│ │ ├── module.json
│ │ ├── popover.css
│ │ ├── progressIndicator.css
│ │ ├── radioButton.css
│ │ ├── remoteDebuggingTerminatedScreen.css
│ │ ├── reportView.css
│ │ ├── rootView.css
│ │ ├── searchableView.css
│ │ ├── segmentedButton.css
│ │ ├── slider.css
│ │ ├── smallBubble.css
│ │ ├── softContextMenu.css
│ │ ├── softDropDown.css
│ │ ├── softDropDownButton.css
│ │ ├── splitWidget.css
│ │ ├── suggestBox.css
│ │ ├── tabbedPane.css
│ │ ├── targetCrashedScreen.css
│ │ ├── textButton.css
│ │ ├── textPrompt.css
│ │ ├── toolbar.css
│ │ ├── tooltip.css
│ │ ├── treeoutline.css
│ │ ├── treeoutline.js
│ │ └── viewContainers.css
│ ├── worker_app.html
│ ├── worker_app.js
│ ├── worker_app.json
│ ├── worker_main
│ │ ├── WorkerMain.js
│ │ └── module.json
│ ├── worker_service
│ │ ├── ServiceDispatcher.js
│ │ └── module.json
│ ├── workspace
│ │ ├── FileManager.js
│ │ ├── UISourceCode.js
│ │ ├── Workspace.js
│ │ └── module.json
│ └── workspace_diff
│ │ ├── WorkspaceDiff.js
│ │ └── module.json
├── lib
│ ├── app.js
│ ├── common.js
│ ├── constructors
│ │ ├── EventEmitter.js
│ │ ├── WebsocketClient.js
│ │ └── _EventEmitter.js
│ ├── datas
│ │ └── performace.js
│ ├── debug
│ │ └── debugger.js
│ ├── i18n
│ │ ├── i18n.js
│ │ └── locale.js
│ ├── prophet
│ │ ├── index.js
│ │ ├── performance.js
│ │ ├── preprocessTracingData.js
│ │ ├── template
│ │ │ └── report.js
│ │ └── timeline.js
│ ├── runtime
│ │ └── index.js
│ └── utils
│ │ ├── anchor_tips.js
│ │ └── toast.js
├── protocol.json
├── runtime.html
└── vendor
│ ├── doT.js
│ ├── formSeralize.js
│ ├── g2.js
│ ├── qrcode.js
│ ├── resizable.js
│ └── rmodal.js
├── index.js
├── package.json
├── scripts
└── update.js
├── src
├── MemoryFile.js
├── config
│ └── index.js
├── index.js
├── link
│ ├── constructors
│ │ ├── channel.js
│ │ ├── emitter.js
│ │ ├── enum.js
│ │ ├── filter.js
│ │ ├── handler.js
│ │ ├── hub.js
│ │ ├── message.js
│ │ ├── router.js
│ │ └── terminal.js
│ ├── handlers
│ │ ├── debugger.js
│ │ ├── device_manager.js
│ │ ├── entry.js
│ │ ├── inspector.js
│ │ ├── native.js
│ │ ├── runtime_proxy.js
│ │ └── runtime_worker.js
│ ├── index.js
│ ├── managers
│ │ ├── device_manager.js
│ │ └── runtime_manager.js
│ ├── setup.js
│ └── tools
│ │ ├── index.js
│ │ ├── invoker.js
│ │ └── loader.js
├── server
│ ├── headless.js
│ ├── index.js
│ └── router
│ │ ├── http.js
│ │ └── websocket.js
├── util
│ ├── Hosts.js
│ ├── crypto.js
│ ├── env.js
│ ├── hosts.js
│ ├── index.js
│ ├── launcher.js
│ ├── logger.js
│ ├── request.js
│ ├── util.js
│ └── wrapper.js
└── worker
│ ├── sandbox_worker.js
│ └── worker.js
└── test
├── api.js
└── channel.js
/.eslintignore:
--------------------------------------------------------------------------------
1 | worker/
--------------------------------------------------------------------------------
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "extends": ["eslint-config-standard", "eslint-config-prettier"],
3 | "parserOptions": {
4 | "ecmaVersion": 2017
5 | },
6 | "rules": {
7 | "prefer-promise-reject-errors": "off",
8 | "no-new-func": "off",
9 | "standard/no-callback-literal": "off"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | demo
3 | .idea/
4 | .DS_Store
5 | .vscode/
6 | lib/
7 | dest/
8 | frontend/weex
9 |
10 | !frontend/lib/
11 |
12 | frontend/lib/temp
13 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | coverage/
3 | .idea/
4 | inspector_5.2
5 | inspector_5.4
6 | frontend/devtools
7 |
8 | .git/
9 | .vscode/
10 |
11 | src/
12 |
13 | frontend/lib/temp
14 |
15 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | .vscode
2 | package.json
3 | package-lock.json
4 | yarn.lock
5 | readme.md
6 | lib/
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "6"
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // 使用 IntelliSense 了解相关属性。
3 | // 悬停以查看现有属性的描述。
4 | // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
5 | "version": "0.2.0",
6 | "configurations": [
7 | {
8 | "type": "node",
9 | "request": "launch",
10 | "name": "Launch Program",
11 | "program": "${workspaceFolder}/bin/weex-devtool.js",
12 | "args": [
13 | ]
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/LICENCE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2015-present, Weex Team
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.
--------------------------------------------------------------------------------
/frontend/assets/fonts/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/assets/fonts/iconfont.eot
--------------------------------------------------------------------------------
/frontend/assets/fonts/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/assets/fonts/iconfont.ttf
--------------------------------------------------------------------------------
/frontend/assets/fonts/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/assets/fonts/iconfont.woff
--------------------------------------------------------------------------------
/frontend/assets/images/arrow_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/assets/images/arrow_left.png
--------------------------------------------------------------------------------
/frontend/assets/images/arrow_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/assets/images/arrow_right.png
--------------------------------------------------------------------------------
/frontend/assets/images/qrcode_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/assets/images/qrcode_bg.png
--------------------------------------------------------------------------------
/frontend/assets/scss/prophet.scss:
--------------------------------------------------------------------------------
1 | @import 'timeline.scss';
2 | @import 'performance.scss';
3 |
4 | #prophet-page {
5 | width: 100%;
6 | position: fixed;
7 | bottom: 0;
8 | left: 0;
9 | right: 0;
10 | height: calc(100% - 100px);
11 | background: white;
12 | visibility: hidden;
13 | z-index: 10;
14 | }
15 |
16 | #operate-menu {
17 | display: inline-block;
18 | height: 52px;
19 | vertical-align: middle;
20 | }
21 |
22 | #prophet-menu {
23 | display: none;
24 | .menu-btn {
25 | display: inline-block;
26 | color: rgba(255, 255, 255, 0.75);
27 | padding: 5px 12px;
28 | border-radius: 6px;
29 | font-size: 16px;
30 | cursor: pointer;
31 | margin-top: 11px;
32 | margin-left: 32px;
33 | transition: all .2s ease;
34 | &:hover {
35 | color: rgba(255, 255, 255, 1);
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/frontend/assets/styles/anchor-tips.css.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "mappings": "AAAA,cAAc;EACZ,QAAQ,EAAE,QAAQ;EAClB,eAAe,EAAE,SAAS;EAC1B,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,IAAI;EACb,UAAU,EAAC,IAAI;;AAEjB,mBAAmB;EACjB,gBAAgB,EAAE,8BAA8B;;AAGlD,uCAAuC;EACrC,SAAS,EAAE,cAAc;;AAE3B,0BAA0B;EACxB,gBAAgB,EAAE,6BAA6B;;AAGjD,8CAA8C;EAC5C,SAAS,EAAE,cAAc;;AAG3B,oBAAoB;EAClB,gBAAgB,EAAE,6BAA6B;;AAEjD,wCAAwC;EACtC,SAAS,EAAE,aAAa;;AAE1B,2BAA2B;EACzB,gBAAgB,EAAE,8BAA8B;;AAGlD,+CAA+C;EAC7C,SAAS,EAAE,cAAc;;AAE3B,mBAAmB;EACjB,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,IAAI;EACb,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,OAAO;EACpB,WAAW,EAAE,OAAO;;AAGtB,uCAAuC;EACrC,SAAS,EAAC,0BAAyB;;AAErC,mBAAmB;EACjB,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,CAAC;EACR,MAAM,EAAE,CAAC;EACT,UAAU,EAAE,mBAAgB;EAC5B,OAAO,EAAE,GAAG;EACZ,OAAO,EAAE,IAAI;EACb,QAAQ,EAAC,MAAM;EACf,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,CAAC;;AAEZ,mBAAmB;EACjB,OAAO,EAAE,CAAC",
4 | "sources": ["../scss/anchor-tips.scss"],
5 | "names": [],
6 | "file": "anchor-tips.css"
7 | }
8 |
--------------------------------------------------------------------------------
/frontend/assets/styles/common.css.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "mappings": "AAAA,IAAK;EACH,MAAM,EAAE,IAAI;;AAGd,IAAK;EACH,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;EACT,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,uCAAuC;;AAGtD,QAAS;EACP,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,KAAK;EACjB,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,cAAc;EAC1B,aAAa,EAAE,cAAc;;AAG/B,MAAO;EACL,MAAM,EAAE,MAAM;EACd,MAAM,EAAE,cAAc;EACtB,OAAO,EAAE,QAAQ;EACjB,SAAS,EAAE,IAAI;EACf,aAAa,EAAE,GAAG;;AAGpB,CAAE;EACA,OAAO,EAAE,KAAK;;AAGhB,MAAM;EACJ,MAAM,EAAC,CAAC;EACR,OAAO,EAAC,CAAC;EACT,OAAO,EAAE,KAAK;;AAGhB,OAAQ;EACN,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE,QAAQ;;AAGpB,+BAAgC;EAC9B,OAAO,EAAE,IAAI;;AAGf,eAAgB;EACd,WAAW,EAAC,qBAAqB;EACjC,SAAS,EAAC,IAAI;EACd,UAAU,EAAC,MAAM;EACjB,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;EAClC,OAAO,EAAE,OAAO;EAChB,KAAK,EAAE,OAAO;EACd,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,WAAW,EAAE,IAAI;EACjB,SAAS,EAAE,IAAI;EACf,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,KAAK;EACX,GAAG,EAAE,GAAG;;AAGV,OAAQ;EACN,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,OAAO;EACf,yBAAoB;IAClB,SAAS,EAAE,IAAI;;AAInB,+BAAgC;EAC9B,OAAO,EAAE,OAAO;EAChB,SAAS,EAAE,IAAI;;AAGjB,OAAO;EACL,OAAO,EAAE,eAAe",
4 | "sources": ["../scss/common.scss"],
5 | "names": [],
6 | "file": "common.css"
7 | }
8 |
--------------------------------------------------------------------------------
/frontend/assets/styles/iconfont.css.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "mappings": "AAAA;;;;;;;;EAQE;AACF,UAOC;EANC,WAAW,EAAE,UAAU;EAAG,uBAAuB;EACjD,GAAG,EAAE,wDAAwD;EAC7D,GAAG,EAAE,mUAG0E;AAGjF,SAAU;EACR,WAAW,EAAC,qBAAqB;EACjC,SAAS,EAAC,IAAI;EACd,UAAU,EAAC,MAAM;EACjB,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;;AAKpC,uBAAwB;EAAE,OAAO,EAAE,OAAO;;AAE1C,oBAAqB;EAAE,OAAO,EAAE,OAAO;;AAEvC,kBAAmB;EAAE,OAAO,EAAE,OAAO;;AAErC,eAAgB;EAAE,OAAO,EAAE,OAAO;;AAElC,iBAAkB;EAAE,OAAO,EAAE,OAAO;;AAEpC,gBAAiB;EAAE,OAAO,EAAE,OAAO;;AAEnC,oBAAqB;EAAE,OAAO,EAAE,OAAO;;AAEvC,kBAAmB;EAAE,OAAO,EAAE,OAAO;;AAErC,2BAA4B;EAAE,OAAO,EAAE,OAAO;;AAE9C,8BAA+B;EAAE,OAAO,EAAE,OAAO;;AAEjD,6BAA8B;EAAE,OAAO,EAAE,OAAO;;AAEhD,6BAA8B;EAAE,OAAO,EAAE,OAAO;;AAEhD,qBAAsB;EAAE,OAAO,EAAE,OAAO;;AAExC,mBAAoB;EAAE,OAAO,EAAE,OAAO;;AAEtC,wBAAyB;EAAE,OAAO,EAAE,OAAO;;AAE3C,gBAAiB;EAAE,OAAO,EAAE,OAAO;;AAEnC,sBAAuB;EAAE,OAAO,EAAE,OAAO",
4 | "sources": ["../scss/iconfont.scss"],
5 | "names": [],
6 | "file": "iconfont.css"
7 | }
8 |
--------------------------------------------------------------------------------
/frontend/assets/styles/timeline.css.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "mappings": "AAAA,aAAc;EACZ,MAAM,EAAE,OAAO;EACf,iCAAoB;IAClB,QAAQ,EAAE,QAAQ;IAClB,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,KAAK;EAGf,6BAAgB;IACd,MAAM,EAAE,IAAI;EAGd,oCAAuB;IACrB,MAAM,EAAE,gBAAgB;EAG1B,8BAAiB;IACf,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,4BAA4B;IACxC,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,GAAG;EAGd,gCAAmB;IACjB,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,MAAM;EAInB,mCAAK;IACH,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,IAAI;EAIrB,iCAAoB;IAClB,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,GAAG;IACZ,UAAU,EAAE,MAAM;IAClB,UAAU,EAAE,MAAM;EAGpB,oDAAuC;IACrC,KAAK,EAAE,GAAG;EAGZ,0DAA6C;IACzC,gBAAgB,EAAE,wBAAqB;IACvC,aAAa,EAAE,IAAI",
4 | "sources": ["../scss/timeline.scss"],
5 | "names": [],
6 | "file": "timeline.css"
7 | }
8 |
--------------------------------------------------------------------------------
/frontend/assets/styles/toast.css:
--------------------------------------------------------------------------------
1 | .widget-notice {
2 | position: fixed;
3 | left: 50%;
4 | top: 5%;
5 | -webkit-transform: translate(-50%);
6 | transform: translate(-50%);
7 | padding: 10px 30px;
8 | color: #fff;
9 | z-index: 1000;
10 | border-radius: 3px;
11 | cursor: pointer;
12 | -webkit-transition: 0.5s;
13 | transition: 0.5s;
14 | line-height: 1.6;
15 | font-size: 14px;
16 | background: #2b91d9;
17 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5abaff), to(#2b91d9));
18 | background-image: linear-gradient(to bottom, #5abaff, #2b91d9);
19 | -webkit-box-shadow: 0px 0px 11px 0px rgba(0, 0, 0, 0.5);
20 | box-shadow: 0px 0px 11px 0px rgba(0, 0, 0, 0.5); }
21 |
22 | .widget-notice.disapear {
23 | opacity: 0; }
24 |
25 | /*# sourceMappingURL=toast.css.map */
--------------------------------------------------------------------------------
/frontend/assets/styles/toast.css.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "mappings": "AAAA,cAAc;EACV,QAAQ,EAAE,KAAK;EACf,IAAI,EAAE,GAAG;EACT,GAAG,EAAE,EAAE;EACP,SAAS,EAAE,eAAe;EAC1B,OAAO,EAAE,SAAS;EAClB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,IAAI;EACb,aAAa,EAAE,GAAG;EAClB,MAAM,EAAE,OAAO;EACf,UAAU,EAAE,IAAI;EAChB,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,OAAO;EACnB,gBAAgB,EAAE,4CAA4C;EAC9D,UAAU,EAAE,mCAAgC;;AAEhD,uBAAuB;EACnB,OAAO,EAAE,CAAC",
4 | "sources": ["../scss/toast.scss"],
5 | "names": [],
6 | "file": "toast.css"
7 | }
8 |
--------------------------------------------------------------------------------
/frontend/devtool_fake.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/devtool_fake.html
--------------------------------------------------------------------------------
/frontend/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/favicon.ico
--------------------------------------------------------------------------------
/frontend/inspector/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 2
6 | end_of_line = lf
7 | charset = utf-8
8 | trim_trailing_whitespace = true
9 | insert_final_newline = true
10 |
--------------------------------------------------------------------------------
/frontend/inspector/Images/accelerometer-back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/accelerometer-back.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/accelerometer-bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/accelerometer-bottom.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/accelerometer-front.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/accelerometer-front.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/accelerometer-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/accelerometer-left.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/accelerometer-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/accelerometer-right.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/accelerometer-top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/accelerometer-top.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/breakpoint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/breakpoint.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/breakpointConditional.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/breakpointConditional.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/breakpointConditional_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/breakpointConditional_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/breakpoint_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/breakpoint_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/checkboxCheckmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/checkboxCheckmark.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/checkboxCheckmark_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/checkboxCheckmark_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/checker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/checker.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/chevrons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/chevrons.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/chevrons_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/chevrons_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/chromeDisabledSelect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/chromeDisabledSelect.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/chromeDisabledSelect_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/chromeDisabledSelect_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/chromeLeft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/chromeLeft.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/chromeMiddle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/chromeMiddle.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/chromeRight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/chromeRight.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/chromeSelect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/chromeSelect.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/chromeSelect_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/chromeSelect_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/deleteIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/deleteIcon.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/errorWave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/errorWave.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/errorWave_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/errorWave_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/ic_info_black_18dp.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/frontend/inspector/Images/ic_warning_black_18dp.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/frontend/inspector/Images/largeIcons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/largeIcons.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/largeIcons_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/largeIcons_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/mediumIcons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/mediumIcons.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/mediumIcons_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/mediumIcons_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/navigationControls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/navigationControls.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/navigationControls_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/navigationControls_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/nodeIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/nodeIcon.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/popoverArrows.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/popoverArrows.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/profileGroupIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/profileGroupIcon.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/profileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/profileIcon.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/profileSmallIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/profileSmallIcon.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/radioDot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/radioDot.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/readme.md:
--------------------------------------------------------------------------------
1 | ## Adding new icons
2 |
3 | 1. Use Inkscape 0.92 or newer.
4 | 1. Choose an existing spritesheet, like `largeIcons.svg` to add the icon to
5 | 1. Open that file with Inkscape and import the new SVG into the document
6 | 1. Place in an open spot, and use guides to scale the icon to a good size, relative to other icons
7 | 1. Any straight lines should be snapped to the closest pixel value.
8 | - Use the `Edit paths by nodes` tool (F2) to edit the path directly.
9 | - Tweak the X, Y values at the top to be integers.
10 | 1. Generate PNGs from the SVGs:
11 | - `./scripts/convert_svg_images_to_png.py`
12 | 1. Optimize PNGs:
13 | - `./scripts/optimize_png_images.py`
14 | 1. In `ui/Icon.js` add an entry in `UI.Icon.Descriptors`.
15 | - Look at the spritesheet's axes to identify the correct grid position.
16 | 1. You may want to regenerate devtools resources:
17 | - `ninja -C ~/chromium/src/out/Release/ devtools_frontend_resources`
18 |
19 |
--------------------------------------------------------------------------------
/frontend/inspector/Images/resizeDiagonal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resizeDiagonal.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/resizeDiagonal_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resizeDiagonal_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/resizeHorizontal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resizeHorizontal.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/resizeHorizontal_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resizeHorizontal_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/resizeVertical.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resizeVertical.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/resizeVertical_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resizeVertical_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/resourceCSSIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resourceCSSIcon.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/resourceDocumentIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resourceDocumentIcon.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/resourceDocumentIconSmall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resourceDocumentIconSmall.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/resourceJSIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resourceJSIcon.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/resourcePlainIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resourcePlainIcon.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/resourcePlainIconSmall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resourcePlainIconSmall.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/resourcesTimeGraphIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/resourcesTimeGraphIcon.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/searchNext.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/searchNext.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/searchPrev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/searchPrev.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/securityIcons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/securityIcons.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/securityIcons_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/securityIcons_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/smallIcons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/smallIcons.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/smallIcons_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/smallIcons_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/speech.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/speech.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/src/breakpoint.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/inspector/Images/src/breakpointConditional.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/inspector/Images/src/optimize_png.hashes:
--------------------------------------------------------------------------------
1 | {
2 | "securityIcons.svg": "27676f7c1f1542659c7c49a8052259dc",
3 | "largeIcons.svg": "faf26930e93e7525a3cbcc595527662c",
4 | "breakpointConditional.svg": "4cf90210b2af2ed84db2f60b07bcde28",
5 | "checkboxCheckmark.svg": "f039bf85cee42ad5c30ca3bfdce7912a",
6 | "errorWave.svg": "e183fa242a22ed4784a92f6becbc2c45",
7 | "smallIcons.svg": "40aefe4606ebba939725954ff9f908ef",
8 | "mediumIcons.svg": "115d211e8c00873698de4c861d7f3e44",
9 | "breakpoint.svg": "69cd92d807259c022791112809b97799",
10 | "treeoutlineTriangles.svg": "2d26ab85d919f83d5021f2f385dffd0b",
11 | "chevrons.svg": "79b4b527771e30b6388ce664077b3409"
12 | }
--------------------------------------------------------------------------------
/frontend/inspector/Images/src/svg2png.hashes:
--------------------------------------------------------------------------------
1 | {
2 | "securityIcons.svg": "27676f7c1f1542659c7c49a8052259dc",
3 | "largeIcons.svg": "faf26930e93e7525a3cbcc595527662c",
4 | "breakpointConditional.svg": "4cf90210b2af2ed84db2f60b07bcde28",
5 | "checkboxCheckmark.svg": "f039bf85cee42ad5c30ca3bfdce7912a",
6 | "errorWave.svg": "e183fa242a22ed4784a92f6becbc2c45",
7 | "smallIcons.svg": "40aefe4606ebba939725954ff9f908ef",
8 | "mediumIcons.svg": "115d211e8c00873698de4c861d7f3e44",
9 | "breakpoint.svg": "69cd92d807259c022791112809b97799",
10 | "treeoutlineTriangles.svg": "2d26ab85d919f83d5021f2f385dffd0b",
11 | "chevrons.svg": "79b4b527771e30b6388ce664077b3409"
12 | }
--------------------------------------------------------------------------------
/frontend/inspector/Images/toolbarResizerVertical.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/toolbarResizerVertical.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/touchCursor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/touchCursor.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/touchCursor_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/touchCursor_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/treeoutlineTriangles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/treeoutlineTriangles.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/treeoutlineTriangles_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/treeoutlineTriangles_2x.png
--------------------------------------------------------------------------------
/frontend/inspector/Images/whatsnew.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/Images/whatsnew.png
--------------------------------------------------------------------------------
/frontend/inspector/OWNERS:
--------------------------------------------------------------------------------
1 | alph@chromium.org
2 | caseq@chromium.org
3 | dgozman@chromium.org
4 | lushnikov@chromium.org
5 | pfeldman@chromium.org
6 |
--------------------------------------------------------------------------------
/frontend/inspector/accessibility/accessibilityProperties.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .ax-name {
8 | color: rgb(153, 69, 0);
9 | flex-shrink: 0;
10 | }
11 |
12 | .ax-readable-name {
13 | flex-shrink: 0;
14 | padding-left: 2px;
15 | }
16 |
17 | .ax-readable-string {
18 | font-style: italic;
19 | }
20 |
21 | .ax-value-string {
22 | color: rgb(200, 0, 0);
23 | }
24 |
25 | span.ax-internal-role {
26 | font-style: italic;
27 | }
28 |
--------------------------------------------------------------------------------
/frontend/inspector/accessibility/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "view",
5 | "location": "elements-sidebar",
6 | "id": "accessibility.view",
7 | "title": "Accessibility",
8 | "order": 10,
9 | "persistence": "permanent",
10 | "className": "Accessibility.AccessibilitySidebarView"
11 | }
12 | ],
13 | "dependencies": ["elements"],
14 | "scripts": [
15 | "AccessibilityModel.js",
16 | "AccessibilitySidebarView.js",
17 | "AccessibilityNodeView.js",
18 | "AccessibilityStrings.js",
19 | "ARIAAttributesView.js",
20 | "ARIAMetadata.js",
21 | "ARIAProperties.js",
22 | "AXBreadcrumbsPane.js"
23 | ],
24 | "skip_compilation": [
25 | "ARIAProperties.js"
26 | ],
27 | "resources": [
28 | "accessibilityNode.css",
29 | "accessibilityProperties.css",
30 | "axBreadcrumbs.css"
31 | ]
32 | }
33 |
--------------------------------------------------------------------------------
/frontend/inspector/accessibility_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "accessibility",
5 | "elements_test_runner"
6 | ],
7 | "scripts": [
8 | "AccessibilityPaneTestRunner.js"
9 | ],
10 | "skip_compilation": [
11 | "AccessibilityPaneTestRunner.js"
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/frontend/inspector/animation/animationScreenshotPopover.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | img {
8 | max-height: 300px;
9 | border-radius: 2px;
10 | }
11 |
12 | .animation-progress {
13 | position: absolute;
14 | height: 2px;
15 | bottom: 0;
16 | left: 0;
17 | background: var(--selection-bg-color);
18 | }
19 |
--------------------------------------------------------------------------------
/frontend/inspector/animation/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "view",
5 | "location": "drawer-view",
6 | "id": "animations",
7 | "title": "Animations",
8 | "persistence": "closeable",
9 | "order": 0,
10 | "className": "Animation.AnimationTimeline"
11 | }
12 | ],
13 | "dependencies": [
14 | "elements"
15 | ],
16 | "scripts": [
17 | "AnimationModel.js",
18 | "AnimationGroupPreviewUI.js",
19 | "AnimationScreenshotPopover.js",
20 | "AnimationTimeline.js",
21 | "AnimationUI.js"
22 | ],
23 | "resources": [
24 | "animationScreenshotPopover.css",
25 | "animationTimeline.css"
26 | ]
27 | }
28 |
--------------------------------------------------------------------------------
/frontend/inspector/application_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "resources",
5 | "console_test_runner",
6 | "sources",
7 | "sources_test_runner"
8 | ],
9 | "scripts": [
10 | "AppcacheTestRunner.js",
11 | "CacheStorageTestRunner.js",
12 | "IndexedDBTestRunner.js",
13 | "ResourceTreeTestRunner.js",
14 | "ResourcesTestRunner.js",
15 | "ServiceWorkersTestRunner.js"
16 | ],
17 | "skip_compilation": [
18 | "AppcacheTestRunner.js",
19 | "CacheStorageTestRunner.js",
20 | "IndexedDBTestRunner.js",
21 | "ResourceTreeTestRunner.js",
22 | "ResourcesTestRunner.js",
23 | "ServiceWorkersTestRunner.js"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/frontend/inspector/audits2/lighthouse/README.chromium:
--------------------------------------------------------------------------------
1 | Name: Lighthouse is a performance auditing component written in JavaScript that works in the browser.
2 | Short Name: lighthouse
3 | URL: github.com/GoogleChrome/lighthouse
4 | License: Apache License 2.0
5 | Security Critical: no
6 |
7 | This directory contains Chromium's version of the lighthouse report assets, including renderer.
8 |
9 |
--------------------------------------------------------------------------------
/frontend/inspector/audits2_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "audits2"
5 | ],
6 | "scripts": [
7 | "Audits2TestRunner.js"
8 | ]
9 | }
--------------------------------------------------------------------------------
/frontend/inspector/audits2_worker.js:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | // Release build has Runtime.js bundled.
5 | if (!self.Runtime)
6 | self.importScripts('Runtime.js');
7 | Runtime.startWorker('audits2_worker');
8 |
--------------------------------------------------------------------------------
/frontend/inspector/audits2_worker.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules": [
3 | { "name": "worker_service", "type": "autostart" },
4 | { "name": "audits2_worker", "type": "remote" }
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/frontend/inspector/audits2_worker/lighthouse/README.chromium:
--------------------------------------------------------------------------------
1 | Name: Lighthouse is a performance auditing component written in JavaScript that works in the browser.
2 | Short Name: lighthouse
3 | URL: github.com/GoogleChrome/lighthouse
4 | License: Apache License 2.0
5 | Security Critical: no
6 |
7 | This directory contains Chromium's version of lighthouse with tests, demo and sources removed.
8 |
9 |
--------------------------------------------------------------------------------
/frontend/inspector/audits2_worker/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "worker_service"
4 | ],
5 | "extensions": [
6 | {
7 | "type": "@Service",
8 | "factoryName": "Audits2Service",
9 | "name": "Audits2Service"
10 | }
11 | ],
12 | "scripts": [
13 | "lighthouse/lighthouse-background.js",
14 | "Audits2Service.js"
15 | ],
16 | "skip_compilation": [
17 | "lighthouse/lighthouse-background.js"
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------
/frontend/inspector/bindings/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "sdk",
4 | "platform",
5 | "services",
6 | "workspace"
7 | ],
8 | "scripts": [
9 | "LiveLocation.js",
10 | "ResourceMapping.js",
11 | "CompilerScriptMapping.js",
12 | "ResourceScriptMapping.js",
13 | "SASSSourceMapping.js",
14 | "StylesSourceMapping.js",
15 | "CSSWorkspaceBinding.js",
16 | "DebuggerWorkspaceBinding.js",
17 | "BreakpointManager.js",
18 | "ContentProviderBasedProject.js",
19 | "DefaultScriptMapping.js",
20 | "FileUtils.js",
21 | "BlackboxManager.js",
22 | "NetworkProject.js",
23 | "PresentationConsoleMessageHelper.js",
24 | "ResourceUtils.js",
25 | "TempFile.js"
26 | ]
27 | }
28 |
--------------------------------------------------------------------------------
/frontend/inspector/bindings_test_runner/OverridesTestRunner.js:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | /**
6 | * @param {string} folderPath
7 | * @return {!{isolatedFileSystem: !Persistence.IsolatedFileSystem, project: !Workspace.Project, testFileSystem: !BindingsTestRunner.TestFileSystem}}
8 | */
9 | BindingsTestRunner.createOverrideProject = async function(folderPath) {
10 | const testFileSystem = new BindingsTestRunner.TestFileSystem(folderPath);
11 | const isolatedFileSystem = await testFileSystem.reportCreatedPromise('overrides');
12 | isolatedFileSystem._type = 'overrides';
13 | const project =
14 | Workspace.workspace.project(Persistence.FileSystemWorkspaceBinding.projectId(isolatedFileSystem.path()));
15 | console.assert(project);
16 | return {isolatedFileSystem, project, testFileSystem};
17 | };
18 |
19 | /**
20 | * @param {boolean} enabled
21 | */
22 | BindingsTestRunner.setOverridesEnabled = function(enabled) {
23 | Common.settings.moduleSetting('persistenceNetworkOverridesEnabled').set(enabled);
24 | };
25 |
--------------------------------------------------------------------------------
/frontend/inspector/bindings_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "workspace",
5 | "diff",
6 | "bindings",
7 | "persistence"
8 | ],
9 | "scripts": [
10 | "BindingsTestRunner.js",
11 | "IsolatedFilesystemTestRunner.js",
12 | "AutomappingTestRunner.js",
13 | "PersistenceTestRunner.js",
14 | "OverridesTestRunner.js"
15 | ],
16 | "skip_compilation": [
17 | "BindingsTestRunner.js",
18 | "IsolatedFilesystemTestRunner.js",
19 | "AutomappingTestRunner.js",
20 | "PersistenceTestRunner.js",
21 | "OverridesTestRunner.js"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/frontend/inspector/browser_components/imagePreview.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .image-preview-container {
8 | background: transparent;
9 | text-align: center;
10 | border-spacing: 0;
11 | }
12 |
13 | .image-preview-container img {
14 | margin: 2px auto;
15 | max-width: 100px;
16 | max-height: 100px;
17 | background-image: url(Images/checker.png);
18 | -webkit-user-select: text;
19 | -webkit-user-drag: auto;
20 | }
21 |
22 | .image-container {
23 | padding: 0;
24 | }
25 |
--------------------------------------------------------------------------------
/frontend/inspector/browser_components/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "browser_sdk",
4 | "components"
5 | ],
6 | "scripts": [
7 | "ImagePreview.js"
8 | ],
9 | "resources": [
10 | "imagePreview.css"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/frontend/inspector/browser_console/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "@UI.ContextMenu.Provider",
5 | "contextTypes": [
6 | "SDK.ConsoleMessage"
7 | ],
8 | "className": "BrowserConsole.BrowserConsole"
9 | },
10 | {
11 | "type": "@Common.Renderer",
12 | "contextTypes": [
13 | "SDK.ConsoleMessage"
14 | ],
15 | "source": "network",
16 | "className": "BrowserConsole.BrowserConsole"
17 | }
18 | ],
19 | "dependencies": [
20 | "browser_sdk",
21 | "console"
22 | ],
23 | "scripts": [
24 | "BrowserConsole.js"
25 | ]
26 | }
27 |
--------------------------------------------------------------------------------
/frontend/inspector/browser_debugger/domBreakpointsSidebarPane.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .breakpoint-list {
8 | padding-bottom: 3px;
9 | }
10 |
11 | .breakpoint-list .dom-breakpoint > div {
12 | overflow: hidden;
13 | text-overflow: ellipsis;
14 | }
15 |
16 | .breakpoint-entry {
17 | display: flex;
18 | white-space: nowrap;
19 | text-overflow: ellipsis;
20 | overflow: hidden;
21 | padding: 2px 0;
22 | }
23 |
24 | .breakpoint-list .breakpoint-entry:hover {
25 | background-color: #eee;
26 | }
27 |
28 | .breakpoint-hit {
29 | background-color: rgb(255, 255, 194);
30 | }
31 |
32 | :host-context(.-theme-with-dark-background) .breakpoint-hit {
33 | background-color: hsl(46, 98%, 22%);
34 | color: #ccc;
35 | }
36 |
--------------------------------------------------------------------------------
/frontend/inspector/browser_debugger/eventListenerBreakpoints.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | margin: 0;
9 | padding: 2px 4px;
10 | min-height: 18px;
11 | }
12 |
13 | .tree-outline {
14 | padding: 0;
15 | }
16 |
17 | .tree-outline li {
18 | margin-left: 14px;
19 | -webkit-user-select: text;
20 | cursor: default;
21 | }
22 |
23 | .tree-outline li.parent {
24 | margin-left: 1px;
25 | }
26 |
27 | .tree-outline li:not(.parent)::before {
28 | display: none;
29 | }
30 |
31 | .breakpoint-hit {
32 | background-color: rgb(255, 255, 194);
33 | }
34 |
35 | :host-context(.-theme-with-dark-background) .breakpoint-hit {
36 | background-color: hsl(46, 98%, 22%);
37 | color: #ccc;
38 | }
39 |
40 | .breakpoint-hit .breakpoint-hit-marker {
41 | background-color: rgb(255, 255, 194);
42 | height: 18px;
43 | left: 0;
44 | margin-left: -30px;
45 | position: absolute;
46 | right: -4px;
47 | z-index: -1;
48 | }
49 |
--------------------------------------------------------------------------------
/frontend/inspector/browser_debugger/xhrBreakpointsSidebarPane.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .breakpoint-list {
8 | padding-bottom: 3px;
9 | }
10 |
11 | .breakpoint-list .editing.being-edited {
12 | overflow: hidden;
13 | white-space: nowrap;
14 | }
15 |
16 | .breakpoint-condition {
17 | display: block;
18 | margin-top: 4px;
19 | margin-bottom: 4px;
20 | margin-left: 23px;
21 | margin-right: 8px;
22 | }
23 |
24 | .breakpoint-condition-input {
25 | display: block;
26 | margin-left: 0;
27 | margin-right: 0;
28 | outline: none !important;
29 | border: 1px solid rgb(66%, 66%, 66%);
30 | }
31 |
32 | .breakpoint-entry {
33 | white-space: nowrap;
34 | padding: 2px 0;
35 | }
36 |
37 | .breakpoint-list .breakpoint-entry:hover {
38 | background-color: #eee;
39 | }
40 |
41 | .breakpoint-entry [is=dt-checkbox] {
42 | max-width: 100%;
43 | }
44 |
45 | .breakpoint-hit {
46 | background-color: rgb(255, 255, 194);
47 | }
48 |
49 | :host-context(.-theme-with-dark-background) .breakpoint-hit {
50 | background-color: hsl(46, 98%, 22%);
51 | color: #ccc;
52 | }
53 |
--------------------------------------------------------------------------------
/frontend/inspector/browser_sdk/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "setting",
5 | "category": "Network",
6 | "storageType": "session",
7 | "title": "Preserve log",
8 | "settingName": "network_log.preserve-log",
9 | "settingType": "boolean",
10 | "defaultValue": false,
11 | "tags": "preserve, clear, reset",
12 | "options": [
13 | {
14 | "value": true,
15 | "title": "Do not preserve log on page reload / navigation"
16 | },
17 | {
18 | "value": false,
19 | "title": "Preserve log on page reload / navigation"
20 | }
21 | ]
22 | }
23 | ],
24 | "scripts": [
25 | "LogManager.js",
26 | "NetworkLog.js",
27 | "HAREntry.js"
28 | ],
29 | "dependencies": [
30 | "sdk"
31 | ]
32 | }
33 |
--------------------------------------------------------------------------------
/frontend/inspector/changes/changesSidebar.css:
--------------------------------------------------------------------------------
1 | li .icon {
2 | margin: -3px -5px -3px -5px;
3 | background: linear-gradient(45deg, hsl(0, 0%, 50%), hsl(0, 0%, 70%));
4 | }
5 |
6 | .tree-outline li {
7 | min-height: 20px;
8 | }
9 |
10 | .tree-outline li:hover:not(.selected) .selection {
11 | display: block;
12 | background-color: rgba(56, 121, 217, 0.1);
13 | }
14 |
15 | .navigator-fs-tree-item .icon{
16 | background: linear-gradient(45deg, hsl(28, 75%, 50%), hsl(28, 75%, 70%));
17 | }
18 |
19 | .navigator-sm-script-tree-item .icon,
20 | .navigator-script-tree-item .icon,
21 | .navigator-snippet-tree-item .icon {
22 | background: linear-gradient(45deg, hsl(48, 70%, 50%), hsl(48, 70%, 70%));
23 | }
24 |
25 | .navigator-sm-stylesheet-tree-item .icon,
26 | .navigator-stylesheet-tree-item .icon {
27 | background: linear-gradient(45deg, hsl(256, 50%, 50%), hsl(256, 50%, 70%));
28 | }
29 |
30 | .navigator-image-tree-item .icon,
31 | .navigator-font-tree-item .icon {
32 | background: linear-gradient(45deg, hsl(109, 33%, 50%), hsl(109, 33%, 70%));
33 | }
--------------------------------------------------------------------------------
/frontend/inspector/changes/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "view",
5 | "location": "drawer-view",
6 | "id": "changes.changes",
7 | "title": "Changes",
8 | "persistence": "closeable",
9 | "className": "Changes.ChangesView"
10 | },
11 | {
12 | "type": "@Common.Revealer",
13 | "contextTypes": [
14 | "WorkspaceDiff.DiffUILocation"
15 | ],
16 | "destination": "Changes drawer",
17 | "className": "Changes.ChangesView.DiffUILocationRevealer"
18 | }
19 | ],
20 | "dependencies": [
21 | "workspace_diff",
22 | "text_editor",
23 | "workspace",
24 | "diff",
25 | "bindings",
26 | "persistence",
27 | "ui"
28 | ],
29 | "scripts": [
30 | "ChangesHighlighter.js",
31 | "ChangesView.js",
32 | "ChangesSidebar.js"
33 | ],
34 | "resources": [
35 | "changesView.css",
36 | "changesSidebar.css"
37 | ]
38 | }
39 |
--------------------------------------------------------------------------------
/frontend/inspector/cm/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (C) 2017 by Marijn Haverbeke and others
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
13 | all 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
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/frontend/inspector/cm/LICENSE_python:
--------------------------------------------------------------------------------
1 | The MIT License
2 |
3 | Copyright (c) 2010 Timothy Farrell
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
13 | all 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
21 | THE SOFTWARE.
--------------------------------------------------------------------------------
/frontend/inspector/cm/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": [
3 | "codemirror.js",
4 | "multiplex.js",
5 | "matchbrackets.js",
6 | "closebrackets.js",
7 | "markselection.js",
8 | "comment.js",
9 | "overlay.js",
10 | "activeline.js"
11 | ],
12 | "skip_compilation": [
13 | "codemirror.js",
14 | "multiplex.js",
15 | "matchbrackets.js",
16 | "closebrackets.js",
17 | "markselection.js",
18 | "comment.js",
19 | "overlay.js",
20 | "activeline.js"
21 | ],
22 | "resources": [
23 | "codemirror.css"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/frontend/inspector/cm_headless/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": [
3 | "headlesscodemirror.js"
4 | ],
5 | "skip_compilation": [
6 | "headlesscodemirror.js"
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/frontend/inspector/cm_modes/DefaultCodeMirrorMimeMode.js:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | /**
6 | * @constructor
7 | * @implements {TextEditor.CodeMirrorMimeMode}
8 | */
9 | CmModes.DefaultCodeMirrorMimeMode = function()
10 | {
11 | }
12 |
13 | CmModes.DefaultCodeMirrorMimeMode.prototype = {
14 | /**
15 | * @param {!Runtime.Extension} extension
16 | * @override
17 | */
18 | install: function(extension)
19 | {
20 | var modeFileName = extension.descriptor()["fileName"];
21 | var modeContent = extension.module().resource(modeFileName);
22 | self.eval(modeContent + "\n//# sourceURL=" + modeFileName);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/frontend/inspector/cm_modes/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (C) 2016 by Marijn Haverbeke and others
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/frontend/inspector/cm_modes/PRESUBMIT.py:
--------------------------------------------------------------------------------
1 | # Copyright 2015 The Chromium Authors. All rights reserved.
2 | # Use of this source code is governed by a BSD-style license that can be
3 | # found in the LICENSE file.
4 |
5 |
6 | def _CheckCodeMirrorChanges(input_api, output_api):
7 | errorText = ("ERROR: Attempt to modify CodeMirror. The only allowed changes are "
8 | "rolls from the upstream (http://codemirror.net). If this is a roll, "
9 | "make sure you mention 'roll CodeMirror' (no quotes) in the change description.\n"
10 | "CodeMirror rolling instructions:\n"
11 | " src/third_party/blink/renderer/devtools/front_end/cm/README.md")
12 | changeDescription = input_api.change.DescriptionText()
13 | errors = []
14 | if "roll codemirror" not in changeDescription.lower():
15 | errors.append(output_api.PresubmitError(errorText))
16 | return errors
17 |
18 |
19 | def CheckChangeOnUpload(input_api, output_api):
20 | results = []
21 | results.extend(_CheckCodeMirrorChanges(input_api, output_api))
22 | return results
23 |
--------------------------------------------------------------------------------
/frontend/inspector/color_picker/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "ui",
4 | "sdk"
5 | ],
6 | "scripts": [
7 | "ContrastInfo.js",
8 | "ContrastOverlay.js",
9 | "ContrastDetails.js",
10 | "Spectrum.js"
11 | ],
12 | "resources": [
13 | "spectrum.css"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/frontend/inspector/common/OutputStream.js:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | /**
6 | * @interface
7 | */
8 | Common.OutputStream = function() {};
9 |
10 | Common.OutputStream.prototype = {
11 | /**
12 | * @param {string} data
13 | * @return {!Promise}
14 | */
15 | write(data) {},
16 |
17 | close() {}
18 | };
19 |
20 | /**
21 | * @implements {Common.OutputStream}
22 | */
23 | Common.StringOutputStream = class {
24 | constructor() {
25 | this._data = '';
26 | }
27 |
28 | /**
29 | * @override
30 | * @param {string} chunk
31 | * @return {!Promise}
32 | */
33 | async write(chunk) {
34 | this._data += chunk;
35 | }
36 |
37 | /**
38 | * @override
39 | */
40 | close() {
41 | }
42 |
43 | /**
44 | * @return {string}
45 | */
46 | data() {
47 | return this._data;
48 | }
49 | };
50 |
--------------------------------------------------------------------------------
/frontend/inspector/common/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "text_utils",
4 | "platform"
5 | ],
6 | "scripts": [
7 | "Worker.js",
8 | "TextDictionary.js",
9 | "Object.js",
10 | "Color.js",
11 | "Console.js",
12 | "ContentProvider.js",
13 | "ParsedURL.js",
14 | "Progress.js",
15 | "ResourceType.js",
16 | "Settings.js",
17 | "StaticContentProvider.js",
18 | "OutputStream.js",
19 | "SegmentedRange.js",
20 | "Throttler.js",
21 | "Trie.js",
22 | "UIString.js",
23 | "ModuleExtensionInterfaces.js",
24 | "CharacterIdMap.js"
25 | ]
26 | }
27 |
--------------------------------------------------------------------------------
/frontend/inspector/components/Reload.js:
--------------------------------------------------------------------------------
1 | // Copyright 2015 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | Components.reload = function() {
5 | if (Components.dockController.canDock() &&
6 | Components.dockController.dockSide() === Components.DockController.State.Undocked)
7 | InspectorFrontendHost.setIsDocked(true, function() {});
8 | window.location.reload();
9 | };
10 |
--------------------------------------------------------------------------------
/frontend/inspector/components/jsUtils.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | display: inline;
9 | }
10 |
11 | .stack-preview-async-description {
12 | padding: 3px 0 1px;
13 | font-style: italic;
14 | }
15 |
16 | .stack-preview-container .webkit-html-blackbox-link {
17 | opacity: 0.6;
18 | }
19 |
20 | .stack-preview-container > tr {
21 | height: 16px;
22 | line-height: 16px;
23 | }
24 |
25 | .stack-preview-container td {
26 | white-space: nowrap;
27 | overflow: hidden;
28 | text-overflow: ellipsis;
29 | }
30 |
31 | .stack-preview-container .function-name {
32 | max-width: 80em;
33 | }
34 |
35 | .stack-preview-container:not(.show-blackboxed) > tr.blackboxed {
36 | display: none;
37 | }
38 |
39 | .stack-preview-container.show-blackboxed > tr.show-blackboxed-link {
40 | display: none;
41 | }
42 |
43 | .stack-preview-container > tr.show-blackboxed-link {
44 | font-style: italic;
45 | }
46 |
--------------------------------------------------------------------------------
/frontend/inspector/components/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "bindings",
4 | "platform",
5 | "ui"
6 | ],
7 | "scripts": [
8 | "JSPresentationUtils.js",
9 | "DockController.js",
10 | "Linkifier.js",
11 | "Reload.js",
12 | "TargetDetachedDialog.js"
13 | ],
14 | "resources": [
15 | "jsUtils.css"
16 | ]
17 | }
18 |
--------------------------------------------------------------------------------
/frontend/inspector/console/consoleContextSelector.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | padding: 2px 1px 2px 2px;
9 | white-space: nowrap;
10 | display: flex;
11 | flex-direction: column;
12 | height: 36px;
13 | justify-content: center;
14 | }
15 |
16 | .title {
17 | overflow: hidden;
18 | text-overflow: ellipsis;
19 | flex-grow: 0;
20 | }
21 |
22 | .badge {
23 | pointer-events: none;
24 | margin-right: 4px;
25 | display: inline-block;
26 | height: 15px;
27 | }
28 |
29 | .subtitle {
30 | color: #999;
31 | margin-right: 3px;
32 | overflow: hidden;
33 | text-overflow: ellipsis;
34 | flex-grow: 0;
35 | }
36 |
37 | :host(.highlighted) .subtitle {
38 | color: inherit;
39 | }
40 |
--------------------------------------------------------------------------------
/frontend/inspector/console_counters/errorWarningCounter.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | cursor: pointer;
9 | padding: 0 2px;
10 | min-width: 26px;
11 | }
12 |
13 | :host:hover {
14 | color: #333;
15 | }
16 |
17 | .counter-item {
18 | margin-left: 6px;
19 | }
20 |
21 | .counter-item label {
22 | cursor: inherit;
23 | }
24 |
25 | .counter-item.counter-item-first {
26 | margin-left: 0;
27 | }
28 |
--------------------------------------------------------------------------------
/frontend/inspector/console_counters/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "@UI.ToolbarItem.Provider",
5 | "className": "ConsoleCounters.WarningErrorCounter",
6 | "order": 1,
7 | "location": "main-toolbar-right"
8 | }
9 | ],
10 | "dependencies": [
11 | "common",
12 | "ui",
13 | "sdk"
14 | ],
15 | "scripts": [
16 | "WarningErrorCounter.js"
17 | ],
18 | "resources": [
19 | "errorWarningCounter.css"
20 | ]
21 | }
--------------------------------------------------------------------------------
/frontend/inspector/console_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "console",
5 | "console_counters"
6 | ],
7 | "scripts": [
8 | "ConsoleTestRunner.js"
9 | ]
10 | }
--------------------------------------------------------------------------------
/frontend/inspector/cookie_table/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "ui",
4 | "sdk",
5 | "data_grid"
6 | ],
7 | "scripts": [
8 | "CookiesTable.js"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/frontend/inspector/coverage/coverageListView.css:
--------------------------------------------------------------------------------
1 | .data-grid {
2 | border: none;
3 | }
4 |
5 | .data-grid td .url-outer {
6 | width: 100%;
7 | display: inline-flex;
8 | justify-content: flex-start;
9 | }
10 |
11 | .data-grid td .url-outer .filter-highlight {
12 | font-weight: bold;
13 | }
14 |
15 | .data-grid td .url-prefix {
16 | overflow-x: hidden;
17 | text-overflow: ellipsis;
18 | }
19 |
20 | .data-grid td .url-suffix {
21 | flex: none;
22 | }
23 |
24 | .data-grid td .bar {
25 | display: inline-block;
26 | height: 8px;
27 | }
28 |
29 | .data-grid .selected td .bar {
30 | border-top: 1px white solid;
31 | border-bottom: 1px white solid;
32 | }
33 |
34 | .data-grid .selected td .bar:last-child {
35 | border-right: 1px white solid;
36 | }
37 |
38 | .data-grid .selected td .bar:first-child {
39 | border-left: 1px white solid;
40 | }
41 |
42 | .data-grid td .bar-container {
43 | }
44 |
45 | .data-grid td .bar-unused-size {
46 | background-color: #E57373;
47 | }
48 |
49 | .data-grid td .bar-used-size {
50 | background-color: #81C784;
51 | }
52 |
53 | .data-grid td .percent-value {
54 | color: #888;
55 | width: 45px;
56 | display: inline-block;
57 | }
58 |
59 | .data-grid:focus tr.selected span.percent-value {
60 | color: #eee;
61 | }
62 |
--------------------------------------------------------------------------------
/frontend/inspector/coverage/coverageView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | overflow: hidden;
9 | }
10 |
11 | .coverage-toolbar-container {
12 | display: flex;
13 | border-bottom: 1px solid #ccc;
14 | flex: 0 0;
15 | }
16 |
17 | .coverage-toolbar {
18 | display: inline-block;
19 | }
20 |
21 | .coverage-toolbar-summary {
22 | background-color: #eee;
23 | border-top: 1px solid #ccc;
24 | padding-left: 5px;
25 | flex: 0 0 19px;
26 | display: flex;
27 | padding-right: 5px;
28 | }
29 |
30 | .coverage-toolbar-summary .coverage-message {
31 | padding-top: 2px;
32 | padding-left: 1ex;
33 | text-overflow: ellipsis;
34 | white-space: nowrap;
35 | overflow: hidden;
36 | }
37 |
38 | .coverage-results {
39 | overflow-y: auto;
40 | display: flex;
41 | flex: auto;
42 | }
43 |
44 | .landing-page {
45 | justify-content: center;
46 | align-items: center;
47 | padding: 20px;
48 | }
49 |
50 | .landing-page .message {
51 | white-space: pre-line;
52 | }
53 |
--------------------------------------------------------------------------------
/frontend/inspector/coverage_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "coverage",
5 | "sources_test_runner"
6 | ],
7 | "scripts": [
8 | "CoverageTestRunner.js"
9 | ],
10 | "skip_compilation": [
11 | "CoverageTestRunner.js"
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/frontend/inspector/cpu_profiler_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "profiler",
4 | "test_runner"
5 | ],
6 | "scripts": [
7 | "ProfilerTestRunner.js"
8 | ],
9 | "skip_compilation": [
10 | "ProfilerTestRunner.js"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/frontend/inspector/data_grid/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "ui"
4 | ],
5 | "scripts": [
6 | "DataGrid.js",
7 | "ViewportDataGrid.js",
8 | "SortableDataGrid.js",
9 | "ShowMoreDataGridNode.js"
10 | ],
11 | "resources": [
12 | "dataGrid.css"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/frontend/inspector/data_grid_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "data_grid"
5 | ],
6 | "scripts": [
7 | "DataGridTestRunner.js"
8 | ],
9 | "skip_compilation": [
10 | "DataGridTestRunner.js"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/frontend/inspector/device_mode_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "emulation"
5 | ],
6 | "scripts": [
7 | "DeviceModeTestRunner.js"
8 | ],
9 | "skip_compilation": [
10 | "DeviceModeTestRunner.js"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/frontend/inspector/devices/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "view",
5 | "location": "drawer-view",
6 | "id": "remote-devices",
7 | "title": "Remote devices",
8 | "persistence": "closeable",
9 | "order": 50,
10 | "className": "Devices.DevicesView",
11 | "tags": "usb, android, mobile"
12 | }
13 | ],
14 | "dependencies": ["platform", "ui", "host", "components"],
15 | "scripts": [
16 | "DevicesView.js"
17 | ],
18 | "resources": [
19 | "devicesView.css"
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/frontend/inspector/devtools_app.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/frontend/inspector/devtools_app.js:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | Runtime.startApplication('devtools_app');
5 |
--------------------------------------------------------------------------------
/frontend/inspector/devtools_app.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules" : [
3 | { "name": "emulation", "type": "autostart" },
4 | { "name": "inspector_main", "type": "autostart" },
5 | { "name": "mobile_throttling", "type": "autostart" },
6 | { "name": "browser_components", "type": "autostart" },
7 |
8 | { "name": "browser_console" },
9 | { "name": "browser_debugger" },
10 | { "name": "cookie_table" },
11 | { "name": "elements" },
12 | { "name": "emulated_devices" , "type": "remote" },
13 | { "name": "har_importer" },
14 | { "name": "help" },
15 | { "name": "layers" },
16 | { "name": "layer_viewer" },
17 | { "name": "network" }
18 | ],
19 | "extends": "shell",
20 | "has_html": true
21 | }
22 |
--------------------------------------------------------------------------------
/frontend/inspector/diff/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "common"
4 | ],
5 | "scripts": [
6 | "Diff.js",
7 | "diff_match_patch.js"
8 | ],
9 | "skip_compilation": [
10 | "diff_match_patch.js"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/frontend/inspector/dom_extension/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "platform"
4 | ],
5 | "scripts": [
6 | "DOMExtension.js"
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/frontend/inspector/elements/MarkerDecorator.js:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | /**
6 | * @interface
7 | */
8 | Elements.MarkerDecorator = function() {};
9 |
10 | Elements.MarkerDecorator.prototype = {
11 | /**
12 | * @param {!SDK.DOMNode} node
13 | * @return {?{title: string, color: string}}
14 | */
15 | decorate(node) {}
16 | };
17 |
18 | /**
19 | * @implements {Elements.MarkerDecorator}
20 | * @unrestricted
21 | */
22 | Elements.GenericDecorator = class {
23 | /**
24 | * @param {!Runtime.Extension} extension
25 | */
26 | constructor(extension) {
27 | this._title = Common.UIString(extension.title());
28 | this._color = extension.descriptor()['color'];
29 | }
30 |
31 | /**
32 | * @override
33 | * @param {!SDK.DOMNode} node
34 | * @return {?{title: string, color: string}}
35 | */
36 | decorate(node) {
37 | return {title: this._title, color: this._color};
38 | }
39 | };
40 |
--------------------------------------------------------------------------------
/frontend/inspector/elements/breadcrumbs.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .crumbs {
8 | display: inline-block;
9 | pointer-events: auto;
10 | cursor: default;
11 | white-space: nowrap;
12 | }
13 |
14 | .crumbs .crumb {
15 | display: inline-block;
16 | padding: 0 7px;
17 | line-height: 23px;
18 | white-space: nowrap;
19 | }
20 |
21 | .crumbs .crumb.collapsed > * {
22 | display: none;
23 | }
24 |
25 | .crumbs .crumb.collapsed::before {
26 | content: "\2026";
27 | font-weight: bold;
28 | }
29 |
30 | .crumbs .crumb.compact .extra {
31 | display: none;
32 | }
33 |
34 | .crumb.selected, .crumb:hover {
35 | background-color: var(--toolbar-bg-color);
36 | }
37 |
38 | .crumb:not(.selected) .node-label-name {
39 | color: var(--dom-tag-name-color);
40 | }
41 |
42 | .crumb:not(.selected) .node-label-class {
43 | color: var(--dom-attribute-name-color);
44 | }
45 |
--------------------------------------------------------------------------------
/frontend/inspector/elements/classesPaneWidget.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .styles-element-classes-pane {
8 | background-color: var(--toolbar-bg-color);
9 | border-bottom: 1px solid rgb(189, 189, 189);
10 | padding: 6px 2px 2px;
11 | }
12 |
13 | .styles-element-classes-container {
14 | display: flex;
15 | flex-wrap: wrap;
16 | justify-content: flex-start;
17 | }
18 |
19 | .styles-element-classes-pane label {
20 | margin-right: 15px;
21 | }
22 |
23 | .styles-element-classes-pane .title-container {
24 | padding-bottom: 2px;
25 | }
26 |
27 | .styles-element-classes-pane .new-class-input {
28 | padding-left: 3px;
29 | padding-right: 3px;
30 | overflow: hidden;
31 | border: 1px solid #ddd;
32 | line-height: 15px;
33 | margin-left: 3px;
34 | width: calc(100% - 7px);
35 | background-color: #fff;
36 | cursor: text;
37 | }
38 |
--------------------------------------------------------------------------------
/frontend/inspector/elements/computedStyleSidebarPane.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .computed-properties {
8 | -webkit-user-select: text;
9 | flex-shrink: 0;
10 | }
11 |
12 | .styles-sidebar-pane-toolbar {
13 | border-bottom: 1px solid #eee;
14 | flex-shrink: 0;
15 | }
16 |
17 | .styles-sidebar-pane-filter-box {
18 | flex: auto;
19 | display: flex;
20 | }
21 |
22 | .styles-sidebar-pane-filter-box > input {
23 | outline: none !important;
24 | border: none;
25 | width: 100%;
26 | background: white;
27 | padding-left: 4px;
28 | margin: 3px;
29 | }
30 |
31 | .styles-sidebar-pane-filter-box > input:focus,
32 | .styles-sidebar-pane-filter-box > input:not(:placeholder-shown) {
33 | box-shadow: var(--focus-ring-active-shadow);
34 | }
35 |
--------------------------------------------------------------------------------
/frontend/inspector/elements/domLinkifier.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | display: inline;
9 | }
10 |
11 | .node-link {
12 | cursor: pointer;
13 | display: inline;
14 | pointer-events: auto;
15 | }
16 |
17 | .node-label-name {
18 | color: rgb(136, 18, 128);
19 | }
20 |
21 | .node-label-class, .node-label-pseudo {
22 | color: rgb(153, 69, 0);
23 | }
24 |
--------------------------------------------------------------------------------
/frontend/inspector/elements/elementStatePaneWidget.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .styles-element-state-pane {
8 | overflow: hidden;
9 | padding-left: 2px;
10 | background-color: var(--toolbar-bg-color);
11 | border-bottom: 1px solid rgb(189, 189, 189);
12 | margin-top: 0;
13 | padding-bottom: 2px;
14 | }
15 |
16 | .styles-element-state-pane > div {
17 | margin: 8px 4px 6px;
18 | }
19 |
20 | .styles-element-state-pane > table {
21 | width: 100%;
22 | border-spacing: 0;
23 | }
24 |
25 | .styles-element-state-pane td {
26 | padding: 0;
27 | }
28 |
--------------------------------------------------------------------------------
/frontend/inspector/elements/platformFontsWidget.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | -webkit-user-select: text;
9 | }
10 |
11 | .platform-fonts {
12 | flex-shrink: 0;
13 | }
14 |
15 | .font-name {
16 | font-weight: bold;
17 | }
18 |
19 | .font-usage {
20 | color: #888;
21 | padding-left: 3px;
22 | }
23 |
24 | .title {
25 | padding: 0 5px;
26 | border-top: 1px solid;
27 | border-bottom: 1px solid;
28 | border-color: #ddd;
29 | white-space: nowrap;
30 | text-overflow: ellipsis;
31 | overflow: hidden;
32 | height: 24px;
33 | background-color: #f1f1f1;
34 | display: flex;
35 | align-items: center;
36 | }
37 |
38 | .stats-section {
39 | margin: 5px 0;
40 | }
41 |
42 | .font-stats-item {
43 | padding-left: 1em;
44 | }
45 |
46 | .font-stats-item .font-delimeter {
47 | margin: 0 1ex 0 1ex;
48 | }
49 |
50 |
--------------------------------------------------------------------------------
/frontend/inspector/elements/propertiesWidget.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .properties-widget-section {
8 | padding: 2px 0px 2px 5px;
9 | flex: none;
10 | }
11 |
--------------------------------------------------------------------------------
/frontend/inspector/elements_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "elements",
5 | "event_listeners",
6 | "animation"
7 | ],
8 | "scripts": [
9 | "ElementsTestRunner.js",
10 | "EditDOMTestRunner.js",
11 | "SetOuterHTMLTestRunner.js",
12 | "ElementsPanelShadowSelectionOnRefreshTestRunner.js",
13 | "StylesUpdateLinksTestRunner.js"
14 | ],
15 | "skip_compilation": [
16 | "ElementsTestRunner.js",
17 | "EditDOMTestRunner.js",
18 | "SetOuterHTMLTestRunner.js",
19 | "ElementsPanelShadowSelectionOnRefreshTestRunner.js",
20 | "StylesUpdateLinksTestRunner.js"
21 | ]
22 | }
23 |
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5-horizontal-default-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5-horizontal-default-1x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5-horizontal-default-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5-horizontal-default-2x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5-horizontal-keyboard-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5-horizontal-keyboard-1x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5-horizontal-keyboard-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5-horizontal-keyboard-2x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5-horizontal-navigation-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5-horizontal-navigation-1x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5-horizontal-navigation-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5-horizontal-navigation-2x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5-vertical-default-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5-vertical-default-1x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5-vertical-default-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5-vertical-default-2x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5-vertical-keyboard-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5-vertical-keyboard-1x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5-vertical-keyboard-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5-vertical-keyboard-2x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5-vertical-navigation-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5-vertical-navigation-1x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5-vertical-navigation-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5-vertical-navigation-2x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5x-horizontal-default-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5x-horizontal-default-1x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5x-horizontal-default-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5x-horizontal-default-2x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5x-horizontal-keyboard-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5x-horizontal-keyboard-1x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5x-horizontal-keyboard-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5x-horizontal-keyboard-2x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5x-horizontal-navigation-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5x-horizontal-navigation-1x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5x-horizontal-navigation-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5x-horizontal-navigation-2x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5x-vertical-default-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5x-vertical-default-1x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5x-vertical-default-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5x-vertical-default-2x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-2x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5x-vertical-navigation-1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5x-vertical-navigation-1x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulated_devices/google-nexus-5x-vertical-navigation-2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/weexteam/debugger-tool-for-Apache-Weex/24b4b3aad4b0bb2586a911e3309d53188e01ec2d/frontend/inspector/emulated_devices/google-nexus-5x-vertical-navigation-2x.png
--------------------------------------------------------------------------------
/frontend/inspector/emulation/deviceModeToolbar.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .device-mode-size-input {
8 | width: 41px;
9 | max-height: 18px;
10 | margin: 0 2px;
11 | text-align: center;
12 | }
13 |
14 | .device-mode-size-input:focus::-webkit-input-placeholder {
15 | color: transparent;
16 | }
17 |
18 | .device-mode-size-input:disabled {
19 | background: transparent;
20 | -webkit-user-select: none;
21 | opacity: 0.6;
22 | }
23 |
24 | .device-mode-x {
25 | margin: 0 1px;
26 | font-size: 16px;
27 | }
28 |
29 | .device-mode-empty-toolbar-element {
30 | width: 0;
31 | }
32 |
--------------------------------------------------------------------------------
/frontend/inspector/emulation/inspectedPagePlaceholder.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | background-color: white;
9 | }
10 |
--------------------------------------------------------------------------------
/frontend/inspector/event_listeners/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "ui",
4 | "common",
5 | "components",
6 | "sdk",
7 | "object_ui"
8 | ],
9 | "scripts": [
10 | "EventListenersView.js",
11 | "EventListenersUtils.js"
12 | ],
13 | "resources": [
14 | "eventListenersView.css"
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/frontend/inspector/extensions/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "components",
4 | "browser_sdk",
5 | "common"
6 | ],
7 | "scripts": [
8 | "ExtensionAPI.js",
9 | "ExtensionRegistryStub.js",
10 | "ExtensionTraceProvider.js",
11 | "ExtensionServer.js",
12 | "ExtensionPanel.js",
13 | "ExtensionView.js"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/frontend/inspector/extensions_test_runner/ExtensionsNetworkTestRunner.js:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | /**
6 | * @fileoverview using private properties isn't a Closure violation in tests.
7 | * @suppress {accessControls}
8 | */
9 |
10 | function extension_getRequestByUrl(urls, callback) {
11 | function onHAR(response) {
12 | const entries = response.entries;
13 |
14 | for (let i = 0; i < entries.length; ++i) {
15 | for (let url = 0; url < urls.length; ++url) {
16 | if (urls[url].test(entries[i].request.url)) {
17 | callback(entries[i]);
18 | return;
19 | }
20 | }
21 | }
22 |
23 | output('no item found');
24 | callback(null);
25 | }
26 |
27 | webInspector.network.getHAR(onHAR);
28 | }
29 |
--------------------------------------------------------------------------------
/frontend/inspector/extensions_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "extensions"
5 | ],
6 | "scripts": [
7 | "ExtensionsNetworkTestRunner.js",
8 | "ExtensionsTestRunner.js"
9 | ],
10 | "skip_compilation": [
11 | "ExtensionsNetworkTestRunner.js",
12 | "ExtensionsTestRunner.js"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/frontend/inspector/formatter/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "common"
4 | ],
5 | "scripts": [
6 | "FormatterWorkerPool.js",
7 | "ScriptFormatter.js"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/frontend/inspector/formatter_worker.js:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | // Release build has Runtime.js bundled.
5 | if (!self.Runtime)
6 | self.importScripts('Runtime.js');
7 | Runtime.startWorker('formatter_worker');
8 |
--------------------------------------------------------------------------------
/frontend/inspector/formatter_worker.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules": [
3 | { "name": "platform", "type": "autostart" },
4 | { "name": "text_utils", "type": "autostart" },
5 | { "name": "cm_headless", "type": "autostart" },
6 | { "name": "formatter_worker", "type": "autostart" }
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/frontend/inspector/formatter_worker/IdentityFormatter.js:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | /**
5 | * @unrestricted
6 | */
7 | FormatterWorker.IdentityFormatter = class {
8 | /**
9 | * @param {!FormatterWorker.FormattedContentBuilder} builder
10 | */
11 | constructor(builder) {
12 | this._builder = builder;
13 | }
14 |
15 | /**
16 | * @param {string} text
17 | * @param {!Array} lineEndings
18 | * @param {number} fromOffset
19 | * @param {number} toOffset
20 | */
21 | format(text, lineEndings, fromOffset, toOffset) {
22 | const content = text.substring(fromOffset, toOffset);
23 | this._builder.addToken(content, fromOffset);
24 | }
25 | };
26 |
--------------------------------------------------------------------------------
/frontend/inspector/formatter_worker/acorn/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (C) 2012-2018 by various contributors (see AUTHORS)
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/frontend/inspector/formatter_worker/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "platform",
4 | "text_utils",
5 | "cm_headless"
6 | ],
7 | "scripts": [
8 | "../cm_web_modes/css.js",
9 | "../cm_web_modes/xml.js",
10 | "ESTreeWalker.js",
11 | "FormatterWorker.js",
12 | "acorn/acorn.js",
13 | "acorn/acorn_loose.js",
14 | "CSSFormatter.js",
15 | "AcornTokenizer.js",
16 | "JavaScriptFormatter.js",
17 | "FormattedContentBuilder.js",
18 | "CSSRuleParser.js",
19 | "HTMLFormatter.js",
20 | "IdentityFormatter.js",
21 | "JavaScriptOutline.js",
22 | "RelaxedJSONParser.js"
23 | ],
24 | "skip_compilation": [
25 | "acorn/acorn.js",
26 | "acorn/acorn_loose.js",
27 | "../cm_web_modes/css.js",
28 | "../cm_web_modes/xml.js"
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/frontend/inspector/har_importer/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "common",
4 | "browser_sdk"
5 | ],
6 | "scripts": [
7 | "HARFormat.js",
8 | "HARImporter.js"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/frontend/inspector/heap_profiler_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "heap_snapshot_worker",
4 | "test_runner",
5 | "profiler",
6 | "data_grid"
7 | ],
8 | "scripts": [
9 | "HeapProfilerTestRunner.js"
10 | ],
11 | "skip_compilation": [
12 | "HeapProfilerTestRunner.js"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/frontend/inspector/heap_snapshot_model/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [],
3 | "scripts": [
4 | "HeapSnapshotModel.js"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/frontend/inspector/heap_snapshot_worker.js:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | // Release build has Runtime.js bundled.
5 | if (!self.Runtime)
6 | self.importScripts('Runtime.js');
7 | Runtime.startWorker('heap_snapshot_worker');
8 |
--------------------------------------------------------------------------------
/frontend/inspector/heap_snapshot_worker.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules": [
3 | { "name": "heap_snapshot_worker", "type": "autostart" },
4 | { "name": "heap_snapshot_model", "type": "autostart" },
5 | { "name": "platform", "type": "autostart" },
6 | { "name": "text_utils", "type": "autostart" },
7 | { "name": "common", "type": "autostart" }
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/frontend/inspector/heap_snapshot_worker/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": [
3 | "AllocationProfile.js",
4 | "HeapSnapshot.js",
5 | "HeapSnapshotLoader.js",
6 | "HeapSnapshotWorkerDispatcher.js",
7 | "HeapSnapshotWorker.js"
8 | ],
9 | "dependencies": [
10 | "heap_snapshot_model",
11 | "platform",
12 | "common"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/frontend/inspector/host/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "common",
4 | "platform"
5 | ],
6 | "scripts": [
7 | "InspectorFrontendHostAPI.js",
8 | "InspectorFrontendHost.js",
9 | "Platform.js",
10 | "ResourceLoader.js",
11 | "UserMetrics.js"
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/frontend/inspector/inline_editor/bezierSwatch.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | white-space: nowrap;
9 | }
10 |
11 | .bezier-swatch-icon {
12 | position: relative;
13 | margin-left: 1px;
14 | margin-right: 2px;
15 | top: 1px;
16 | -webkit-user-select: none;
17 | line-height: 10px;
18 | background-color: #9C27B0;
19 | cursor: default;
20 | }
21 |
22 | .bezier-swatch-icon:hover {
23 | background-color: #800080;
24 | }
25 |
--------------------------------------------------------------------------------
/frontend/inspector/inline_editor/colorSwatch.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | white-space: nowrap;
9 | }
10 |
11 | .color-swatch {
12 | position: relative;
13 | margin-left: 1px;
14 | margin-right: 2px;
15 | width: 10px;
16 | height: 10px;
17 | top: 1px;
18 | display: inline-block;
19 | -webkit-user-select: none;
20 | background-image: url(Images/checker.png);
21 | line-height: 10px;
22 | }
23 |
24 | .color-swatch-inner {
25 | width: 100%;
26 | height: 100%;
27 | display: inline-block;
28 | border: 1px solid rgba(128, 128, 128, 0.6);
29 | cursor: default;
30 | }
31 |
32 | .color-swatch-inner:hover {
33 | border: 1px solid rgba(64, 64, 64, 0.8);
34 | }
35 |
36 |
--------------------------------------------------------------------------------
/frontend/inspector/inline_editor/cssShadowSwatch.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | white-space: nowrap;
9 | }
10 |
11 | .shadow-swatch-icon {
12 | position: relative;
13 | margin-left: 1px;
14 | margin-right: 2px;
15 | top: 1px;
16 | -webkit-user-select: none;
17 | line-height: 10px;
18 | background-color: #9C27B0;
19 | }
20 |
21 | .shadow-swatch-icon:hover {
22 | background-color: #800080;
23 | }
24 |
--------------------------------------------------------------------------------
/frontend/inspector/inline_editor/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "ui"
4 | ],
5 | "scripts": [
6 | "BezierEditor.js",
7 | "BezierUI.js",
8 | "ColorSwatch.js",
9 | "CSSShadowEditor.js",
10 | "SwatchPopoverHelper.js",
11 | "CSSShadowModel.js"
12 | ],
13 | "resources": [
14 | "bezierEditor.css",
15 | "colorSwatch.css",
16 | "bezierSwatch.css",
17 | "cssShadowSwatch.css",
18 | "cssShadowEditor.css",
19 | "swatchPopover.css"
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/frontend/inspector/inline_editor/swatchPopover.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .widget {
8 | display: flex;
9 | background: white;
10 | box-shadow: var(--drop-shadow);
11 | border-radius: 2px;
12 | overflow: auto;
13 | -webkit-user-select: text;
14 | line-height: 11px;
15 | }
16 |
--------------------------------------------------------------------------------
/frontend/inspector/inspector.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/frontend/inspector/inspector.js:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | Runtime.startApplication('inspector');
5 |
--------------------------------------------------------------------------------
/frontend/inspector/inspector.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules" : [
3 | { "name": "screencast", "type": "autostart" }
4 | ],
5 | "extends": "devtools_app",
6 | "has_html": true
7 | }
8 |
--------------------------------------------------------------------------------
/frontend/inspector/inspector_main/RequestAppBannerActionDelegate.js:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | /**
5 | * @implements {UI.ActionDelegate}
6 | * @unrestricted
7 | */
8 | InspectorMain.RequestAppBannerActionDelegate = class {
9 | /**
10 | * @override
11 | * @param {!UI.Context} context
12 | * @param {string} actionId
13 | * @return {boolean}
14 | */
15 | handleAction(context, actionId) {
16 | const target = SDK.targetManager.mainTarget();
17 | if (target && target.hasBrowserCapability()) {
18 | target.pageAgent().requestAppBanner();
19 | Common.console.show();
20 | }
21 | return true;
22 | }
23 | };
24 |
--------------------------------------------------------------------------------
/frontend/inspector/inspector_main/nodeIcon.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .node-icon {
8 | width: 28px;
9 | height: 26px;
10 | background-image: url(Images/nodeIcon.png);
11 | background-size: 17px 17px;
12 | background-repeat: no-repeat;
13 | background-position: center;
14 | opacity: 0.8;
15 | }
16 |
17 | .node-icon:hover {
18 | opacity: 1.0;
19 | }
20 |
21 | .node-icon.inactive {
22 | filter: grayscale(100%);
23 | }
24 |
--------------------------------------------------------------------------------
/frontend/inspector/inspector_main/renderingOptions.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | padding: 12px;
9 | }
10 |
11 | label {
12 | margin: 0px 0px 10px 0px;
13 | flex: none;
14 | }
15 |
16 | .media-row {
17 | margin-left: 22px;
18 | flex: none;
19 | }
20 |
21 | .media-row p {
22 | margin-top: 0;
23 | color: gray;
24 | }
25 |
26 | .panel-section-separator {
27 | height: 1px;
28 | margin-bottom: 10px;
29 | background: #f0f0f0;
30 | flex: none;
31 | }
32 |
--------------------------------------------------------------------------------
/frontend/inspector/integration_test_runner.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/frontend/inspector/integration_test_runner.js:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | if (self.testRunner) {
6 | testRunner.dumpAsText();
7 | testRunner.waitUntilDone();
8 | }
9 |
10 | Runtime.startApplication('integration_test_runner');
11 |
--------------------------------------------------------------------------------
/frontend/inspector/integration_test_runner.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules" : [
3 | { "name": "test_runner", "type": "autostart" },
4 |
5 | { "name": "heap_snapshot_worker" },
6 |
7 | { "name": "accessibility_test_runner" },
8 | { "name": "application_test_runner" },
9 | { "name": "audits2_test_runner" },
10 | { "name": "bindings_test_runner" },
11 | { "name": "console_test_runner" },
12 | { "name": "coverage_test_runner" },
13 | { "name": "cpu_profiler_test_runner" },
14 | { "name": "data_grid_test_runner" },
15 | { "name": "device_mode_test_runner" },
16 | { "name": "elements_test_runner" },
17 | { "name": "extensions_test_runner" },
18 | { "name": "heap_profiler_test_runner" },
19 | { "name": "layers_test_runner" },
20 | { "name": "network_test_runner" },
21 | { "name": "performance_test_runner" },
22 | { "name": "sdk_test_runner" },
23 | { "name": "security_test_runner" },
24 | { "name": "sources_test_runner" }
25 | ],
26 | "extends": "devtools_app",
27 | "has_html": true
28 | }
29 |
--------------------------------------------------------------------------------
/frontend/inspector/javascript_metadata/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "@Common.JavaScriptMetadata",
5 | "className": "JavaScriptMetadata.JavaScriptMetadata"
6 | }
7 | ],
8 | "dependencies": [
9 | "common"
10 | ],
11 | "scripts": [
12 | "NativeFunctions.js",
13 | "JavaScriptMetadata.js"
14 | ],
15 | "skip_compilation": [
16 | "NativeFunctions.js"
17 | ]
18 | }
--------------------------------------------------------------------------------
/frontend/inspector/js_app.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/frontend/inspector/js_app.js:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | Runtime.startApplication('js_app');
5 |
--------------------------------------------------------------------------------
/frontend/inspector/js_app.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules" : [
3 | { "name": "js_main", "type": "autostart" },
4 | { "name": "js_profiler" }
5 | ],
6 | "extends": "shell",
7 | "has_html": true
8 | }
9 |
--------------------------------------------------------------------------------
/frontend/inspector/js_main/JsMain.js:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | /**
6 | * @implements {Common.Runnable}
7 | */
8 | JsMain.JsMain = class extends Common.Object {
9 | /**
10 | * @override
11 | */
12 | run() {
13 | Host.userMetrics.actionTaken(Host.UserMetrics.Action.ConnectToNodeJSDirectly);
14 | const target = SDK.targetManager.createTarget(
15 | 'main', Common.UIString('Main'), SDK.Target.Capability.JS, this._createMainConnection.bind(this), null, true /* isNodeJS */);
16 | target.runtimeAgent().runIfWaitingForDebugger();
17 | InspectorFrontendHost.connectionReady();
18 | }
19 |
20 | /**
21 | * @param {!Protocol.InspectorBackend.Connection.Params} params
22 | * @return {!Protocol.InspectorBackend.Connection}
23 | */
24 | _createMainConnection(params) {
25 | return SDK.createMainConnection(params, () => Components.TargetDetachedDialog.webSocketConnectionLost());
26 | }
27 | };
28 |
--------------------------------------------------------------------------------
/frontend/inspector/js_main/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "early-initialization",
5 | "className": "JsMain.JsMain"
6 | }
7 | ],
8 | "dependencies": [
9 | "components"
10 | ],
11 | "scripts": [
12 | "JsMain.js"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/frontend/inspector/js_profiler/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "view",
5 | "location": "panel",
6 | "id": "js_profiler",
7 | "title": "Profiler",
8 | "order": 65,
9 | "className": "Profiler.JSProfilerPanel"
10 | }
11 | ],
12 | "dependencies": [
13 | "profiler"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/frontend/inspector/layer_viewer/layerDetailsView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | table td {
8 | padding-left: 8px;
9 | }
10 |
11 | table td:first-child {
12 | font-weight: bold;
13 | }
14 |
15 | .scroll-rect.active {
16 | background-color: rgba(100, 100, 100, 0.2);
17 | }
18 |
19 | ul {
20 | list-style: none;
21 | -webkit-padding-start: 0;
22 | -webkit-margin-before: 0;
23 | -webkit-margin-after: 0;
24 | }
25 |
26 | a {
27 | padding: 8px;
28 | display: block;
29 | }
30 |
--------------------------------------------------------------------------------
/frontend/inspector/layer_viewer/layers3DView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .layers-3d-view {
8 | overflow: hidden;
9 | -webkit-user-select: none;
10 | }
11 |
12 | .toolbar {
13 | background-color: var(--toolbar-bg-color);
14 | border-bottom: var(--divider-border);
15 | }
16 |
17 | canvas {
18 | flex: 1 1;
19 | }
20 |
--------------------------------------------------------------------------------
/frontend/inspector/layer_viewer/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "components",
4 | "sdk",
5 | "timeline_model",
6 | "ui",
7 | "perf_ui"
8 | ],
9 | "scripts": [
10 | "LayerDetailsView.js",
11 | "LayerTreeOutline.js",
12 | "LayerViewHost.js",
13 | "Layers3DView.js",
14 | "PaintProfilerView.js",
15 | "TransformController.js"
16 | ],
17 | "resources": [
18 | "layers3DView.css",
19 | "paintProfiler.css",
20 | "layerDetailsView.css"
21 | ]
22 | }
23 |
--------------------------------------------------------------------------------
/frontend/inspector/layer_viewer/paintProfiler.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .paint-profiler-overview {
8 | background-color: #eee;
9 | }
10 |
11 | .paint-profiler-canvas-container {
12 | flex: auto;
13 | position: relative;
14 | }
15 |
16 | .paint-profiler-pie-chart {
17 | width: 60px !important;
18 | height: 60px !important;
19 | padding: 2px;
20 | overflow: hidden;
21 | font-size: 10px;
22 | }
23 |
24 | .paint-profiler-canvas-container canvas {
25 | z-index: 200;
26 | background-color: white;
27 | opacity: 0.95;
28 | height: 100%;
29 | width: 100%;
30 | }
31 |
32 | .paint-profiler-canvas-container .overview-grid-dividers-background,
33 | .paint-profiler-canvas-container .overview-grid-window {
34 | bottom: 0;
35 | height: auto;
36 | }
37 |
38 | .paint-profiler-canvas-container .overview-grid-window-resizer {
39 | z-index: 2000;
40 | }
41 |
--------------------------------------------------------------------------------
/frontend/inspector/layers/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "view",
5 | "location": "panel",
6 | "id": "layers",
7 | "title": "Layers",
8 | "order": 100,
9 | "persistence": "closeable",
10 | "className": "Layers.LayersPanel"
11 | }
12 | ],
13 | "dependencies": ["layer_viewer"],
14 | "scripts": [
15 | "LayerPaintProfilerView.js",
16 | "LayerTreeModel.js",
17 | "LayersPanel.js"
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------
/frontend/inspector/layers_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "layers",
5 | "elements",
6 | "components"
7 | ],
8 | "scripts": [
9 | "LayersTestRunner.js"
10 | ],
11 | "skip_compilation": [
12 | "LayersTestRunner.js"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/frontend/inspector/main/SimpleApp.js:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | /**
5 | * @implements {Common.App}
6 | * @unrestricted
7 | */
8 | Main.SimpleApp = class {
9 | /**
10 | * @override
11 | * @param {!Document} document
12 | */
13 | presentUI(document) {
14 | const rootView = new UI.RootView();
15 | UI.inspectorView.show(rootView.element);
16 | rootView.attachToDocument(document);
17 | rootView.focus();
18 | }
19 | };
20 |
21 | /**
22 | * @implements {Common.AppProvider}
23 | * @unrestricted
24 | */
25 | Main.SimpleAppProvider = class {
26 | /**
27 | * @override
28 | * @return {!Common.App}
29 | */
30 | createApp() {
31 | return new Main.SimpleApp();
32 | }
33 | };
34 |
--------------------------------------------------------------------------------
/frontend/inspector/ndb_app.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/frontend/inspector/ndb_app.js:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | Runtime.startApplication('ndb_app');
5 |
--------------------------------------------------------------------------------
/frontend/inspector/ndb_app.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules" : [
3 | ],
4 | "extends": "shell",
5 | "has_html": true
6 | }
7 |
--------------------------------------------------------------------------------
/frontend/inspector/network/eventSourceMessagesView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .event-source-messages-view .data-grid {
8 | flex: auto;
9 | border: none;
10 | }
11 |
--------------------------------------------------------------------------------
/frontend/inspector/network/networkManageCustomHeadersView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 | .custom-headers-list {
7 | height: 272px;
8 | width: 250px;
9 | }
10 |
11 | .custom-headers-wrapper{
12 | margin: 10px;
13 | }
14 |
15 | .header {
16 | padding: 0 0 6px;
17 | font-size: 18px;
18 | font-weight: normal;
19 | flex: none;
20 | }
21 |
22 | .custom-headers-header {
23 | padding:2px;
24 | }
25 |
26 | .custom-headers-list-item {
27 | padding-left: 5px;
28 | }
29 |
30 | .editor-container {
31 | padding: 5px 0px 0px 5px;
32 | }
33 |
34 | .add-button {
35 | width: 150px;
36 | margin: auto;
37 | margin-top: 5px;
38 | }
39 |
--------------------------------------------------------------------------------
/frontend/inspector/network/networkWaterfallColumn.css:
--------------------------------------------------------------------------------
1 | /* Copyright 2016 The Chromium Authors. All rights reserved.
2 | * Use of this source code is governed by a BSD-style license that can be
3 | * found in the LICENSE file.
4 | */
5 | .network-waterfall-v-scroll {
6 | position: absolute;
7 | top: 0;
8 | right: 0;
9 | bottom: 0;
10 | overflow-x: hidden;
11 | margin-top: 31px;
12 | z-index: 200;
13 | }
14 |
15 | .network-waterfall-v-scroll.small {
16 | margin-top: 27px;
17 | }
18 |
19 | .network-waterfall-v-scroll-content {
20 | width: 15px;
21 | pointer-events: none;
22 | }
23 |
--------------------------------------------------------------------------------
/frontend/inspector/network/requestCookiesView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .request-cookies-view {
8 | display: flex;
9 | overflow: auto;
10 | margin: 12px;
11 | height: 100%;
12 | }
13 |
14 | .request-cookies-view .data-grid {
15 | flex: auto;
16 | height: 100%;
17 | }
18 |
19 | .request-cookies-view .data-grid .row-group {
20 | font-weight: bold;
21 | }
22 |
--------------------------------------------------------------------------------
/frontend/inspector/network/requestHTMLView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2018 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 | .html-preview-frame {
7 | box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
8 | flex-grow: 1;
9 | margin: 20px;
10 | }
11 |
--------------------------------------------------------------------------------
/frontend/inspector/network/requestHeadersView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .request-headers-view {
8 | -webkit-user-select: text;
9 | overflow: auto;
10 | }
11 |
12 | .resource-status-image {
13 | margin-top: -2px;
14 | margin-right: 3px;
15 | }
16 |
17 | .request-headers-view .filter-input {
18 | outline: none !important;
19 | border: none;
20 | border-bottom: solid 1px #ccc;
21 | flex: 0 0 19px;
22 | padding: 0 4px;
23 | }
24 |
25 | .request-headers-tree {
26 | flex-grow: 1;
27 | overflow-y: auto;
28 | margin: 0;
29 | }
30 |
31 | .header-decode-error {
32 | color: red;
33 | }
34 |
35 | .-theme-with-dark-background .header-decode-error {
36 | color: hsl(0, 100%, 65%);
37 | }
38 |
--------------------------------------------------------------------------------
/frontend/inspector/network/signedExchangeInfoView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2018 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .signed-exchange-info-view {
8 | -webkit-user-select: text;
9 | overflow: auto;
10 | }
11 |
12 | .signed-exchange-info-tree {
13 | flex-grow: 1;
14 | overflow-y: auto;
15 | margin: 0;
16 | }
17 |
--------------------------------------------------------------------------------
/frontend/inspector/network_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "product_registry_impl",
5 | "console_test_runner"
6 | ],
7 | "scripts": [
8 | "NetworkTestRunner.js",
9 | "ProductRegistryTestRunner.js"
10 | ],
11 | "skip_compilation": [
12 | "NetworkTestRunner.js",
13 | "ProductRegistryTestRunner.js"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/frontend/inspector/node_app.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/frontend/inspector/node_app.js:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | Runtime.startApplication('node_app');
6 |
--------------------------------------------------------------------------------
/frontend/inspector/node_app.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules" : [
3 | { "name": "node_main", "type": "autostart" },
4 | { "name": "node_debugger" },
5 | { "name": "js_profiler" }
6 | ],
7 | "extends": "shell",
8 | "has_html": true
9 | }
10 |
--------------------------------------------------------------------------------
/frontend/inspector/node_debugger/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "view",
5 | "location": "navigator-view",
6 | "id": "navigator-network",
7 | "title": "Node",
8 | "order": 2,
9 | "persistence": "permanent",
10 | "className": "Sources.NetworkNavigatorView"
11 | }
12 | ],
13 | "dependencies": [
14 | "sources"
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/frontend/inspector/node_main/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "early-initialization",
5 | "className": "NodeMain.NodeMain"
6 | },
7 | {
8 | "type": "view",
9 | "location": "panel",
10 | "id": "node-connection",
11 | "title": "Connection",
12 | "order": 0,
13 | "className": "NodeMain.NodeConnectionsPanel",
14 | "tags": "node"
15 | }
16 | ],
17 | "dependencies": ["platform", "ui", "host", "components"],
18 | "scripts": [
19 | "NodeConnectionsPanel.js",
20 | "NodeMain.js"
21 | ],
22 | "resources": [
23 | "nodeConnectionsPanel.css"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/frontend/inspector/object_ui/customPreviewComponent.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .custom-expandable-section {
8 | display: inline-flex;
9 | flex-direction: column;
10 | }
11 |
12 | .custom-expand-icon {
13 | -webkit-user-select: none;
14 | opacity: 0.5;
15 | margin-right: 4px;
16 | margin-bottom: -2px;
17 | background: black;
18 | }
19 |
20 | .custom-expandable-section-standard-section {
21 | display: inline-flex;
22 | }
--------------------------------------------------------------------------------
/frontend/inspector/object_ui/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "@Common.Renderer",
5 | "contextTypes": [
6 | "SDK.RemoteObject"
7 | ],
8 | "className": "ObjectUI.ObjectPropertiesSection.Renderer"
9 | }
10 | ],
11 | "dependencies": [
12 | "ui",
13 | "sdk",
14 | "components",
15 | "formatter"
16 | ],
17 | "scripts": [
18 | "CustomPreviewComponent.js",
19 | "ObjectPopoverHelper.js",
20 | "ObjectPropertiesSection.js",
21 | "JavaScriptAutocomplete.js",
22 | "RemoteObjectPreviewFormatter.js"
23 | ],
24 | "resources": [
25 | "customPreviewComponent.css",
26 | "objectPopover.css",
27 | "objectPropertiesSection.css",
28 | "objectValue.css"
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/frontend/inspector/perf_ui/GCActionDelegate.js:
--------------------------------------------------------------------------------
1 | // Copyright 2016 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | /**
6 | * @implements {UI.ActionDelegate}
7 | */
8 | PerfUI.GCActionDelegate = class {
9 | /**
10 | * @override
11 | * @param {!UI.Context} context
12 | * @param {string} actionId
13 | * @return {boolean}
14 | */
15 | handleAction(context, actionId) {
16 | for (const heapProfilerModel of SDK.targetManager.models(SDK.HeapProfilerModel))
17 | heapProfilerModel.collectGarbage();
18 | return true;
19 | }
20 | };
21 |
--------------------------------------------------------------------------------
/frontend/inspector/perf_ui/pieChart.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .root {
8 | position: relative;
9 | width: 100%;
10 | height: 100%;
11 | }
12 |
13 | .pie-chart-foreground {
14 | position: absolute;
15 | width: 100%;
16 | height: 100%;
17 | z-index: 10;
18 | top: 0;
19 | display: flex;
20 | }
21 |
22 | .pie-chart-total {
23 | margin: auto;
24 | padding: 2px 5px;
25 | background-color: rgba(255, 255, 255, 0.6);
26 | }
27 |
--------------------------------------------------------------------------------
/frontend/inspector/perf_ui/timelineOverviewInfo.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .overview-info:not(:empty) {
8 | display: flex;
9 | background: white;
10 | box-shadow: var(--drop-shadow);
11 | padding: 3px;
12 | }
13 |
14 | .overview-info .frame .time {
15 | display: none;
16 | }
17 |
18 | .overview-info .frame .thumbnail img {
19 | max-width: 50vw;
20 | max-height: 50vh;
21 | }
22 |
--------------------------------------------------------------------------------
/frontend/inspector/performance_monitor/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "view",
5 | "location": "drawer-view",
6 | "id": "performance.monitor",
7 | "title": "Performance monitor",
8 | "persistence": "closeable",
9 | "order": 100,
10 | "className": "PerformanceMonitor.PerformanceMonitor",
11 | "tags": "performance, system monitor, monitor, activity, metrics"
12 | }
13 | ],
14 | "dependencies": [
15 | "sdk",
16 | "ui"
17 | ],
18 | "scripts": [
19 | "PerformanceMonitor.js"
20 | ],
21 | "resources": [
22 | "performanceMonitor.css"
23 | ]
24 | }
25 |
--------------------------------------------------------------------------------
/frontend/inspector/performance_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "timeline_model",
5 | "timeline"
6 | ],
7 | "scripts": [
8 | "TimelineTestRunner.js",
9 | "TimelineDataTestRunner.js"
10 | ],
11 | "skip_compilation": [
12 | "TimelineTestRunner.js",
13 | "TimelineDataTestRunner.js"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/frontend/inspector/platform/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | ],
4 | "scripts": [
5 | "utilities.js"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/frontend/inspector/product_registry/badge.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .product-registry-badge {
8 | background-color: rgba(0, 0, 0, 0.2);
9 | border-radius: 2px;
10 | padding: 1px 2px;
11 | white-space: pre;
12 | cursor: pointer;
13 | }
14 |
15 | .product-registry-badge::before {
16 | content: attr(data-initial);
17 | color: #222;
18 | }
19 |
20 | .hide-badge-title .product-registry-badge-title {
21 | display: none;
22 | }
23 |
24 | .product-registry-badge-title {
25 | padding-left: 4px;
26 | }
--------------------------------------------------------------------------------
/frontend/inspector/product_registry/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "setting",
5 | "category": "Appearance",
6 | "title": "Show third party URL badges",
7 | "settingName": "product_registry.badges-visible",
8 | "settingType": "boolean",
9 | "defaultValue": false,
10 | "options": [
11 | {
12 | "value": true,
13 | "title": "Show third party badges"
14 | },
15 | {
16 | "value": false,
17 | "title": "Do not show third party badges"
18 | }
19 | ]
20 | }
21 | ],
22 | "dependencies": [
23 | "common",
24 | "sdk",
25 | "ui"
26 | ],
27 | "scripts": [
28 | "BadgePool.js",
29 | "ProductRegistry.js"
30 | ],
31 | "resources": [
32 | "badge.css",
33 | "popup.css"
34 | ]
35 | }
36 |
--------------------------------------------------------------------------------
/frontend/inspector/product_registry/popup.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .product-registry-popup {
8 | background-color: white;
9 | padding: 15px 45px 15px 15px;
10 | border-radius: 4px;
11 | white-space: nowrap;
12 | box-shadow: 0px 1px 2px 0px gray;
13 | }
14 |
15 | .product-registry-domain {
16 | font-weight: bold;
17 | }
18 |
19 | .product-registry-name {
20 | padding: 10px 0;
21 | }
22 |
23 | .product-registry-link {
24 | display: block;
25 | }
26 |
27 | div[is=dt-close-button] {
28 | position: absolute;
29 | top: 5px;
30 | right: 5px;
31 | }
32 |
--------------------------------------------------------------------------------
/frontend/inspector/product_registry_impl/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "@ProductRegistry.Registry",
5 | "className": "ProductRegistryImpl.Registry"
6 | }
7 | ],
8 | "dependencies": [
9 | "common",
10 | "product_registry"
11 | ],
12 | "scripts": [
13 | "ProductRegistryImpl.js",
14 | "ProductRegistryData.js",
15 | "sha1/sha1.js"
16 | ]
17 | }
18 |
--------------------------------------------------------------------------------
/frontend/inspector/product_registry_impl/sha1/README.chromium:
--------------------------------------------------------------------------------
1 | Name: A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined in FIPS 180-1.
2 | Short Name: sha1.js
3 | URL: http://pajhome.org.uk/crypt/md5/
4 | License: BSD
5 | Security Critical: no
6 |
7 | This directory contains Chromium's version of sha1.js which is for hashing strings in javascript synchronously. Added
8 | jsdoc types to functions, wrapped functions in an outer function and removed portions of code that are not needed by
9 | Chromium.
--------------------------------------------------------------------------------
/frontend/inspector/profiler/ProfileTypeRegistry.js:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | /**
5 | * @unrestricted
6 | */
7 | Profiler.ProfileTypeRegistry = class {
8 | constructor() {
9 | this.cpuProfileType = new Profiler.CPUProfileType();
10 | this.heapSnapshotProfileType = new Profiler.HeapSnapshotProfileType();
11 | this.samplingHeapProfileType = new Profiler.SamplingHeapProfileType();
12 | this.samplingNativeHeapProfileType = new Profiler.SamplingNativeHeapProfileType();
13 | this.samplingNativeHeapSnapshotBrowserType = new Profiler.SamplingNativeHeapSnapshotBrowserType();
14 | this.samplingNativeHeapSnapshotRendererType = new Profiler.SamplingNativeHeapSnapshotRendererType();
15 | this.trackingHeapSnapshotProfileType = new Profiler.TrackingHeapSnapshotProfileType();
16 | }
17 | };
18 |
19 | Profiler.ProfileTypeRegistry.instance = new Profiler.ProfileTypeRegistry();
20 |
--------------------------------------------------------------------------------
/frontend/inspector/profiler/profileLauncherView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2018 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .profile-isolate-item {
8 | padding: 4px;
9 | line-height: 16px;
10 | border-left: 2px solid transparent;
11 | overflow-x: hidden;
12 | }
13 |
14 | .profile-isolate-item:hover {
15 | background-color: hsla(0, 0%, 0%, 0.05);
16 | }
17 |
18 | .profile-isolate-item.selected {
19 | border-color: #4285f4;
20 | background-color: #4285f420;
21 | }
22 |
23 | .profile-isolate-item > div {
24 | flex-shrink: 0;
25 | margin-left: 9px;
26 | }
27 |
28 | .profile-isolate-item-heap {
29 | width: 120px;
30 | }
31 |
--------------------------------------------------------------------------------
/frontend/inspector/protocol/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "common"
4 | ],
5 | "scripts": [
6 | "InspectorBackend.js",
7 | "../InspectorBackendCommands.js"
8 | ],
9 | "skip_compilation": [
10 | "../InspectorBackendCommands.js"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/frontend/inspector/protocol_monitor/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "view",
5 | "location": "drawer-view",
6 | "id": "protocol-monitor",
7 | "title": "Protocol monitor",
8 | "order": 100,
9 | "persistence": "closeable",
10 | "className": "ProtocolMonitor.ProtocolMonitor",
11 | "experiment": "protocolMonitor"
12 | }
13 | ],
14 | "dependencies": ["platform", "ui", "host", "components", "data_grid", "source_frame"],
15 | "scripts": [
16 | "ProtocolMonitor.js"
17 | ],
18 | "resources": [
19 | "protocolMonitor.css"
20 | ]
21 | }
--------------------------------------------------------------------------------
/frontend/inspector/protocol_monitor/protocolMonitor.css:
--------------------------------------------------------------------------------
1 | .data-grid {
2 | border: none;
3 | }
4 | .data-grid {
5 | flex: auto;
6 | border: none;
7 | }
8 |
9 | .data-grid .data {
10 | background-image: none;
11 | }
12 |
13 | .data-grid td {
14 | /* border-bottom: 1px solid #ccc; */
15 | border-left-color: #ccc;
16 | }
17 |
18 | .data-grid tr.selected {
19 | background-color: #def;
20 | }
21 |
22 | .data-grid th {
23 | border-left-color: #ccc;
24 | }
25 |
26 | .protocol-message-sent {
27 | background-color: hsl(281, 64%, 95%);
28 | }
29 |
30 | .protocol-monitor-toolbar {
31 | border-bottom:var(--divider-border);
32 | }
33 |
--------------------------------------------------------------------------------
/frontend/inspector/resources/appManifestView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
--------------------------------------------------------------------------------
/frontend/inspector/resources/clearStorageView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .report-row {
8 | display: flex;
9 | align-items: center;
10 | }
11 |
12 | .clear-storage-button .report-row {
13 | margin: 0 0 0 20px;
14 | display: flex;
15 | }
16 |
17 | .link {
18 | margin-left: 10px;
19 | display: none;
20 | }
21 |
22 | .report-row:hover .link {
23 | display: inline;
24 | }
25 |
26 | .usage-breakdown-row {
27 | min-width: fit-content;
28 | }
29 |
30 | .usage-breakdown-legend-row {
31 | margin: 5px auto;
32 | }
33 |
34 | .usage-breakdown-legend-title {
35 | display: inline-block;
36 | }
37 |
38 | .usage-breakdown-legend-value {
39 | display: inline-block;
40 | width: 70px;
41 | text-align: right;
42 | }
43 |
44 | .usage-breakdown-legend-swatch {
45 | display: inline-block;
46 | width: 11px;
47 | height: 11px;
48 | margin: 0 6px;
49 | position: relative;
50 | top: 1px;
51 | border: 1px solid rgba(0, 0, 0, 0.2);
52 | }
53 |
--------------------------------------------------------------------------------
/frontend/inspector/screencast/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "@Common.AppProvider",
5 | "className": "Screencast.ScreencastAppProvider",
6 | "order": 1
7 | },
8 | {
9 | "type": "@UI.ToolbarItem.Provider",
10 | "className": "Screencast.ScreencastApp.ToolbarButtonProvider",
11 | "order": 1,
12 | "location": "main-toolbar-left"
13 | },
14 | {
15 | "type": "context-menu-item",
16 | "location": "mainMenu",
17 | "order": 10,
18 | "actionId": "components.request-app-banner"
19 | }
20 | ],
21 | "dependencies": [
22 | "components",
23 | "emulation"
24 | ],
25 | "scripts": [
26 | "InputModel.js",
27 | "ScreencastApp.js",
28 | "ScreencastView.js"
29 | ],
30 | "resources": [
31 | "screencastView.css"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/frontend/inspector/sdk_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "sdk",
4 | "test_runner"
5 | ],
6 | "scripts": [
7 | "PageMockTestRunner.js"
8 | ],
9 | "skip_compilation": [
10 | "PageMockTestRunner.js"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/frontend/inspector/search/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "components"
4 | ],
5 | "scripts": [
6 | "SearchView.js",
7 | "SearchConfig.js",
8 | "SearchResultsPane.js"
9 | ],
10 | "resources": [
11 | "searchResultsPane.css",
12 | "searchView.css"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/frontend/inspector/search/searchView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2014 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .search-drawer-header {
8 | align-items: center;
9 | flex-shrink: 0;
10 | overflow: hidden;
11 | }
12 |
13 | .search-toolbar {
14 | background-color: var(--toolbar-bg-color);
15 | border-bottom: var(--divider-border);
16 | }
17 |
18 | .search-toolbar-summary {
19 | background-color: #eee;
20 | border-top: 1px solid #ccc;
21 | padding-left: 5px;
22 | flex: 0 0 19px;
23 | display: flex;
24 | padding-right: 5px;
25 | }
26 |
27 | .search-toolbar-summary .search-message {
28 | padding-top: 2px;
29 | padding-left: 1ex;
30 | text-overflow: ellipsis;
31 | white-space: nowrap;
32 | overflow: hidden;
33 | }
34 |
35 | .search-view .search-results {
36 | overflow-y: auto;
37 | display: flex;
38 | flex: auto;
39 | }
40 |
41 | .search-view .search-results > div {
42 | flex: auto;
43 | }
44 |
--------------------------------------------------------------------------------
/frontend/inspector/security/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "view",
5 | "location": "panel",
6 | "id": "security",
7 | "title": "Security",
8 | "order": 80,
9 | "className": "Security.SecurityPanel"
10 | }
11 | ],
12 | "dependencies": ["network", "platform", "ui", "sdk"],
13 | "scripts": [
14 | "SecurityModel.js",
15 | "SecurityPanel.js"
16 | ],
17 | "resources": [
18 | "lockIcon.css",
19 | "mainView.css",
20 | "originView.css",
21 | "sidebar.css"
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------
/frontend/inspector/security_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "security"
5 | ],
6 | "scripts": [
7 | "SecurityTestRunner.js"
8 | ],
9 | "skip_compilation": [
10 | "SecurityTestRunner.js"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/frontend/inspector/services/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "common",
4 | "host"
5 | ],
6 | "scripts": [
7 | "ServiceManager.js"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/frontend/inspector/snippets/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "@QuickOpen.FilteredListWidget.Provider",
5 | "title": "Run snippet",
6 | "prefix": "!",
7 | "className": "Snippets.SnippetsQuickOpen"
8 | }
9 | ],
10 | "dependencies": ["bindings", "quick_open"],
11 | "scripts": [
12 | "SnippetStorage.js",
13 | "ScriptSnippetModel.js",
14 | "SnippetsQuickOpen.js"
15 | ]
16 | }
17 |
--------------------------------------------------------------------------------
/frontend/inspector/source_frame/fontView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .font-view {
8 | font-size: 60px;
9 | white-space: pre-wrap;
10 | word-wrap: break-word;
11 | text-align: center;
12 | padding: 15px;
13 | }
14 |
--------------------------------------------------------------------------------
/frontend/inspector/source_frame/imageView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .image-view {
8 | overflow: auto;
9 | }
10 |
11 | .image-view > .image {
12 | padding: 20px 20px 10px 20px;
13 | text-align: center;
14 | }
15 |
16 | .image-view img.resource-image-view {
17 | max-width: 100%;
18 | max-height: 1000px;
19 | background-image: url(Images/checker.png);
20 | box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5);
21 | -webkit-user-select: text;
22 | -webkit-user-drag: auto;
23 | }
24 |
--------------------------------------------------------------------------------
/frontend/inspector/source_frame/jsonView.css:
--------------------------------------------------------------------------------
1 | .json-view {
2 | padding: 2px 6px;
3 | overflow: auto;
4 | }
5 |
--------------------------------------------------------------------------------
/frontend/inspector/source_frame/messagesPopover.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .text-editor-messages-description-container {
8 | display: inline-block;
9 | }
10 |
11 | .text-editor-row-message:first-child {
12 | border-top-width: 0;
13 | }
14 |
15 | .text-editor-row-message {
16 | line-height: 1.2;
17 | white-space: nowrap;
18 | display: flex;
19 | align-items: center;
20 | justify-content: flex-start;
21 | margin-top: 2px;
22 | }
23 |
24 | .text-editor-row-message-repeat-count {
25 | margin-right: 0.5em;
26 | }
27 |
--------------------------------------------------------------------------------
/frontend/inspector/source_frame/resourceSourceFrame.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 | .searchable-view {
7 | flex: 1;
8 | }
9 |
10 | .toolbar {
11 | background-color: #eee;
12 | border-top: 1px solid #ccc;
13 | }
14 |
--------------------------------------------------------------------------------
/frontend/inspector/source_frame/xmlTree.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .tree-outline ol {
8 | list-style: none;
9 | padding: 0;
10 | margin: 0;
11 | -webkit-padding-start: 16px;
12 | }
13 |
14 | ol.tree-outline {
15 | -webkit-padding-start: 0;
16 | }
17 |
18 | .tree-outline li {
19 | min-height: 12px;
20 | }
21 |
22 | .tree-outline li.shadow-xml-view-close-tag {
23 | margin-left: -16px;
24 | }
25 |
26 | .shadow-xml-view-tag {
27 | color: rgb(136, 18, 128);
28 | }
29 |
30 | .shadow-xml-view-comment {
31 | color: rgb(35, 110, 37);
32 | }
33 |
34 | .shadow-xml-view-processing-instruction {
35 | color: rgb(35, 110, 37);
36 | }
37 |
38 | .shadow-xml-view-attribute-name {
39 | color: rgb(153, 69, 0);
40 | }
41 |
42 | .shadow-xml-view-attribute-value {
43 | color: rgb(26, 26, 166);
44 | }
45 |
46 | .shadow-xml-view-text {
47 | color: rgb(0, 0, 0);
48 | white-space: pre;
49 | }
50 |
51 | .shadow-xml-view-cdata {
52 | color: rgb(0, 0, 0);
53 | }
54 |
--------------------------------------------------------------------------------
/frontend/inspector/source_frame/xmlView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .shadow-xml-view {
8 | -webkit-user-select: text;
9 | overflow: auto;
10 | padding: 2px 4px;
11 | }
12 |
--------------------------------------------------------------------------------
/frontend/inspector/sources/SnippetsPlugin.js:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | Sources.SnippetsPlugin = class extends Sources.UISourceCodeFrame.Plugin {
6 | /**
7 | * @param {!SourceFrame.SourcesTextEditor} textEditor
8 | * @param {!Workspace.UISourceCode} uiSourceCode
9 | */
10 | constructor(textEditor, uiSourceCode) {
11 | super();
12 | this._textEditor = textEditor;
13 | this._uiSourceCode = uiSourceCode;
14 | }
15 |
16 | /**
17 | * @override
18 | * @param {!Workspace.UISourceCode} uiSourceCode
19 | * @return {boolean}
20 | */
21 | static accepts(uiSourceCode) {
22 | return uiSourceCode.project().type() === Workspace.projectTypes.Snippets;
23 | }
24 |
25 | /**
26 | * @override
27 | * @return {!Array}
28 | */
29 | rightToolbarItems() {
30 | const runSnippet = UI.Toolbar.createActionButtonForId('debugger.run-snippet');
31 | runSnippet.setText(Host.isMac() ? Common.UIString('\u2318+Enter') : Common.UIString('Ctrl+Enter'));
32 |
33 | return [runSnippet];
34 | }
35 | };
36 |
--------------------------------------------------------------------------------
/frontend/inspector/sources/javaScriptBreakpointsSidebarPane.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .breakpoint-entry {
8 | padding: 3px 8px 3px 8px;
9 | min-height: 18px;
10 | line-height: 15px;
11 | border-top: 1px solid #efefef;
12 | }
13 |
14 | .breakpoint-entry [is=dt-checkbox] {
15 | max-width: 100%;
16 | white-space: nowrap;
17 | }
18 |
19 | :not(.breakpoints-list-deactivated) > .breakpoint-entry:hover {
20 | background-color: #eee;
21 | }
22 |
23 | .breakpoint-entry > .source-text {
24 | cursor: pointer;
25 | text-overflow: ellipsis;
26 | overflow: hidden;
27 | white-space: nowrap;
28 | }
29 |
30 | .breakpoints-list-deactivated {
31 | background-color: #eee;
32 | opacity: 0.3;
33 | }
34 |
35 | .breakpoint-hit {
36 | background-color: rgb(255, 255, 194);
37 | }
38 |
39 | :host-context(.-theme-with-dark-background) .breakpoint-hit {
40 | background-color: hsl(46, 98%, 22%);
41 | color: #ccc;
42 | }
43 |
--------------------------------------------------------------------------------
/frontend/inspector/sources/navigatorView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .navigator-toolbar {
8 | border-bottom: 1px solid #ccc;
9 | padding-left: 8px;
10 | }
11 |
--------------------------------------------------------------------------------
/frontend/inspector/sources/scopeChainSidebarPane.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .scope-chain-sidebar-pane-section-header {
8 | flex: auto;
9 | }
10 |
11 | .scope-chain-sidebar-pane-section-subtitle {
12 | float: right;
13 | margin-left: 5px;
14 | max-width: 55%;
15 | text-overflow: ellipsis;
16 | overflow: hidden;
17 | }
18 |
19 | .scope-chain-sidebar-pane-section-title {
20 | font-weight: normal;
21 | word-wrap: break-word;
22 | white-space: normal;
23 | }
24 |
25 | .scope-chain-sidebar-pane-section {
26 | padding: 2px 4px;
27 | flex: none;
28 | }
29 |
--------------------------------------------------------------------------------
/frontend/inspector/sources/serviceWorkersSidebar.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .service-worker {
8 | padding: 5px 5px 5px 8px;
9 | border-bottom: 1px solid #aaa;
10 | display: flex;
11 | align-items: center;
12 | }
13 |
14 | .service-worker:last-child {
15 | border-bottom: none;
16 | }
17 |
18 | .service-worker-scope {
19 | color: #777;
20 | flex: auto;
21 | margin: 5px 5px 0 0;
22 | white-space: nowrap;
23 | overflow: hidden;
24 | text-overflow: ellipsis;
25 | }
26 |
--------------------------------------------------------------------------------
/frontend/inspector/sources/threadsSidebarPane.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .thread-item {
8 | padding: 3px 8px 3px 20px;
9 | position: relative;
10 | min-height: 18px;
11 | line-height: 15px;
12 | display: flex;
13 | flex-wrap: wrap;
14 | }
15 |
16 | .thread-item + .thread-item {
17 | border-top: 1px solid #efefef;
18 | }
19 |
20 | .thread-item:hover {
21 | background-color: #eee;
22 | }
23 |
24 | .thread-item-title,
25 | .thread-item-paused-state {
26 | text-overflow: ellipsis;
27 | overflow: hidden;
28 | white-space: nowrap;
29 | }
30 |
31 | .thread-item-paused-state {
32 | color: #888;
33 | margin-left: auto;
34 | padding: 0 10px 0 10px;
35 | }
36 |
37 | .selected-thread-icon {
38 | display: none;
39 | position: absolute;
40 | top: 5px;
41 | left: 4px;
42 | }
43 |
44 | .thread-item.selected .selected-thread-icon {
45 | display: block;
46 | }
47 |
48 |
--------------------------------------------------------------------------------
/frontend/inspector/sources_test_runner/LiveEditTestRunner.js:
--------------------------------------------------------------------------------
1 | // Copyright 2017 The Chromium Authors. All
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | /**
6 | * @fileoverview using private properties isn't a Closure violation in tests.
7 | * @suppress {accessControls}
8 | */
9 |
10 | SourcesTestRunner.replaceInSource = function(sourceFrame, string, replacement) {
11 | sourceFrame._textEditor.setReadOnly(false);
12 |
13 | for (let i = 0; i < sourceFrame._textEditor.linesCount; ++i) {
14 | const line = sourceFrame._textEditor.line(i);
15 | const column = line.indexOf(string);
16 |
17 | if (column === -1)
18 | continue;
19 |
20 | const range = new TextUtils.TextRange(i, column, i, column + string.length);
21 | sourceFrame._textEditor.editRange(range, replacement);
22 | break;
23 | }
24 | };
25 |
26 | SourcesTestRunner.commitSource = function(sourceFrame) {
27 | sourceFrame.commitEditing();
28 | };
29 |
30 | SourcesTestRunner.undoSourceEditing = function(sourceFrame) {
31 | sourceFrame._textEditor.undo();
32 | };
33 |
--------------------------------------------------------------------------------
/frontend/inspector/sources_test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "test_runner",
4 | "sources",
5 | "workspace",
6 | "source_frame",
7 | "text_utils",
8 | "browser_debugger"
9 | ],
10 | "scripts": [
11 | "SourcesTestRunner.js",
12 | "DebuggerTestRunner.js",
13 | "LiveEditTestRunner.js",
14 | "SearchTestRunner.js",
15 | "EditorTestRunner.js",
16 | "AutocompleteTestRunner.js"
17 | ],
18 | "skip_compilation": [
19 | "DebuggerTestRunner.js",
20 | "LiveEditTestRunner.js",
21 | "SearchTestRunner.js",
22 | "SourcesTestRunner.js",
23 | "EditorTestRunner.js",
24 | "AutocompleteTestRunner.js"
25 | ]
26 | }
27 |
--------------------------------------------------------------------------------
/frontend/inspector/terminal/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "view",
5 | "location": "drawer-sidebar",
6 | "id": "drawer.xterm",
7 | "title": "Terminal",
8 | "order": 10,
9 | "factoryName": "Terminal.TerminalWidget"
10 | }
11 | ],
12 | "dependencies": [
13 | "components",
14 | "ui",
15 | "services"
16 | ],
17 | "experiment": "terminalInDrawer",
18 | "scripts": [
19 | "xterm.js/build/xterm.js",
20 | "xterm.js/addons/fit/fit.js",
21 | "TerminalWidget.js"
22 | ],
23 | "skip_compilation": [
24 | "xterm.js/build/xterm.js",
25 | "xterm.js/addons/fit/fit.js"
26 | ],
27 | "resources": [
28 | "terminal.css",
29 | "xterm.js/build/xterm.css"
30 | ]
31 | }
32 |
--------------------------------------------------------------------------------
/frontend/inspector/terminal/terminal.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .terminal-root {
8 | background-color: #111;
9 | color: #fafafa;
10 | padding: 2px;
11 | -webkit-user-select: text;
12 | white-space: nowrap;
13 | }
14 |
15 | .terminal-error-message {
16 | display: flex;
17 | align-items: center;
18 | padding: 10px;
19 | background-color: rgba(255, 255, 255, 0.8);
20 | justify-content: center;
21 | font-size: 16px;
22 | color: #222;
23 | }
24 |
25 | .terminal-error-message div {
26 | padding-right: 10px;
27 | }
28 |
29 | .terminal-link {
30 | color: inherit;
31 | text-decoration: inherit;
32 | }
33 |
34 | .terminal-link:hover {
35 | text-decoration: underline;
36 | cursor: pointer;
37 | }
38 |
--------------------------------------------------------------------------------
/frontend/inspector/terminal/xterm.js/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014, sourceLair Limited (https://github.com/sourcelair/)
2 | Copyright (c) 2012-2013, Christopher Jeffrey (https://github.com/chjj/)
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy
5 | of this software and associated documentation files (the "Software"), to deal
6 | in the Software without restriction, including without limitation the rights
7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | copies of the Software, and to permit persons to whom the Software is
9 | furnished to do so, subject to the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be included in
12 | all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 | THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/frontend/inspector/terminal/xterm.js/README.chromium:
--------------------------------------------------------------------------------
1 | Name: Xterm.js is a terminal front-end component written in JavaScript that works in the browser.
2 | Short Name: xterm.js
3 | URL: https://github.com/sourcelair/xterm.js
4 | License: MIT
5 | Security Critical: no
6 |
7 | This directory contains Chrome's version of xterm.js with tests, demo and some addons folders removed.
8 |
--------------------------------------------------------------------------------
/frontend/inspector/terminal/xterm.js/addons/fit/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "xterm.fit",
3 | "main": "fit.js",
4 | "private": true
5 | }
6 |
--------------------------------------------------------------------------------
/frontend/inspector/test_runner/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "sdk",
4 | "workspace",
5 | "ui",
6 | "host",
7 | "main"
8 | ],
9 | "scripts": [
10 | "TestRunner.js"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/frontend/inspector/text_editor/autocompleteTooltip.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2018 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 | .autocomplete-tooltip {
7 | pointer-events: none;
8 | margin-left: -3px;
9 | }
10 |
11 | .autocomplete-tooltip > div > * {
12 | padding: 0px 4px;
13 | white-space: nowrap;
14 | vertical-align: middle;
15 | line-height: 20px;
16 | box-shadow: var(--drop-shadow);
17 | background-color: #FFFFFF;
18 | width: fit-content;
19 | }
--------------------------------------------------------------------------------
/frontend/inspector/text_editor/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "@TextUtils.TokenizerFactory",
5 | "className": "TextEditor.CodeMirrorUtils.TokenizerFactory"
6 | },
7 | {
8 | "type": "@UI.TextEditorFactory",
9 | "className": "TextEditor.CodeMirrorTextEditorFactory"
10 | }
11 | ],
12 | "dependencies": [
13 | "ui",
14 | "platform",
15 | "common",
16 | "cm"
17 | ],
18 | "scripts": [
19 | "../cm_web_modes/css.js",
20 | "../cm_web_modes/javascript.js",
21 | "../cm_web_modes/xml.js",
22 | "../cm_web_modes/htmlmixed.js",
23 | "../cm_web_modes/htmlembedded.js",
24 | "CodeMirrorUtils.js",
25 | "TextEditorAutocompleteController.js",
26 | "CodeMirrorTextEditor.js"
27 | ],
28 | "resources": [
29 | "autocompleteTooltip.css",
30 | "cmdevtools.css"
31 | ],
32 | "skip_compilation": [
33 | "acorn/acorn.js",
34 | "../cm_web_modes/css.js",
35 | "../cm_web_modes/javascript.js",
36 | "../cm_web_modes/xml.js",
37 | "../cm_web_modes/htmlmixed.js",
38 | "../cm_web_modes/htmlembedded.js"
39 | ]
40 | }
--------------------------------------------------------------------------------
/frontend/inspector/text_utils/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "platform"
4 | ],
5 | "scripts": [
6 | "Text.js",
7 | "TextUtils.js",
8 | "TextRange.js"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/frontend/inspector/timeline/historyToolbarButton.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | width: 160px;
9 | height: 26px;
10 | text-align: left;
11 | display: flex;
12 | }
13 |
14 | :host([disabled]) {
15 | opacity: .5;
16 | }
17 |
18 | .content {
19 | padding-right: 5px;
20 | overflow: hidden;
21 | text-overflow: ellipsis;
22 | flex: 1 1;
23 | min-width: 35px;
24 | }
25 |
--------------------------------------------------------------------------------
/frontend/inspector/timeline/invalidationsTree.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .header, .children, .content {
8 | min-height: initial;
9 | line-height: initial;
10 | }
11 |
12 | /* This TreeElement is always expanded and has no arrow. */
13 | /* FIXME(crbug.com/475618): Implement this in TreeElement. */
14 | .children li::before {
15 | display: none;
16 | }
17 |
18 | .content {
19 | margin-bottom: 4px;
20 | }
21 |
22 | .content .stack-preview-container {
23 | margin-left: 8px;
24 | }
25 |
26 | .content .node-list {
27 | margin-left: 10px;
28 | }
29 |
--------------------------------------------------------------------------------
/frontend/inspector/timeline/timelineFlamechartPopover.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .timeline-flamechart-popover {
8 | overflow: hidden;
9 | }
10 |
11 | .timeline-flamechart-popover span {
12 | margin-right: 5px;
13 | }
14 |
15 | .timeline-flamechart-popover span.timeline-info-network-time {
16 | color: #009;
17 | }
18 |
19 | .timeline-flamechart-popover span.timeline-info-time {
20 | color: #282;
21 | }
22 |
23 | .timeline-flamechart-popover span.timeline-info-warning {
24 | color: #e44;
25 | }
26 |
27 | .timeline-flamechart-popover span.timeline-info-warning * {
28 | color: inherit;
29 | }
30 |
--------------------------------------------------------------------------------
/frontend/inspector/timeline/timelineHistoryManager.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .drop-down {
8 | padding: 1px;
9 | box-shadow: var(--drop-shadow);
10 | background: white;
11 | }
12 |
13 | .preview-item {
14 | border-color: transparent;
15 | border-style: solid;
16 | border-width: 1px 5px;
17 | padding: 2px 0px;
18 | margin: 2px 1px;
19 | }
20 |
21 | .preview-item.selected {
22 | border-color: var(--selection-bg-color);
23 | }
24 |
25 | .preview-item canvas {
26 | width: 100%;
27 | height: 100%;
28 | }
29 |
30 | .text-details {
31 | font-size: 11px;
32 | padding: 3px;
33 | }
34 |
35 | .text-details span {
36 | flex: 1 0;
37 | padding-left: 8px;
38 | padding-right: 8px;
39 | }
40 |
41 | .text-details .name {
42 | font-weight: bold;
43 | }
44 |
45 | .text-details span.time {
46 | color: #555;
47 | text-align: right;
48 | }
49 |
50 | .screenshot-thumb {
51 | display: flex;
52 | border: 1px solid #ccc;
53 | margin: 2px 4px;
54 | }
55 |
56 | .screenshot-thumb img {
57 | margin: auto;
58 | max-width: 100%;
59 | max-height: 100%;
60 | }
61 |
--------------------------------------------------------------------------------
/frontend/inspector/timeline/timelinePaintProfiler.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .paint-profiler-image-view {
8 | overflow: hidden;
9 | }
10 |
11 | .paint-profiler-image-view .paint-profiler-image-container {
12 | -webkit-transform-origin: 0 0;
13 | }
14 |
15 | .paint-profiler-image-view .paint-profiler-image-container div {
16 | border-color: rgba(100, 100, 100, 0.4);
17 | border-style: solid;
18 | z-index: 100;
19 | position: absolute;
20 | top: 0;
21 | left: 0;
22 | }
23 |
24 | .paint-profiler-image-view img {
25 | border: solid 1px black;
26 | }
27 |
--------------------------------------------------------------------------------
/frontend/inspector/timeline_model/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "sdk"
4 | ],
5 | "scripts": [
6 | "TimelineModelFilter.js",
7 | "TracingLayerTree.js",
8 | "TimelineModel.js",
9 | "TimelineIRModel.js",
10 | "TimelineJSProfile.js",
11 | "TimelineFrameModel.js",
12 | "TimelineProfileTree.js"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/frontend/inspector/toolbox.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/frontend/inspector/toolbox.js:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | Runtime.startApplication('toolbox');
5 |
--------------------------------------------------------------------------------
/frontend/inspector/toolbox.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules": [
3 | { "name": "platform", "type": "autostart" },
4 | { "name": "dom_extension","type": "autostart" },
5 | { "name": "toolbox_bootstrap", "type": "autostart" }
6 | ],
7 | "has_html": true
8 | }
9 |
--------------------------------------------------------------------------------
/frontend/inspector/toolbox_bootstrap/Toolbox.js:
--------------------------------------------------------------------------------
1 | // Copyright 2014 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 | (function() {
5 | /**
6 | * @suppressGlobalPropertiesCheck
7 | */
8 | function toolboxLoaded() {
9 | if (!window.opener)
10 | return;
11 | const app = window.opener['Emulation']['AdvancedApp']['_instance']();
12 | app['toolboxLoaded'](document);
13 | }
14 |
15 | runOnWindowLoad(toolboxLoaded);
16 | })();
17 |
--------------------------------------------------------------------------------
/frontend/inspector/toolbox_bootstrap/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "platform",
4 | "dom_extension"
5 | ],
6 | "scripts": [
7 | "Toolbox.js"
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/TargetCrashedScreen.js:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | UI.TargetCrashedScreen = class extends UI.VBox {
6 | /**
7 | * @param {function()} hideCallback
8 | */
9 | constructor(hideCallback) {
10 | super(true);
11 | this.registerRequiredCSS('ui/targetCrashedScreen.css');
12 | this.contentElement.createChild('div', 'message').textContent =
13 | Common.UIString('DevTools was disconnected from the page.');
14 | this.contentElement.createChild('div', 'message').textContent =
15 | Common.UIString('Once page is reloaded, DevTools will automatically reconnect.');
16 | this._hideCallback = hideCallback;
17 | }
18 |
19 | /**
20 | * @override
21 | */
22 | willHide() {
23 | this._hideCallback.call(null);
24 | }
25 | };
26 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/closeButton.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .close-button {
8 | width: 14px;
9 | height: 14px;
10 | cursor: default;
11 | display: flex;
12 | align-items: center;
13 | justify-content: center;
14 | }
15 |
16 | .hover-icon, .active-icon {
17 | display: none;
18 | }
19 |
20 | .close-button:hover .default-icon, .close-button:active .default-icon {
21 | display: none;
22 | }
23 |
24 | .close-button:hover .hover-icon {
25 | display: block;
26 | }
27 |
28 | .close-button:active .hover-icon {
29 | display: none !important;
30 | }
31 |
32 | .close-button:active .active-icon {
33 | display: block;
34 | }
35 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/confirmDialog.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .widget {
8 | padding: 20px;
9 | }
10 |
11 | .message, .button {
12 | font-size: larger;
13 | white-space: pre;
14 | margin: 5px;
15 | }
16 |
17 | .button {
18 | text-align: center;
19 | margin-top: 10px;
20 | }
21 |
22 | .button button {
23 | min-width: 80px;
24 | }
25 |
26 | .reason {
27 | color: #8b0000;
28 | }
29 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/dialog.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .widget {
8 | box-shadow: var(--drop-shadow);
9 | background: white;
10 | justify-content: flex-start;
11 | align-items: stretch;
12 | display: flex;
13 | }
14 |
15 | .dialog-close-button {
16 | position: absolute;
17 | right: 9px;
18 | top: 9px;
19 | z-index: 1;
20 | }
--------------------------------------------------------------------------------
/frontend/inspector/ui/dropTarget.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | position: absolute;
9 | top: 0;
10 | bottom: 0;
11 | left: 0;
12 | right: 0;
13 | display: flex;
14 | background-color: rgba(255,255,255,0.8);
15 | z-index: 1000;
16 | }
17 |
18 | .drop-target-message {
19 | flex: auto;
20 | font-size: 30px;
21 | color: #999;
22 | display: flex;
23 | justify-content: center;
24 | align-items: center;
25 | margin: 20px;
26 | border: 4px dashed #ddd;
27 | pointer-events: none;
28 | }
29 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/emptyWidget.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .empty-view {
8 | color: hsla(0, 0%, 65%, 1);
9 | padding: 30px;
10 | display: flex;
11 | align-items: center;
12 | flex-direction: column;
13 | min-width: 70px;
14 | }
15 |
16 | .empty-view-scroller {
17 | justify-content: center;
18 | overflow: auto;
19 | }
20 |
21 | .empty-view p {
22 | white-space: initial;
23 | line-height: 18px;
24 | max-width: 300px;
25 | }
26 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/glassPane.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | position: absolute !important;
9 | top: 0;
10 | bottom: 0;
11 | left: 0;
12 | right: 0;
13 | overflow: hidden;
14 | contain: strict;
15 | background-color: transparent;
16 | }
17 |
18 | :host-context(.dimmed-pane) {
19 | background-color: rgba(255, 255, 255, 0.5);
20 | }
21 |
22 | :host-context(.no-pointer-events) {
23 | pointer-events: none;
24 | }
25 |
26 | .widget {
27 | display: flex;
28 | background-color: transparent;
29 | pointer-events: auto;
30 | flex: none;
31 | }
32 |
33 | .no-pointer-events {
34 | pointer-events: none;
35 | }
36 |
37 | .arrow-top {
38 | margin-top: -19px;
39 | margin-left: -9px;
40 | }
41 |
42 | .arrow-bottom {
43 | margin-left: -9px;
44 | }
45 |
46 | .arrow-left {
47 | margin-left: -19px;
48 | margin-top: -9px;
49 | }
50 |
51 | .arrow-right {
52 | margin-top: -9px;
53 | }
54 |
55 | .arrow-none {
56 | display: none;
57 | }
58 |
59 | :host-context(.-theme-with-dark-background) .arrow {
60 | -webkit-filter: invert(80%);
61 | }
62 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/inlineButton.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | :host {
8 | display: inline-block;
9 | border: 1px solid #ddd;
10 | position: relative;
11 | top: 7px;
12 | margin: 2px;
13 | background-color: var(--toolbar-bg-color);
14 | }
15 |
16 | :host > * {
17 | position: relative;
18 | left: -2px;
19 | width: 28px;
20 | height: 26px;
21 | }
--------------------------------------------------------------------------------
/frontend/inspector/ui/inspectorViewTabbedPane.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .tabbed-pane-header-tab,
8 | .tabbed-pane-header-tab.selected {
9 | height: 26px;
10 | margin: 0;
11 | border: none;
12 | border-left: 2px solid transparent;
13 | border-right: 2px solid transparent;
14 | }
15 |
16 | .tabbed-pane-header-tab.selected {
17 | border-width: 0 2px 0 2px;
18 | }
19 |
20 | .tabbed-pane-header-contents {
21 | margin-left: 0;
22 | }
23 |
24 | .tabbed-pane-left-toolbar {
25 | margin-right: 0 !important;
26 | }
27 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/popover.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .widget {
8 | display: flex;
9 | background: white;
10 | box-shadow: var(--drop-shadow);
11 | border-radius: 2px;
12 | overflow: auto;
13 | -webkit-user-select: text;
14 | line-height: 11px;
15 | }
16 |
17 | .widget.has-padding {
18 | padding: 6px;
19 | }
20 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/progressIndicator.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .progress-indicator-shadow-stop-button {
8 | background-color: rgb(216, 0, 0) !important;
9 | border: 0;
10 | width: 10px;
11 | height: 12px;
12 | border-radius: 2px;
13 | }
14 |
15 | .progress-indicator-shadow-container {
16 | display: flex;
17 | flex: 1 0 auto;
18 | align-items: center;
19 | }
20 |
21 | .progress-indicator-shadow-container .title {
22 | text-overflow: ellipsis;
23 | overflow: hidden;
24 | max-width: 150px;
25 | margin-right: 2px;
26 | color: #777;
27 | }
28 |
29 | .progress-indicator-shadow-container progress {
30 | flex: auto;
31 | margin: 0 2px;
32 | width: 100px
33 | }
34 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/radioButton.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2014 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | ::content .dt-radio-button {
8 | height: 17px;
9 | width: 17px;
10 | min-width: 17px;
11 | border: 1px solid rgb(165, 165, 165);
12 | background-image: linear-gradient(to bottom, rgb(252, 252, 252), rgb(223, 223, 223));
13 | border-radius: 8px;
14 | -webkit-appearance: none;
15 | vertical-align: middle;
16 | margin: 0 5px 5px 0;
17 | }
18 |
19 | ::content .dt-radio-button:active:not(:disabled) {
20 | background-image: linear-gradient(to bottom, rgb(194, 194, 194), rgb(239, 239, 239));
21 | }
22 |
23 | ::content .dt-radio-button:checked {
24 | background: url(Images/radioDot.png) center no-repeat,
25 | linear-gradient(to bottom, rgb(252, 252, 252), rgb(223, 223, 223));
26 | }
27 |
28 | ::content .dt-radio-button:checked:active {
29 | background: url(Images/radioDot.png) center no-repeat,
30 | linear-gradient(to bottom, rgb(194, 194, 194), rgb(239, 239, 239));
31 | }
32 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/remoteDebuggingTerminatedScreen.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .widget {
8 | padding: 20px;
9 | }
10 |
11 | .message, .button {
12 | font-size: larger;
13 | white-space: pre;
14 | margin: 5px;
15 | }
16 |
17 | .button {
18 | text-align: center;
19 | margin-top: 10px;
20 | }
21 |
22 | .reason {
23 | color: #8b0000;
24 | }
25 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/rootView.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .root-view {
8 | background-color: white;
9 | overflow: hidden;
10 | position: absolute !important;
11 | left: 0;
12 | top: 0;
13 | right: 0;
14 | bottom: 0;
15 | }
16 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/slider.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .dt-range-input {
8 | -webkit-appearance: none;
9 | margin: 0;
10 | padding: 0;
11 | height: 10px;
12 | width: 88px;
13 | outline: none;
14 | background: none;
15 | }
16 |
17 | .dt-range-input::-webkit-slider-thumb, -theme-preserve {
18 | -webkit-appearance: none;
19 | margin: 0;
20 | padding: 0;
21 | border: 0;
22 | width: 12px;
23 | height: 12px;
24 | margin-top: -5px;
25 | border-radius: 50%;
26 | background-color: #4285F4;
27 | }
28 |
29 | .dt-range-input::-webkit-slider-runnable-track {
30 | -webkit-appearance: none;
31 | margin: 0;
32 | padding: 0;
33 | width: 100%;
34 | height: 2px;
35 | background-color: rgba(0, 0, 0, 0.26);
36 | }
37 |
38 | .dt-range-input:focus::-webkit-slider-thumb, -theme-preserve {
39 | box-shadow: 0 0 0 2px rgba(66, 133, 244, 0.4);
40 | }
41 |
42 | .dt-range-input:disabled::-webkit-slider-thumb {
43 | background-color: #bdbdbd;
44 | }
45 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/smallBubble.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | div {
8 | display: inline-block;
9 | height: 14px;
10 | vertical-align: middle;
11 | white-space: nowrap;
12 | padding: 1px 4px;
13 | text-align: left;
14 | font-size: 11px;
15 | line-height: normal;
16 | font-weight: bold;
17 | text-shadow: none;
18 | color: white;
19 | margin-top: -1px;
20 | border-radius: 7px;
21 | }
22 |
23 | div.verbose {
24 | background-color: rgb(0, 0, 255);
25 | }
26 |
27 | div.info {
28 | background-color: rgb(128, 151, 189);
29 | }
30 |
31 | div.warning {
32 | background-color: rgb(232, 164, 0);
33 | }
34 |
35 | div.error {
36 | background-color: rgb(216, 35, 35);
37 | }
38 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/softDropDown.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .item.disabled {
8 | opacity: 0.5;
9 | }
10 |
11 | .item-list {
12 | background-color: white;
13 | box-shadow: var(--drop-shadow);
14 | overflow-x: hidden;
15 | overflow-y: auto;
16 | width: 100%;
17 | }
18 |
19 | .item.highlighted {
20 | color: var(--selection-fg-color);
21 | background-color: var(--selection-bg-color);
22 | }
23 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/softDropDownButton.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 | :host {
7 | height: 26px;
8 | text-align: left;
9 | position: relative;
10 | border: none;
11 | background: none;
12 | }
13 |
14 | :host([disabled]) {
15 | opacity: .5;
16 | }
17 |
18 | :host .title {
19 | padding-right: 5px;
20 | width: 120px;
21 | overflow: hidden;
22 | text-overflow: ellipsis;
23 | }
24 |
25 | :host([data-keyboard-focus="true"]:focus)::before {
26 | content: "";
27 | position: absolute;
28 | top: 2px;
29 | left: 2px;
30 | right: 2px;
31 | bottom: 2px;
32 | border-radius: 2px;
33 | background: rgba(0, 0, 0, 0.08);
34 | }
35 |
--------------------------------------------------------------------------------
/frontend/inspector/ui/targetCrashedScreen.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 | * Use of this source code is governed by a BSD-style license that can be
4 | * found in the LICENSE file.
5 | */
6 |
7 | .widget {
8 | padding: 25px;
9 | }
10 |
11 | .message {
12 | font-size: larger;
13 | white-space: pre;
14 | margin: 5px;
15 | }
16 |
--------------------------------------------------------------------------------
/frontend/inspector/worker_app.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/frontend/inspector/worker_app.js:
--------------------------------------------------------------------------------
1 | // Copyright 2018 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | Runtime.startApplication('worker_app');
6 |
--------------------------------------------------------------------------------
/frontend/inspector/worker_app.json:
--------------------------------------------------------------------------------
1 | {
2 | "modules" : [
3 | { "name": "mobile_throttling", "type": "autostart" },
4 | { "name": "worker_main", "type": "autostart" },
5 | { "name": "browser_components", "type": "autostart" },
6 |
7 | { "name": "browser_console" },
8 | { "name": "browser_debugger" },
9 | { "name": "cookie_table" },
10 | { "name": "elements" },
11 | { "name": "har_importer" },
12 | { "name": "help" },
13 | { "name": "layer_viewer" },
14 | { "name": "network" },
15 | { "name": "product_registry_impl", "type": "remote" },
16 | { "name": "resources" },
17 | { "name": "timeline" },
18 | { "name": "timeline_model" }
19 | ],
20 | "extends": "shell",
21 | "has_html": true
22 | }
23 |
--------------------------------------------------------------------------------
/frontend/inspector/worker_main/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "extensions": [
3 | {
4 | "type": "early-initialization",
5 | "className": "WorkerMain.WorkerMain"
6 | }
7 | ],
8 | "dependencies": [
9 | "components",
10 | "mobile_throttling"
11 | ],
12 | "scripts": [
13 | "WorkerMain.js"
14 | ]
15 | }
16 |
--------------------------------------------------------------------------------
/frontend/inspector/worker_service/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": [
3 | "ServiceDispatcher.js"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/frontend/inspector/workspace/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "common",
4 | "host",
5 | "platform"
6 | ],
7 | "scripts": [
8 | "FileManager.js",
9 | "UISourceCode.js",
10 | "Workspace.js"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/frontend/inspector/workspace_diff/module.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": [
3 | "workspace",
4 | "diff",
5 | "persistence"
6 | ],
7 | "scripts": [
8 | "WorkspaceDiff.js"
9 | ]
10 | }
--------------------------------------------------------------------------------
/frontend/lib/utils/toast.js:
--------------------------------------------------------------------------------
1 | function toast(text, delayed, theme) {
2 | let noticeCtn = document.createElement('div')
3 | noticeCtn.className = "widget-notice " + (theme || '')
4 | noticeCtn.innerHTML = '' + text + ''
5 | document.body.appendChild(noticeCtn)
6 | if (delayed > 0) {
7 | setTimeout(function () {
8 | if (noticeCtn) {
9 | noticeCtn.className += ' disapear'
10 | }
11 | setTimeout(function () {
12 | noticeCtn&&document.body.removeChild(noticeCtn)
13 | noticeCtn=null
14 | }, 500)
15 | }, delayed)
16 | }
17 | noticeCtn.onclick = function () {
18 | if (noticeCtn) {
19 | noticeCtn.className += ' disapear'
20 | }
21 | setTimeout(function () {
22 | noticeCtn&&document.body.removeChild(noticeCtn)
23 | noticeCtn=null
24 | }, 500)
25 | }
26 | }
--------------------------------------------------------------------------------
/frontend/runtime.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Weex Devtool - JS Debugger
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/scripts/update.js:
--------------------------------------------------------------------------------
1 | const fse = require('fs-extra');
2 | const path = require('path');
3 | const package = require('../package.json');
4 |
5 | const localFilePath = path.join(__dirname, '../frontend/lib/i18n/locale.js');
6 | const localFileContent = fse.readFileSync(localFilePath).toString();
7 |
8 | const versionReg = /\"VERSION\":\".+\"/ig;
9 |
10 | fse.writeFileSync(localFilePath, localFileContent.replace(versionReg, `"VERSION":"weex devtool ${package.version}"`));
11 |
12 | fse.copySync(path.resolve('src/worker/'), path.resolve('lib/worker/'))
13 |
14 | const binFilePath = path.join(__dirname, '../bin/weex-devtool.js');
15 | const binFileContent = fse.readFileSync(binFilePath).toString();
16 | const sourceReg = /\.\.\/src/ig;
17 |
18 | fse.writeFileSync(binFilePath, binFileContent.replace(sourceReg, '../lib'));
19 |
--------------------------------------------------------------------------------
/src/config/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | BUNDLE_DIRECTORY: "weex",
3 | REMOTE_DEBUG_PORT: "9222",
4 | ENABLE_HEADLESS: true
5 | };
6 |
--------------------------------------------------------------------------------
/src/link/constructors/enum.js:
--------------------------------------------------------------------------------
1 | exports.CHANNEL_MODE = {
2 | P2P: 0,
3 | P2P_STRICT: 1,
4 | N2N: 2
5 | };
6 |
--------------------------------------------------------------------------------
/src/link/handlers/runtime_proxy.js:
--------------------------------------------------------------------------------
1 | const mlink = require("../index");
2 | const Router = mlink.Router;
3 | const debuggerRouter = Router.get("debugger");
4 | debuggerRouter
5 | .registerHandler(function(message) {
6 | if (
7 | message.payload.method === "Debugger.scriptParsed" ||
8 | (message.payload.result && message.payload.result.frameTree) ||
9 | (message.payload.params &&
10 | /\/syncCallNative/.test(message.payload.params.message))
11 | ) {
12 | message.discard();
13 | }
14 | message.to("proxy.inspector");
15 | })
16 | .at("runtime.proxy");
17 |
--------------------------------------------------------------------------------
/src/link/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | Router: require("./constructors/router"),
3 | Enum: require("./constructors/enum"),
4 | Filter: require("./constructors/filter"),
5 | Hub: require("./constructors/hub"),
6 | Terminal: require("./constructors/terminal"),
7 | Handler: require("./constructors/handler"),
8 | Channel: require("./constructors/channel"),
9 | load: require("./tools/loader")
10 | };
11 |
--------------------------------------------------------------------------------
/src/link/setup.js:
--------------------------------------------------------------------------------
1 | const mlink = require("./index");
2 | const Router = mlink.Router;
3 | const Hub = mlink.Hub;
4 | const debuggerRouter = new Router("debugger");
5 | const nativeProxyHub = new Hub("proxy.native");
6 | const debuggerHub = new Hub("page.debugger");
7 | const inspectorHub = new Hub("proxy.inspector");
8 | const runtimeWorkerHub = new Hub("runtime.worker");
9 | const entryHub = new Hub("page.entry");
10 | const runtimeProxyHub = new Hub("runtime.proxy");
11 | const syncNativeHub = new Hub("sync.native");
12 | const syncV8Hub = new Hub("sync.v8");
13 |
14 | const setup = () => {
15 | debuggerRouter.link(nativeProxyHub);
16 | debuggerRouter.link(debuggerHub);
17 | debuggerRouter.link(inspectorHub);
18 | debuggerRouter.link(entryHub);
19 | debuggerRouter.link(syncNativeHub);
20 | debuggerRouter.link(syncV8Hub);
21 | debuggerRouter.link(runtimeWorkerHub);
22 | debuggerRouter.link(runtimeProxyHub);
23 | mlink.load(__dirname);
24 | };
25 | module.exports = {
26 | setup
27 | };
28 |
--------------------------------------------------------------------------------
/src/link/tools/index.js:
--------------------------------------------------------------------------------
1 | exports.objectGet = function(object, prop, defaultValue) {
2 | const props = prop.split(".");
3 | let p = props.shift();
4 | let cur = object;
5 | while (p) {
6 | cur = cur[p];
7 | if (cur === undefined || cur === null) break;
8 | p = props.shift();
9 | }
10 | return cur || defaultValue;
11 | };
12 | exports.objectLocate = function objectLocate(object, prop) {
13 | if (!prop) return object;
14 | const props = prop.split(".");
15 | let p = props.shift();
16 | let cur = object;
17 | while (p) {
18 | if (cur[p] === undefined) {
19 | cur[p] = {};
20 | }
21 | cur = cur[p];
22 | p = props.shift();
23 | }
24 | return cur;
25 | };
26 | exports.clearObjectAt = function(object, prop) {
27 | const props = prop.split(".");
28 | let p = props.shift();
29 | let cur = object;
30 | while (p) {
31 | if (props.length === 0) {
32 | cur[p] = {};
33 | } else {
34 | cur = cur[p];
35 | }
36 |
37 | if (!cur) break;
38 | p = props.shift();
39 | }
40 | return cur;
41 | };
42 | exports.matchHubId = function(base, target) {
43 | return (
44 | base === target ||
45 | (target.indexOf(base) === 0 && target.charAt(base.length) === ".")
46 | );
47 | };
48 |
--------------------------------------------------------------------------------
/src/link/tools/loader.js:
--------------------------------------------------------------------------------
1 | const fs = require("fs");
2 | const path = require("path");
3 | const Router = require("../constructors/router");
4 | const Hub = require("../constructors/hub");
5 | module.exports = function loader(dir, config = {}) {
6 | require(path.join(dir, config.linkPath || "setup.js"));
7 | const handlerPath = path.join(dir, config.handlerPath || "handlers");
8 | fs.readdirSync(handlerPath).forEach(file => {
9 | require(path.join(handlerPath, file));
10 | });
11 | Router.check();
12 | Hub.check();
13 | };
14 |
--------------------------------------------------------------------------------
/src/server/headless.js:
--------------------------------------------------------------------------------
1 | const puppeteer = require('puppeteer')
2 | let page
3 | let browser = null
4 | const { logger } = require('../util')
5 |
6 | exports.launchHeadless = async (host, remotePort) => {
7 | browser = await puppeteer.launch({
8 | args: [`--remote-debugging-port=${remotePort}`, `--disable-gpu`],
9 | })
10 | logger.verbose(`Headless has been launched`)
11 | page = await browser.newPage()
12 | await page.setUserAgent(
13 | '5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
14 | )
15 | await page.goto(`http://${host}/runtime.html`)
16 | logger.verbose(`Headless page goto http://${host}/runtime.html`)
17 | }
18 |
19 | exports.closeHeadless = async () => {
20 | if (page) {
21 | await page.close()
22 | }
23 | if (browser) {
24 | await browser.close()
25 | }
26 | browser = null
27 | logger.verbose(`Cloased headless`)
28 | }
29 |
--------------------------------------------------------------------------------
/src/server/index.js:
--------------------------------------------------------------------------------
1 | const path = require("path");
2 | const Koa = require("koa");
3 | const serve = require("koa-static");
4 | const Websockify = require("koa-websocket");
5 | const bodyParser = require("koa-bodyparser");
6 | const WsRouter = require("./router/websocket");
7 | const HttpRouter = require("./router/http");
8 | const app = Websockify(new Koa());
9 | const rootPath = path.join(__dirname, "../../frontend/");
10 | const { setup } = require("../link/setup");
11 | const { logger } = require("../util");
12 |
13 | exports.start = (port, cb) => {
14 | setup();
15 | app.use(bodyParser());
16 | app.ws.use(WsRouter.routes()).use(WsRouter.allowedMethods());
17 | app.use(HttpRouter.routes());
18 | app.use(serve(rootPath));
19 | app.on("error", (err, ctx) => {
20 | logger.error(err);
21 | });
22 |
23 | app.listen(port, cb);
24 | };
25 |
--------------------------------------------------------------------------------
/src/util/Hosts.js:
--------------------------------------------------------------------------------
1 | const HostsParser = require("parse-hosts");
2 | const os = require("os");
3 | const findRealHost = function(domain) {
4 | const hosts = HostsParser.get();
5 | for (const key in hosts) {
6 | if (hosts.hasOwnProperty(key)) {
7 | const domains = hosts[key];
8 | if (domains.indexOf(domain) !== -1) {
9 | return key;
10 | }
11 | }
12 | }
13 | return domain;
14 | };
15 | const isValidLocalHost = function(host) {
16 | const ipMap = os.networkInterfaces();
17 | let flag = false;
18 | for (const name in ipMap) {
19 | if (ipMap.hasOwnProperty(name)) {
20 | const ips = ipMap[name];
21 | ips.forEach(function(ip) {
22 | if (host === ip.address) {
23 | flag = true;
24 | return true;
25 | }
26 | });
27 | }
28 | }
29 | return flag;
30 | };
31 |
32 | module.exports = {
33 | findRealHost,
34 | isValidLocalHost
35 | };
36 |
--------------------------------------------------------------------------------
/src/util/crypto.js:
--------------------------------------------------------------------------------
1 | const crypto = require("crypto");
2 |
3 | const md5 = function(str) {
4 | const md5 = crypto.createHash("md5");
5 | md5.update(str);
6 | return md5.digest("hex");
7 | };
8 |
9 | module.exports = {
10 | md5
11 | };
12 |
--------------------------------------------------------------------------------
/src/util/hosts.js:
--------------------------------------------------------------------------------
1 | const HostsParser = require("parse-hosts");
2 | const os = require("os");
3 | const findRealHost = function(domain) {
4 | const hosts = HostsParser.get();
5 | for (const key in hosts) {
6 | if (hosts.hasOwnProperty(key)) {
7 | const domains = hosts[key];
8 | if (domains.indexOf(domain) !== -1) {
9 | return key;
10 | }
11 | }
12 | }
13 | return domain;
14 | };
15 | const isValidLocalHost = function(host) {
16 | const ipMap = os.networkInterfaces();
17 | let flag = false;
18 | for (const name in ipMap) {
19 | if (ipMap.hasOwnProperty(name)) {
20 | const ips = ipMap[name];
21 | ips.forEach(function(ip) {
22 | if (host === ip.address) {
23 | flag = true;
24 | return true;
25 | }
26 | });
27 | }
28 | }
29 | return flag;
30 | };
31 |
32 | module.exports = {
33 | findRealHost,
34 | isValidLocalHost
35 | };
36 |
--------------------------------------------------------------------------------
/src/util/index.js:
--------------------------------------------------------------------------------
1 | const util = require("./util");
2 | const crypto = require("./crypto");
3 | const env = require("./env");
4 | const launcher = require("./launcher");
5 | const logger = require("./logger");
6 | const request = require("./request");
7 | const wrapper = require("./wrapper");
8 | const hosts = require("./hosts");
9 |
10 | module.exports = {
11 | util,
12 | crypto,
13 | env,
14 | launcher,
15 | logger,
16 | request,
17 | wrapper,
18 | hosts
19 | };
20 |
--------------------------------------------------------------------------------
/src/util/launcher.js:
--------------------------------------------------------------------------------
1 | const chromeOpn = require("chrome-opn");
2 |
3 | const pendingList = [];
4 | let pending = false;
5 | const launchChrome = function(url, remoteDebugPort, wait, callback) {
6 | if (!pending) {
7 | pending = true;
8 | url = url.replace(/[&*]/g, "\\&");
9 | const args = remoteDebugPort > 0 ? ["-remote-debugging-port=" + remoteDebugPort] : null;
10 | chromeOpn(url, args, !!wait).then(cp => {
11 | cp.once("close", e => {
12 | callback && callback(null);
13 | if (pendingList.length > 0) {
14 | pending = false;
15 | pendingList.shift()();
16 | }
17 | });
18 | cp.once("error", err => {
19 | pending = false;
20 | callback && callback(err);
21 | });
22 | });
23 | } else {
24 | pendingList.push(function() {
25 | launchChrome(url, remoteDebugPort, wait, callback);
26 | });
27 | }
28 | };
29 | const launchNewChrome = function(url, args) {};
30 |
31 | module.exports = {
32 | launchNewChrome,
33 | launchChrome
34 | };
35 |
--------------------------------------------------------------------------------
/src/util/request.js:
--------------------------------------------------------------------------------
1 | const protocols = {
2 | "http:": require("http"),
3 | "https:": require("https")
4 | };
5 | const URL = require("url");
6 | const getRemote = function getRemote(url) {
7 | return new Promise(function(resolve, reject) {
8 | const urlObj = URL.parse(url);
9 | (protocols[urlObj.protocol] || protocols["http:"])
10 | .get(
11 | {
12 | hostname: urlObj.hostname,
13 | port: urlObj.port,
14 | path: urlObj.path,
15 | method: "GET",
16 | headers: {
17 | "User-Agent": "Weex/1.0.0"
18 | }
19 | },
20 | function(res) {
21 | let chunks = [];
22 | res.on("data", function(chunk) {
23 | chunks.push(chunk);
24 | });
25 | res.on("end", function() {
26 | resolve(Buffer.concat(chunks).toString());
27 | chunks = null;
28 | });
29 | }
30 | )
31 | .on("error", function(e) {
32 | reject(e);
33 | });
34 | });
35 | };
36 |
37 | module.exports = {
38 | getRemote
39 | };
40 |
--------------------------------------------------------------------------------
/src/util/util.js:
--------------------------------------------------------------------------------
1 | const URL = require("url");
2 | const queryParser = require("querystring");
3 |
4 | let connectUrl;
5 |
6 | const normalize = remoteurl => {
7 | const urlObj = URL.parse(remoteurl);
8 | if (urlObj.query) {
9 | urlObj.query = queryParser.stringify(queryParser.parse(urlObj.query));
10 | urlObj.search = "?" + urlObj.query;
11 | }
12 | return urlObj.format();
13 | };
14 |
15 | const getConnectUrl = channelId => {
16 | return connectUrl.replace("{channelId}", channelId);
17 | };
18 |
19 | const setConnectUrl = url => {
20 | connectUrl = url;
21 | };
22 |
23 | module.exports = {
24 | normalize,
25 | getConnectUrl,
26 | setConnectUrl
27 | };
28 |
--------------------------------------------------------------------------------
/test/api.js:
--------------------------------------------------------------------------------
1 | var devtool=require('../index')
2 | var ip=require('ip')
3 | devtool.start('',{ip:ip.address(),port:'8088'})
--------------------------------------------------------------------------------