├── .gitattributes ├── Build.bat ├── CMakeLists.txt ├── MainDlg.cpp ├── MainDlg.h ├── SMiniblink.cpp ├── SMiniblink.h ├── SouiInit.cpp ├── SouiInit.h ├── SweepingEdge.cpp ├── SweepingEdge.pro ├── SweepingEdge.rc ├── license.txt ├── mblib ├── front_end │ ├── Images │ │ ├── applicationCache.png │ │ ├── breakpoint.png │ │ ├── breakpointConditional.png │ │ ├── breakpointConditional_2x.png │ │ ├── breakpoint_2x.png │ │ ├── checker.png │ │ ├── chromeDisabledSelect.png │ │ ├── chromeDisabledSelect_2x.png │ │ ├── chromeLeft.png │ │ ├── chromeMiddle.png │ │ ├── chromeRight.png │ │ ├── chromeSelect.png │ │ ├── chromeSelect_2x.png │ │ ├── cookie.png │ │ ├── database.png │ │ ├── databaseTable.png │ │ ├── deleteIcon.png │ │ ├── domain.png │ │ ├── errorWave.png │ │ ├── errorWave_2x.png │ │ ├── fileSystem.png │ │ ├── forward.png │ │ ├── frame.png │ │ ├── graphLabelCalloutLeft.png │ │ ├── graphLabelCalloutRight.png │ │ ├── indexedDB.png │ │ ├── indexedDBIndex.png │ │ ├── indexedDBObjectStore.png │ │ ├── localStorage.png │ │ ├── navigationControls.png │ │ ├── navigationControls_2x.png │ │ ├── notifications.svg │ │ ├── paneAddButtons.png │ │ ├── paneFilterButtons.png │ │ ├── paneRefreshButtons.png │ │ ├── popoverArrows.png │ │ ├── profileGroupIcon.png │ │ ├── profileIcon.png │ │ ├── profileSmallIcon.png │ │ ├── radioDot.png │ │ ├── resourceCSSIcon.png │ │ ├── resourceDocumentIcon.png │ │ ├── resourceDocumentIconSmall.png │ │ ├── resourceJSIcon.png │ │ ├── resourcePlainIcon.png │ │ ├── resourcePlainIconSmall.png │ │ ├── resourcesTimeGraphIcon.png │ │ ├── responsiveDesign.png │ │ ├── responsiveDesign_2x.png │ │ ├── searchNext.png │ │ ├── searchPrev.png │ │ ├── securityStateHttp.png │ │ ├── securityStateHttp_2x.png │ │ ├── securityStateInsecure.png │ │ ├── securityStateInsecure_2x.png │ │ ├── securityStateSecure.png │ │ ├── securityStateSecure_2x.png │ │ ├── securityStateWarning.png │ │ ├── securityStateWarning_2x.png │ │ ├── serviceWorker.svg │ │ ├── sessionStorage.png │ │ ├── settingsListRemove.png │ │ ├── settingsListRemove_2x.png │ │ ├── speech.png │ │ ├── spinner.svg │ │ ├── src │ │ │ ├── breakpoint.svg │ │ │ ├── breakpointConditional.svg │ │ │ ├── errorWave.svg │ │ │ ├── optimize_png.hashes │ │ │ ├── responsiveDesign.svg │ │ │ ├── settingsListRemove.svg │ │ │ ├── svg2png.hashes │ │ │ └── toolbarButtonGlyphs.svg │ │ ├── statusbarButtonGlyphs.png │ │ ├── statusbarButtonGlyphs_2x.png │ │ ├── thumbActiveHoriz.png │ │ ├── thumbActiveVert.png │ │ ├── thumbHoriz.png │ │ ├── thumbHoverHoriz.png │ │ ├── thumbHoverVert.png │ │ ├── thumbVert.png │ │ ├── toolbarButtonGlyphs.png │ │ ├── toolbarButtonGlyphs_2x.png │ │ ├── toolbarItemSelected.png │ │ ├── toolbarResizerHorizontal.png │ │ ├── toolbarResizerVertical.png │ │ ├── touchCursor.png │ │ ├── touchCursor_2x.png │ │ ├── transformControls.png │ │ ├── transformControls_2x.png │ │ └── updateServiceWorker.svg │ ├── InspectorBackendCommands.js │ ├── OWNERS │ ├── Runtime.js │ ├── SupportedCSSProperties.js │ ├── accessibility │ │ ├── AccessibilityModel.js │ │ ├── AccessibilitySidebarView.js │ │ ├── AccessibilityStrings.js │ │ ├── accessibilityNode.css │ │ └── module.json │ ├── accessibility_module.js │ ├── acorn │ │ ├── LICENSE │ │ └── acorn.js │ ├── animation │ │ ├── AnimationControlPane.js │ │ ├── AnimationModel.js │ │ ├── AnimationTimeline.js │ │ ├── animationTimeline.css │ │ └── module.json │ ├── animation_module.js │ ├── audits │ │ ├── AuditCategories.js │ │ ├── AuditCategory.js │ │ ├── AuditController.js │ │ ├── AuditExtensionCategory.js │ │ ├── AuditFormatters.js │ │ ├── AuditLauncherView.js │ │ ├── AuditResultView.js │ │ ├── AuditRules.js │ │ ├── AuditsPanel.js │ │ ├── auditResultTree.css │ │ ├── auditsPanel.css │ │ └── module.json │ ├── audits_module.js │ ├── bindings │ │ ├── BlackboxSupport.js │ │ ├── BreakpointManager.js │ │ ├── CSSWorkspaceBinding.js │ │ ├── CompilerScriptMapping.js │ │ ├── ContentProviderBasedProjectDelegate.js │ │ ├── ContentScriptProjectDecorator.js │ │ ├── DebuggerWorkspaceBinding.js │ │ ├── DefaultScriptMapping.js │ │ ├── FileSystemWorkspaceBinding.js │ │ ├── FileUtils.js │ │ ├── Linkifier.js │ │ ├── LiveLocation.js │ │ ├── NetworkMapping.js │ │ ├── NetworkProject.js │ │ ├── PresentationConsoleMessageHelper.js │ │ ├── ResourceScriptMapping.js │ │ ├── ResourceUtils.js │ │ ├── SASSSourceMapping.js │ │ ├── StylesSourceMapping.js │ │ ├── TempFile.js │ │ ├── WorkspaceController.js │ │ └── module.json │ ├── cm │ │ ├── LICENSE │ │ ├── LICENSE_python │ │ ├── PRESUBMIT.py │ │ ├── activeline.js │ │ ├── closebrackets.js │ │ ├── codemirror.css │ │ ├── codemirror.js │ │ ├── comment.js │ │ ├── css.js │ │ ├── headlesscodemirror.js │ │ ├── htmlembedded.js │ │ ├── htmlmixed.js │ │ ├── javascript.js │ │ ├── markselection.js │ │ ├── matchbrackets.js │ │ ├── overlay.js │ │ └── xml.js │ ├── cm_modes │ │ ├── DefaultCodeMirrorMimeMode.js │ │ ├── LICENSE │ │ ├── PRESUBMIT.py │ │ ├── clike.js │ │ ├── clojure.js │ │ ├── coffeescript.js │ │ ├── livescript.js │ │ ├── module.json │ │ ├── php.js │ │ ├── python.js │ │ └── shell.js │ ├── cm_modes_module.js │ ├── common │ │ ├── Color.js │ │ ├── Console.js │ │ ├── ContentProvider.js │ │ ├── Geometry.js │ │ ├── ModuleExtensionInterfaces.js │ │ ├── NotificationService.js │ │ ├── Object.js │ │ ├── OutputStream.js │ │ ├── ParsedURL.js │ │ ├── Progress.js │ │ ├── ResourceType.js │ │ ├── Settings.js │ │ ├── StaticContentProvider.js │ │ ├── TestBase.js │ │ ├── TextDictionary.js │ │ ├── TextRange.js │ │ ├── TextUtils.js │ │ ├── Throttler.js │ │ ├── UIString.js │ │ ├── WebInspector.js │ │ ├── WorkerRuntime.js │ │ └── module.json │ ├── components │ │ ├── BreakpointsSidebarPaneBase.js │ │ ├── CustomPreviewSection.js │ │ ├── DOMBreakpointsSidebarPane.js │ │ ├── DOMPresentationUtils.js │ │ ├── DataSaverInfobar.js │ │ ├── DebuggerPresentationUtils.js │ │ ├── DockController.js │ │ ├── Drawer.js │ │ ├── EventListenersView.js │ │ ├── ExecutionContextModel.js │ │ ├── ExecutionContextSelector.js │ │ ├── HandlerRegistry.js │ │ ├── InspectElementModeController.js │ │ ├── InspectorView.js │ │ ├── NetworkConditionsSelector.js │ │ ├── ObjectPopoverHelper.js │ │ ├── ObjectPropertiesSection.js │ │ ├── RemoteObjectPreviewFormatter.js │ │ ├── ShortcutsScreen.js │ │ ├── breakpointsList.css │ │ ├── customPreviewSection.css │ │ ├── domUtils.css │ │ ├── eventListenersView.css │ │ ├── inspectorViewTabbedPane.css │ │ ├── module.json │ │ ├── objectPropertiesSection.css │ │ └── objectValue.css │ ├── components_lazy │ │ ├── CookiesTable.js │ │ ├── FilmStripModel.js │ │ ├── FilmStripView.js │ │ ├── filmStripDialog.css │ │ ├── filmStripView.css │ │ └── module.json │ ├── components_lazy_module.js │ ├── console │ │ ├── ConsolePanel.js │ │ ├── ConsoleView.js │ │ ├── ConsoleViewMessage.js │ │ ├── consoleView.css │ │ └── module.json │ ├── console_module.js │ ├── devices_module.js │ ├── devtools.js │ ├── devtools_extension_api.js │ ├── dialog.css │ ├── diff_module.js │ ├── elements │ │ ├── BezierEditor.js │ │ ├── BezierUI.js │ │ ├── ComputedStyleWidget.js │ │ ├── ElementStatePaneWidget.js │ │ ├── ElementsBreadcrumbs.js │ │ ├── ElementsPanel.js │ │ ├── ElementsSidebarPane.js │ │ ├── ElementsSidebarView.js │ │ ├── ElementsTreeElement.js │ │ ├── ElementsTreeOutline.js │ │ ├── EventListenersWidget.js │ │ ├── MetricsSidebarPane.js │ │ ├── PlatformFontsWidget.js │ │ ├── PropertiesWidget.js │ │ ├── SharedSidebarModel.js │ │ ├── Spectrum.js │ │ ├── StylesPopoverHelper.js │ │ ├── StylesSectionModel.js │ │ ├── StylesSidebarPane.js │ │ ├── bezierEditor.css │ │ ├── breadcrumbs.css │ │ ├── computedStyleSidebarPane.css │ │ ├── elementsPanel.css │ │ ├── elementsTreeOutline.css │ │ ├── module.json │ │ └── spectrum.css │ ├── elements_module.js │ ├── emulated_devices │ │ └── module.json │ ├── emulated_devices_module.js │ ├── emulation │ │ ├── DeviceModeButton.js │ │ ├── DevicesSettingsTab.js │ │ ├── EmulatedDevices.js │ │ ├── InspectedPagePlaceholder.js │ │ ├── MediaQueryInspector.js │ │ ├── OverridesSupport.js │ │ ├── OverridesUI.js │ │ ├── OverridesView.js │ │ ├── ResponsiveDesignView.js │ │ ├── accelerometer.css │ │ ├── devicesSettingsTab.css │ │ ├── module.json │ │ ├── overrides.css │ │ └── responsiveDesignView.css │ ├── es6.js │ ├── extensions │ │ ├── ExtensionAPI.js │ │ ├── ExtensionAuditCategory.js │ │ ├── ExtensionPanel.js │ │ ├── ExtensionRegistryStub.js │ │ ├── ExtensionServer.js │ │ ├── ExtensionView.js │ │ └── module.json │ ├── externs.js │ ├── heap_snapshot_worker │ │ ├── AllocationProfile.js │ │ ├── HeapSnapshot.js │ │ ├── HeapSnapshotLoader.js │ │ ├── HeapSnapshotWorker.js │ │ ├── HeapSnapshotWorkerDispatcher.js │ │ ├── JSHeapSnapshot.js │ │ └── module.json │ ├── heap_snapshot_worker_module.js │ ├── host │ │ ├── InspectorFrontendHost.js │ │ ├── InspectorFrontendHostAPI.js │ │ ├── Platform.js │ │ ├── ResourceLoader.js │ │ ├── UserMetrics.js │ │ └── module.json │ ├── inspector.css │ ├── inspector.html │ ├── inspector.js │ ├── inspector.json │ ├── inspectorStyle.css │ ├── layers │ │ ├── LayerPaintProfilerView.js │ │ ├── LayersPanel.js │ │ └── module.json │ ├── layers_module.js │ ├── main │ │ ├── AdvancedApp.js │ │ ├── HelpScreenUntilReload.js │ │ ├── Main.js │ │ ├── OverlayController.js │ │ ├── RenderingOptions.js │ │ ├── SimpleApp.js │ │ ├── TestController.js │ │ ├── Tests.js │ │ └── module.json │ ├── network │ │ ├── EventSourceMessagesView.js │ │ ├── FilterSuggestionBuilder.js │ │ ├── HARWriter.js │ │ ├── NetworkDataGridNode.js │ │ ├── NetworkItemView.js │ │ ├── NetworkLogView.js │ │ ├── NetworkOverview.js │ │ ├── NetworkPanel.js │ │ ├── NetworkTimeCalculator.js │ │ ├── RequestCookiesView.js │ │ ├── RequestHTMLView.js │ │ ├── RequestHeadersView.js │ │ ├── RequestJSONView.js │ │ ├── RequestPreviewView.js │ │ ├── RequestResponseView.js │ │ ├── RequestTimingView.js │ │ ├── RequestView.js │ │ ├── ResourceWebSocketFrameView.js │ │ ├── XMLView.js │ │ ├── eventSourceMessagesView.css │ │ ├── module.json │ │ ├── networkLogView.css │ │ ├── networkPanel.css │ │ ├── requestCookiesView.css │ │ ├── requestHeadersView.css │ │ ├── webSocketFrameView.css │ │ └── xmlView.css │ ├── network_module.js │ ├── platform │ │ ├── DOMExtension.js │ │ ├── module.json │ │ └── utilities.js │ ├── popover.css │ ├── profiler │ │ ├── CPUProfileBottomUpDataGrid.js │ │ ├── CPUProfileDataGrid.js │ │ ├── CPUProfileFlameChart.js │ │ ├── CPUProfileTopDownDataGrid.js │ │ ├── CPUProfileView.js │ │ ├── HeapSnapshotCommon.js │ │ ├── HeapSnapshotDataGrids.js │ │ ├── HeapSnapshotGridNodes.js │ │ ├── HeapSnapshotProxy.js │ │ ├── HeapSnapshotView.js │ │ ├── ProfileLauncherView.js │ │ ├── ProfileTypeRegistry.js │ │ ├── ProfilesPanel.js │ │ ├── TargetsComboBoxController.js │ │ ├── heapProfiler.css │ │ ├── module.json │ │ └── profilesPanel.css │ ├── profiler_module.js │ ├── promises │ │ ├── PromisePane.js │ │ ├── module.json │ │ └── promisePane.css │ ├── promises_module.js │ ├── resources │ │ ├── ApplicationCacheItemsView.js │ │ ├── CookieItemsView.js │ │ ├── DOMStorageItemsView.js │ │ ├── DOMStorageModel.js │ │ ├── DatabaseModel.js │ │ ├── DatabaseQueryView.js │ │ ├── DatabaseTableView.js │ │ ├── DirectoryContentView.js │ │ ├── FileContentView.js │ │ ├── FileSystemModel.js │ │ ├── FileSystemView.js │ │ ├── IndexedDBModel.js │ │ ├── IndexedDBViews.js │ │ ├── ResourcesPanel.js │ │ ├── ServiceWorkerCacheViews.js │ │ ├── ServiceWorkersView.js │ │ ├── indexedDBViews.css │ │ ├── module.json │ │ ├── resourcesPanel.css │ │ ├── serviceWorkerCacheViews.css │ │ └── serviceWorkersView.css │ ├── resources_module.js │ ├── screencast │ │ ├── ScreencastApp.js │ │ ├── ScreencastView.js │ │ ├── module.json │ │ └── screencastView.css │ ├── screencast_module.js │ ├── script_formatter_worker │ │ ├── AcornTokenizer.js │ │ ├── CSSFormatter.js │ │ ├── ESTreeWalker.js │ │ ├── JavaScriptFormatter.js │ │ ├── ScriptFormatterWorker.js │ │ └── module.json │ ├── script_formatter_worker_module.js │ ├── sdk │ │ ├── ApplicationCacheModel.js │ │ ├── CPUProfileDataModel.js │ │ ├── CPUProfilerModel.js │ │ ├── CSSMetadata.js │ │ ├── CSSParser.js │ │ ├── CSSStyleModel.js │ │ ├── ConsoleModel.js │ │ ├── ContentProviders.js │ │ ├── CookieParser.js │ │ ├── DOMModel.js │ │ ├── DebuggerModel.js │ │ ├── HAREntry.js │ │ ├── HeapProfilerModel.js │ │ ├── InspectorBackend.js │ │ ├── LayerTreeModel.js │ │ ├── NetworkLog.js │ │ ├── NetworkManager.js │ │ ├── NetworkRequest.js │ │ ├── PaintProfiler.js │ │ ├── RemoteObject.js │ │ ├── Resource.js │ │ ├── ResourceTreeModel.js │ │ ├── RuntimeModel.js │ │ ├── Script.js │ │ ├── ServiceWorkerCacheModel.js │ │ ├── ServiceWorkerManager.js │ │ ├── SourceMap.js │ │ ├── Target.js │ │ ├── TracingManager.js │ │ ├── TracingModel.js │ │ ├── WorkerManager.js │ │ └── module.json │ ├── security │ │ ├── SecurityModel.js │ │ ├── SecurityPanel.js │ │ ├── lockIcon.css │ │ ├── module.json │ │ └── securityPanel.css │ ├── security_module.js │ ├── settings │ │ ├── EditFileSystemDialog.js │ │ ├── FrameworkBlackboxDialog.js │ │ ├── SettingsScreen.js │ │ └── module.json │ ├── settings_module.js │ ├── sidebarPane.css │ ├── snippets │ │ ├── ScriptSnippetModel.js │ │ ├── SnippetStorage.js │ │ └── module.json │ ├── snippets_module.js │ ├── source_frame │ │ ├── CodeMirrorDictionary.js │ │ ├── CodeMirrorTextEditor.js │ │ ├── CodeMirrorUtils.js │ │ ├── FontView.js │ │ ├── GoToLineDialog.js │ │ ├── ImageView.js │ │ ├── ResourceSourceFrame.js │ │ ├── SourceFrame.js │ │ ├── TextEditorAutocompleteController.js │ │ ├── cmdevtools.css │ │ ├── fontView.css │ │ ├── imageView.css │ │ ├── module.json │ │ └── resourceSourceFrame.css │ ├── source_frame_module.js │ ├── sources │ │ ├── AddSourceMapURLDialog.js │ │ ├── AdvancedSearchView.js │ │ ├── AsyncOperationsSidebarPane.js │ │ ├── CSSSourceFrame.js │ │ ├── CallStackSidebarPane.js │ │ ├── EditingLocationHistoryManager.js │ │ ├── EventListenerBreakpointsSidebarPane.js │ │ ├── FileBasedSearchResultsPane.js │ │ ├── FilePathScoreFunction.js │ │ ├── FilteredItemSelectionDialog.js │ │ ├── InplaceFormatterEditorAction.js │ │ ├── JavaScriptBreakpointsSidebarPane.js │ │ ├── JavaScriptCompiler.js │ │ ├── JavaScriptSourceFrame.js │ │ ├── NavigatorView.js │ │ ├── ObjectEventListenersSidebarPane.js │ │ ├── RevisionHistoryView.js │ │ ├── ScopeChainSidebarPane.js │ │ ├── ScriptFormatter.js │ │ ├── ScriptFormatterEditorAction.js │ │ ├── ServiceWorkersSidebarPane.js │ │ ├── SimpleHistoryManager.js │ │ ├── SourcesNavigator.js │ │ ├── SourcesPanel.js │ │ ├── SourcesSearchScope.js │ │ ├── SourcesView.js │ │ ├── StyleSheetOutlineDialog.js │ │ ├── TabbedEditorContainer.js │ │ ├── ThreadsSidebarPane.js │ │ ├── UIList.js │ │ ├── UISourceCodeFrame.js │ │ ├── WatchExpressionsSidebarPane.js │ │ ├── WorkspaceMappingTip.js │ │ ├── XHRBreakpointsSidebarPane.js │ │ ├── filteredItemSelectionDialog.css │ │ ├── jsdifflib.js │ │ ├── module.json │ │ ├── navigatorView.css │ │ ├── revisionHistory.css │ │ ├── serviceWorkersSidebar.css │ │ ├── sourcesPanel.css │ │ ├── sourcesSearch.css │ │ ├── sourcesView.css │ │ └── uiList.css │ ├── sources_module.js │ ├── temp_storage_shared_worker │ │ ├── TempStorageSharedWorker.js │ │ └── module.json │ ├── temp_storage_shared_worker_module.js │ ├── timeline │ │ ├── CountersGraph.js │ │ ├── LayerDetailsView.js │ │ ├── LayerTreeOutline.js │ │ ├── LayerViewHost.js │ │ ├── Layers3DView.js │ │ ├── MemoryCountersGraph.js │ │ ├── PaintProfilerView.js │ │ ├── TimelineEventOverview.js │ │ ├── TimelineFlameChart.js │ │ ├── TimelineFrameModel.js │ │ ├── TimelineFrameOverview.js │ │ ├── TimelineJSProfile.js │ │ ├── TimelineLayersView.js │ │ ├── TimelineMemoryOverview.js │ │ ├── TimelineModel.js │ │ ├── TimelinePaintProfilerView.js │ │ ├── TimelinePanel.js │ │ ├── TimelinePresentationModel.js │ │ ├── TimelineUIUtils.js │ │ ├── TimelineView.js │ │ ├── TransformController.js │ │ ├── invalidationsTree.css │ │ ├── module.json │ │ └── timelinePanel.css │ ├── timeline_module.js │ ├── toolbox.css │ ├── toolbox.html │ ├── toolbox.js │ ├── toolbox.json │ ├── toolbox_bootstrap │ │ ├── Toolbox.js │ │ └── module.json │ ├── ui │ │ ├── ActionRegistry.js │ │ ├── ColorSwatch.js │ │ ├── Context.js │ │ ├── ContextMenu.js │ │ ├── DOMSyntaxHighlighter.js │ │ ├── Dialog.js │ │ ├── DropDownMenu.js │ │ ├── DropTarget.js │ │ ├── EmptyWidget.js │ │ ├── FilterBar.js │ │ ├── ForwardedInputEventHandler.js │ │ ├── HelpScreen.js │ │ ├── HistoryInput.js │ │ ├── Infobar.js │ │ ├── InplaceEditor.js │ │ ├── KeyboardShortcut.js │ │ ├── Panel.js │ │ ├── Popover.js │ │ ├── ProgressIndicator.js │ │ ├── ResizerWidget.js │ │ ├── RootView.js │ │ ├── SearchableView.js │ │ ├── Section.js │ │ ├── SettingsUI.js │ │ ├── ShortcutRegistry.js │ │ ├── SidebarPane.js │ │ ├── SidebarTreeElement.js │ │ ├── SoftContextMenu.js │ │ ├── SplitWidget.js │ │ ├── StackView.js │ │ ├── SuggestBox.js │ │ ├── TabbedPane.js │ │ ├── TextPrompt.js │ │ ├── ThrottledWidget.js │ │ ├── Toolbar.js │ │ ├── UIUtils.js │ │ ├── ViewportControl.js │ │ ├── Widget.js │ │ ├── ZoomManager.js │ │ ├── checkboxTextLabel.css │ │ ├── closeButton.css │ │ ├── colorSwatch.css │ │ ├── dropTarget.css │ │ ├── emptyWidget.css │ │ ├── filter.css │ │ ├── helpScreen.css │ │ ├── infobar.css │ │ ├── inspectorCommon.css │ │ ├── inspectorSyntaxHighlight.css │ │ ├── module.json │ │ ├── panelEnablerView.css │ │ ├── progressIndicator.css │ │ ├── propertiesSection.css │ │ ├── radioButton.css │ │ ├── searchableView.css │ │ ├── section.css │ │ ├── smallIcon.css │ │ ├── softContextMenu.css │ │ ├── splitWidget.css │ │ ├── suggestBox.css │ │ ├── tabbedPane.css │ │ ├── textButton.css │ │ ├── textPrompt.css │ │ ├── toolbar.css │ │ ├── treeoutline.css │ │ └── treeoutline.js │ ├── ui_lazy │ │ ├── DataGrid.js │ │ ├── FlameChart.js │ │ ├── OverviewGrid.js │ │ ├── PieChart.js │ │ ├── ShowMoreDataGridNode.js │ │ ├── SortableDataGrid.js │ │ ├── TimelineGrid.js │ │ ├── TimelineOverviewPane.js │ │ ├── ViewportDataGrid.js │ │ ├── dataGrid.css │ │ ├── flameChart.css │ │ ├── module.json │ │ ├── overviewGrid.css │ │ ├── pieChart.css │ │ └── timelineGrid.css │ ├── ui_lazy_module.js │ └── workspace │ │ ├── ExcludedFolderManager.js │ │ ├── FileManager.js │ │ ├── FileSystemMapping.js │ │ ├── IsolatedFileSystem.js │ │ ├── IsolatedFileSystemManager.js │ │ ├── SearchConfig.js │ │ ├── UISourceCode.js │ │ ├── Workspace.js │ │ └── module.json ├── node_v8_4_8.dll ├── plugins │ └── readme.txt ├── resources │ └── miniblink.asar │ │ ├── browser │ │ ├── LocalStorage │ │ │ └── file.localstorage │ │ ├── api │ │ │ ├── app.js │ │ │ ├── browser-window.js │ │ │ ├── dialog.js │ │ │ ├── exports │ │ │ │ └── electron.js │ │ │ ├── ipc-main.js │ │ │ ├── menu-item-roles.js │ │ │ ├── menu-item.js │ │ │ ├── menu.js │ │ │ ├── protocol.js │ │ │ ├── screen.js │ │ │ ├── tray.js │ │ │ └── web-contents.js │ │ ├── cookies.dat │ │ ├── electron.js │ │ ├── init.js │ │ ├── objects-registry.js │ │ └── rpc-server.js │ │ ├── common │ │ ├── api │ │ │ ├── callbacks-registry.js │ │ │ ├── clipboard.js │ │ │ ├── exports │ │ │ │ └── electron.js │ │ │ ├── intl-collator.js │ │ │ ├── is-promise.js │ │ │ ├── screen.js │ │ │ └── shell.js │ │ ├── asar.js │ │ ├── asar_init.js │ │ └── init.js │ │ ├── default_app │ │ ├── default_app.js │ │ ├── icon.png │ │ ├── index.html │ │ ├── main.js │ │ └── package.json │ │ └── renderer │ │ ├── api │ │ ├── ipc-renderer.js │ │ ├── remote.js │ │ ├── screen.js │ │ └── web-frame.js │ │ ├── electron.js │ │ ├── init.js │ │ └── web-view │ │ ├── web-view-attributes.js │ │ ├── web-view-constants.js │ │ └── web-view.js └── wke.h ├── readme.txt ├── res ├── resource.h └── soui_res.rc2 ├── resource.h ├── stdafx.h ├── tabctrlex ├── CDropWnd.cpp ├── CDropWnd.h ├── DropTarget.cpp ├── DropTarget.h ├── DropWindow.cpp ├── DropWindow.h ├── IDropInterface.cpp ├── IDropInterface.h ├── SAnimator.h ├── SBrowserTab.cpp ├── SBrowserTab.h ├── SEditEx.cpp ├── SEditEx.h ├── SRelTabCtrl.cpp ├── SRelTabCtrl.h └── TargetData.h └── uires ├── image ├── 128.png ├── 16.png ├── 256.png ├── 32.png ├── 64.png ├── Broom.ico ├── WebTab_Add.png ├── btn_back.png ├── btn_goaddr.png ├── btn_home.png ├── btn_next.png ├── btn_refresh.png ├── ebc9a33abf4f1ee30de7bda7c48455ad.jpg ├── quickbar_sel_bks.png ├── soui.ico ├── sysbtn_close.png ├── sysbtn_max.png ├── sysbtn_memu.png ├── sysbtn_min.png ├── sysbtn_restore.png ├── tabbtn_del.png ├── tabbtn_lst_del.png └── webTab_bk.png ├── uidef └── init.xml ├── uires.idx ├── values ├── color.xml ├── skin.xml └── string.xml └── xml ├── Xml_BrowserDrop.xml └── dlg_main.xml /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=C++ 2 | *.css linguist-language=C++ 3 | *.html linguist-language=C++ 4 | -------------------------------------------------------------------------------- /Build.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/Build.bat -------------------------------------------------------------------------------- /MainDlg.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/MainDlg.cpp -------------------------------------------------------------------------------- /MainDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/MainDlg.h -------------------------------------------------------------------------------- /SMiniblink.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/SMiniblink.h -------------------------------------------------------------------------------- /SouiInit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/SouiInit.cpp -------------------------------------------------------------------------------- /SouiInit.h: -------------------------------------------------------------------------------- 1 | class SUserObjectDefaultRegister : public TObjRefImpl 2 | { 3 | public: 4 | void RegisterWindows(SObjectFactoryMgr *objFactory) const; 5 | }; 6 | 7 | //Soui 加载器 8 | class CSouiLoader 9 | { 10 | SApplication *theApp; 11 | SComMgr *pComMgr; 12 | public: 13 | //通过过传入一个ISystemObjectRegister对像来注册用户控件,其余参数和SApplication的参数一致 14 | CSouiLoader(HINSTANCE hInst,ISystemObjectRegister &pUserObjRegister=SUserObjectDefaultRegister(), LPCTSTR pszHostClassName = _T("SOUIHOST")) 15 | :theApp(NULL),pComMgr(NULL) 16 | { 17 | pComMgr = new SComMgr; 18 | CAutoRefPtr pImgDecoderFactory; 19 | CAutoRefPtr pRenderFactory; 20 | BOOL bLoaded = pComMgr->CreateRender_GDI((IObjRef**)&pRenderFactory); 21 | SASSERT_FMT(bLoaded, _T("load interface [render] failed!")); 22 | bLoaded = pComMgr->CreateImgDecoder((IObjRef**)&pImgDecoderFactory); 23 | SASSERT_FMT(bLoaded, _T("load interface [%s] failed!"), _T("imgdecoder")); 24 | pRenderFactory->SetImgDecoderFactory(pImgDecoderFactory); 25 | theApp = new SApplication(pRenderFactory, hInst, pszHostClassName); 26 | 27 | 28 | 29 | //注册用户自定义的东西 30 | pUserObjRegister.RegisterLayouts(theApp); 31 | pUserObjRegister.RegisterSkins(theApp); 32 | pUserObjRegister.RegisterWindows(theApp); 33 | pUserObjRegister.RegisterInterpolator(theApp); 34 | } 35 | ~CSouiLoader() 36 | { 37 | if (theApp) 38 | delete theApp; 39 | if (pComMgr) 40 | delete pComMgr; 41 | } 42 | SApplication *GetApp() 43 | { 44 | SASSERT(theApp); 45 | return theApp; 46 | } 47 | SComMgr *GetComMgr() 48 | { 49 | SASSERT(pComMgr); 50 | return pComMgr; 51 | } 52 | }; 53 | //初使化资源加载路径 54 | void InitDir(TCHAR *Path=NULL); 55 | 56 | void InitSystemRes(SApplication *theApp, SComMgr *pComMgr); 57 | 58 | void InitUserRes(SApplication * theApp, SComMgr *pComMgr); 59 | 60 | template 61 | int Run(SApplication *theApp) 62 | { 63 | T dlgMain; 64 | dlgMain.Create(GetActiveWindow(),WS_POPUPWINDOW); 65 | dlgMain.SendMessage(WM_INITDIALOG); 66 | dlgMain.CenterWindow(dlgMain.m_hWnd); 67 | dlgMain.ShowWindow(SW_SHOWNORMAL); 68 | return theApp->Run(dlgMain.m_hWnd); 69 | } 70 | 71 | -------------------------------------------------------------------------------- /SweepingEdge.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/SweepingEdge.cpp -------------------------------------------------------------------------------- /SweepingEdge.pro: -------------------------------------------------------------------------------- 1 | ###################################################################### 2 | # Automatically generated by qmake (3.0) ?? 7? 7 22:39:14 2018 3 | ###################################################################### 4 | 5 | TEMPLATE = app 6 | TARGET = SweepingEdge 7 | INCLUDEPATH += . 8 | 9 | include($$(SOUIPATH)/demo_com.pri) 10 | 11 | INCLUDEPATH += ./mblib 12 | 13 | 14 | CONFIG(debug,debug|release){ 15 | LIBS += utilitiesd.lib souid.lib 16 | } 17 | else{ 18 | LIBS += utilities.lib soui.lib 19 | } 20 | 21 | PRECOMPILED_HEADER = stdafx.h 22 | RC_FILE += SweepingEdge.rc 23 | 24 | 25 | # Input 26 | HEADERS += MainDlg.h \ 27 | resource.h \ 28 | SMiniblink.h \ 29 | SouiInit.h \ 30 | mblib/wke.h \ 31 | res/resource.h \ 32 | tabctrlex/CDropWnd.h \ 33 | tabctrlex/DropTarget.h \ 34 | tabctrlex/DropWindow.h \ 35 | tabctrlex/IDropInterface.h \ 36 | tabctrlex/SAnimator.h \ 37 | tabctrlex/SBrowserTab.h \ 38 | tabctrlex/SEditEx.h \ 39 | tabctrlex/SRelTabCtrl.h \ 40 | tabctrlex/TargetData.h \ 41 | 42 | SOURCES += MainDlg.cpp \ 43 | SMiniblink.cpp \ 44 | SouiInit.cpp \ 45 | SweepingEdge.cpp \ 46 | tabctrlex/CDropWnd.cpp \ 47 | tabctrlex/DropTarget.cpp \ 48 | tabctrlex/DropWindow.cpp \ 49 | tabctrlex/IDropInterface.cpp \ 50 | tabctrlex/SBrowserTab.cpp \ 51 | tabctrlex/SEditEx.cpp \ 52 | tabctrlex/SRelTabCtrl.cpp 53 | -------------------------------------------------------------------------------- /SweepingEdge.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/SweepingEdge.rc -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/license.txt -------------------------------------------------------------------------------- /mblib/front_end/Images/applicationCache.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/applicationCache.png -------------------------------------------------------------------------------- /mblib/front_end/Images/breakpoint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/breakpoint.png -------------------------------------------------------------------------------- /mblib/front_end/Images/breakpointConditional.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/breakpointConditional.png -------------------------------------------------------------------------------- /mblib/front_end/Images/breakpointConditional_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/breakpointConditional_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/breakpoint_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/breakpoint_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/checker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/checker.png -------------------------------------------------------------------------------- /mblib/front_end/Images/chromeDisabledSelect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/chromeDisabledSelect.png -------------------------------------------------------------------------------- /mblib/front_end/Images/chromeDisabledSelect_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/chromeDisabledSelect_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/chromeLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/chromeLeft.png -------------------------------------------------------------------------------- /mblib/front_end/Images/chromeMiddle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/chromeMiddle.png -------------------------------------------------------------------------------- /mblib/front_end/Images/chromeRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/chromeRight.png -------------------------------------------------------------------------------- /mblib/front_end/Images/chromeSelect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/chromeSelect.png -------------------------------------------------------------------------------- /mblib/front_end/Images/chromeSelect_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/chromeSelect_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/cookie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/cookie.png -------------------------------------------------------------------------------- /mblib/front_end/Images/database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/database.png -------------------------------------------------------------------------------- /mblib/front_end/Images/databaseTable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/databaseTable.png -------------------------------------------------------------------------------- /mblib/front_end/Images/deleteIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/deleteIcon.png -------------------------------------------------------------------------------- /mblib/front_end/Images/domain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/domain.png -------------------------------------------------------------------------------- /mblib/front_end/Images/errorWave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/errorWave.png -------------------------------------------------------------------------------- /mblib/front_end/Images/errorWave_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/errorWave_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/fileSystem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/fileSystem.png -------------------------------------------------------------------------------- /mblib/front_end/Images/forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/forward.png -------------------------------------------------------------------------------- /mblib/front_end/Images/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/frame.png -------------------------------------------------------------------------------- /mblib/front_end/Images/graphLabelCalloutLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/graphLabelCalloutLeft.png -------------------------------------------------------------------------------- /mblib/front_end/Images/graphLabelCalloutRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/graphLabelCalloutRight.png -------------------------------------------------------------------------------- /mblib/front_end/Images/indexedDB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/indexedDB.png -------------------------------------------------------------------------------- /mblib/front_end/Images/indexedDBIndex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/indexedDBIndex.png -------------------------------------------------------------------------------- /mblib/front_end/Images/indexedDBObjectStore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/indexedDBObjectStore.png -------------------------------------------------------------------------------- /mblib/front_end/Images/localStorage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/localStorage.png -------------------------------------------------------------------------------- /mblib/front_end/Images/navigationControls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/navigationControls.png -------------------------------------------------------------------------------- /mblib/front_end/Images/navigationControls_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/navigationControls_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/notifications.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mblib/front_end/Images/paneAddButtons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/paneAddButtons.png -------------------------------------------------------------------------------- /mblib/front_end/Images/paneFilterButtons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/paneFilterButtons.png -------------------------------------------------------------------------------- /mblib/front_end/Images/paneRefreshButtons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/paneRefreshButtons.png -------------------------------------------------------------------------------- /mblib/front_end/Images/popoverArrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/popoverArrows.png -------------------------------------------------------------------------------- /mblib/front_end/Images/profileGroupIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/profileGroupIcon.png -------------------------------------------------------------------------------- /mblib/front_end/Images/profileIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/profileIcon.png -------------------------------------------------------------------------------- /mblib/front_end/Images/profileSmallIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/profileSmallIcon.png -------------------------------------------------------------------------------- /mblib/front_end/Images/radioDot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/radioDot.png -------------------------------------------------------------------------------- /mblib/front_end/Images/resourceCSSIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/resourceCSSIcon.png -------------------------------------------------------------------------------- /mblib/front_end/Images/resourceDocumentIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/resourceDocumentIcon.png -------------------------------------------------------------------------------- /mblib/front_end/Images/resourceDocumentIconSmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/resourceDocumentIconSmall.png -------------------------------------------------------------------------------- /mblib/front_end/Images/resourceJSIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/resourceJSIcon.png -------------------------------------------------------------------------------- /mblib/front_end/Images/resourcePlainIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/resourcePlainIcon.png -------------------------------------------------------------------------------- /mblib/front_end/Images/resourcePlainIconSmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/resourcePlainIconSmall.png -------------------------------------------------------------------------------- /mblib/front_end/Images/resourcesTimeGraphIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/resourcesTimeGraphIcon.png -------------------------------------------------------------------------------- /mblib/front_end/Images/responsiveDesign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/responsiveDesign.png -------------------------------------------------------------------------------- /mblib/front_end/Images/responsiveDesign_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/responsiveDesign_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/searchNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/searchNext.png -------------------------------------------------------------------------------- /mblib/front_end/Images/searchPrev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/searchPrev.png -------------------------------------------------------------------------------- /mblib/front_end/Images/securityStateHttp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/securityStateHttp.png -------------------------------------------------------------------------------- /mblib/front_end/Images/securityStateHttp_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/securityStateHttp_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/securityStateInsecure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/securityStateInsecure.png -------------------------------------------------------------------------------- /mblib/front_end/Images/securityStateInsecure_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/securityStateInsecure_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/securityStateSecure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/securityStateSecure.png -------------------------------------------------------------------------------- /mblib/front_end/Images/securityStateSecure_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/securityStateSecure_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/securityStateWarning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/securityStateWarning.png -------------------------------------------------------------------------------- /mblib/front_end/Images/securityStateWarning_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/securityStateWarning_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/sessionStorage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/sessionStorage.png -------------------------------------------------------------------------------- /mblib/front_end/Images/settingsListRemove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/settingsListRemove.png -------------------------------------------------------------------------------- /mblib/front_end/Images/settingsListRemove_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/settingsListRemove_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/speech.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/speech.png -------------------------------------------------------------------------------- /mblib/front_end/Images/spinner.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /mblib/front_end/Images/src/breakpoint.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mblib/front_end/Images/src/breakpointConditional.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mblib/front_end/Images/src/optimize_png.hashes: -------------------------------------------------------------------------------- 1 | { 2 | "breakpointConditional.svg": "4cf90210b2af2ed84db2f60b07bcde28", 3 | "errorWave.svg": "e183fa242a22ed4784a92f6becbc2c45", 4 | "settingsListRemove.svg": "ce9e7c5c5cdaef28e6ee51d9478d5485", 5 | "toolbarButtonGlyphs.svg": "ba061d662d7e380b952ceeb4d75e44fc", 6 | "breakpoint.svg": "69cd92d807259c022791112809b97799", 7 | "responsiveDesign.svg": "1d6e963f88e5e448a7cff85f75a0e6b0" 8 | } -------------------------------------------------------------------------------- /mblib/front_end/Images/src/responsiveDesign.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mblib/front_end/Images/src/settingsListRemove.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /mblib/front_end/Images/src/svg2png.hashes: -------------------------------------------------------------------------------- 1 | { 2 | "breakpointConditional.svg": "4cf90210b2af2ed84db2f60b07bcde28", 3 | "errorWave.svg": "e183fa242a22ed4784a92f6becbc2c45", 4 | "settingsListRemove.svg": "ce9e7c5c5cdaef28e6ee51d9478d5485", 5 | "toolbarButtonGlyphs.svg": "ba061d662d7e380b952ceeb4d75e44fc", 6 | "breakpoint.svg": "69cd92d807259c022791112809b97799", 7 | "responsiveDesign.svg": "1d6e963f88e5e448a7cff85f75a0e6b0" 8 | } -------------------------------------------------------------------------------- /mblib/front_end/Images/statusbarButtonGlyphs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/statusbarButtonGlyphs.png -------------------------------------------------------------------------------- /mblib/front_end/Images/statusbarButtonGlyphs_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/statusbarButtonGlyphs_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/thumbActiveHoriz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/thumbActiveHoriz.png -------------------------------------------------------------------------------- /mblib/front_end/Images/thumbActiveVert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/thumbActiveVert.png -------------------------------------------------------------------------------- /mblib/front_end/Images/thumbHoriz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/thumbHoriz.png -------------------------------------------------------------------------------- /mblib/front_end/Images/thumbHoverHoriz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/thumbHoverHoriz.png -------------------------------------------------------------------------------- /mblib/front_end/Images/thumbHoverVert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/thumbHoverVert.png -------------------------------------------------------------------------------- /mblib/front_end/Images/thumbVert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/thumbVert.png -------------------------------------------------------------------------------- /mblib/front_end/Images/toolbarButtonGlyphs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/toolbarButtonGlyphs.png -------------------------------------------------------------------------------- /mblib/front_end/Images/toolbarButtonGlyphs_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/toolbarButtonGlyphs_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/toolbarItemSelected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/toolbarItemSelected.png -------------------------------------------------------------------------------- /mblib/front_end/Images/toolbarResizerHorizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/toolbarResizerHorizontal.png -------------------------------------------------------------------------------- /mblib/front_end/Images/toolbarResizerVertical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/toolbarResizerVertical.png -------------------------------------------------------------------------------- /mblib/front_end/Images/touchCursor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/touchCursor.png -------------------------------------------------------------------------------- /mblib/front_end/Images/touchCursor_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/touchCursor_2x.png -------------------------------------------------------------------------------- /mblib/front_end/Images/transformControls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/transformControls.png -------------------------------------------------------------------------------- /mblib/front_end/Images/transformControls_2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/Images/transformControls_2x.png -------------------------------------------------------------------------------- /mblib/front_end/OWNERS: -------------------------------------------------------------------------------- 1 | alph@chromium.org 2 | caseq@chromium.org 3 | dgozman@chromium.org 4 | lushnikov@chromium.org 5 | pfeldman@chromium.org 6 | sergeyv@chromium.org 7 | yurys@chromium.org 8 | -------------------------------------------------------------------------------- /mblib/front_end/accessibility/AccessibilityModel.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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 | 6 | /** 7 | * @constructor 8 | * @extends {WebInspector.SDKModel} 9 | * @param {!WebInspector.Target} target 10 | */ 11 | WebInspector.AccessibilityModel = function(target) 12 | { 13 | WebInspector.SDKModel.call(this, WebInspector.AccessibilityModel, target); 14 | this._agent = target.accessibilityAgent(); 15 | }; 16 | 17 | WebInspector.AccessibilityModel.prototype = { 18 | /** 19 | * @param {!DOMAgent.NodeId} nodeId 20 | * @param {function(?AccessibilityAgent.AXNode)} userCallback 21 | */ 22 | getAXNode: function(nodeId, userCallback) 23 | { 24 | var wrappedCallback = InspectorBackend.wrapClientCallback(userCallback, "AccessibilityAgent.getAXNode(): "); 25 | this._agent.getAXNode(nodeId, wrappedCallback); 26 | }, 27 | 28 | __proto__: WebInspector.SDKModel.prototype 29 | } 30 | 31 | WebInspector.AccessibilityModel._symbol = Symbol("AccessibilityModel"); 32 | /** 33 | * @param {!WebInspector.Target} target 34 | * @return {!WebInspector.AccessibilityModel} 35 | */ 36 | WebInspector.AccessibilityModel.fromTarget = function(target) 37 | { 38 | if (!target[WebInspector.AccessibilityModel._symbol]) 39 | target[WebInspector.AccessibilityModel._symbol] = new WebInspector.AccessibilityModel(target); 40 | 41 | return target[WebInspector.AccessibilityModel._symbol]; 42 | } -------------------------------------------------------------------------------- /mblib/front_end/accessibility/accessibilityNode.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-computed-text { 8 | padding: 3px 5px 0; 9 | background-image: url(Images/speech.png); 10 | background-repeat: no-repeat; 11 | background-position: 16px center; 12 | padding: 4px 4px 0 4px; 13 | padding-left: 36px; 14 | min-height: 18px; 15 | } 16 | 17 | .ax-computed-text div { 18 | display: inline-block; 19 | padding: 2px; 20 | width: 100%; 21 | text-overflow: ellipsis; 22 | white-space: nowrap; 23 | overflow: hidden; 24 | width: 100%; 25 | } 26 | 27 | div.ax-text-alternatives { 28 | margin-bottom: 3px; 29 | border-bottom: 1px solid #BFBFBF; 30 | } 31 | 32 | .ax-name { 33 | color: rgb(136, 19, 145); 34 | flex-shrink: 0; 35 | } 36 | 37 | .ax-readable-name { 38 | flex-shrink: 0; 39 | } 40 | 41 | span.ax-role { 42 | font-weight: bold; 43 | } 44 | 45 | span.ax-internal-role { 46 | font-style: italic; 47 | } 48 | 49 | .ax-ignored-info { 50 | padding: 6px; 51 | } 52 | 53 | .ax-ignored-node-pane { 54 | background-color: hsl(0, 0%, 96%); 55 | } 56 | 57 | .tree-outline li { 58 | padding-top: 5px; 59 | } 60 | -------------------------------------------------------------------------------- /mblib/front_end/accessibility/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "title": "Accessibility", 5 | "type": "@WebInspector.Widget", 6 | "location": "elements-panel", 7 | "className": "WebInspector.AccessibilitySidebarView" 8 | } 9 | ], 10 | "dependencies": ["elements"], 11 | "experiment": "accessibilityInspection", 12 | "scripts": [ 13 | "AccessibilityModel.js", 14 | "AccessibilitySidebarView.js", 15 | "AccessibilityStrings.js" 16 | ], 17 | "resources": [ 18 | "accessibilityNode.css" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /mblib/front_end/acorn/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2012-2014 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 | -------------------------------------------------------------------------------- /mblib/front_end/animation/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "type": "@WebInspector.ToolbarItem.Provider", 5 | "className": "WebInspector.AnimationControlPane.ButtonProvider", 6 | "order": 2, 7 | "location": "styles-sidebarpane-toolbar" 8 | } 9 | ], 10 | "dependencies": [ 11 | "elements" 12 | ], 13 | "scripts": [ 14 | "AnimationModel.js", 15 | "AnimationTimeline.js", 16 | "AnimationControlPane.js" 17 | ], 18 | "resources": [ 19 | "animationTimeline.css" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /mblib/front_end/audits/AuditCategory.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2014 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above 12 | * copyright notice, this list of conditions and the following disclaimer 13 | * in the documentation and/or other materials provided with the 14 | * distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY GOOGLE INC. AND ITS CONTRIBUTORS 17 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE INC. 20 | * OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | /** 30 | * @interface 31 | */ 32 | WebInspector.AuditCategory = function() 33 | { 34 | } 35 | 36 | WebInspector.AuditCategory.prototype = { 37 | /** 38 | * @return {string} 39 | */ 40 | get id() 41 | { 42 | }, 43 | 44 | /** 45 | * @return {string} 46 | */ 47 | get displayName() 48 | { 49 | }, 50 | 51 | /** 52 | * @param {!WebInspector.Target} target 53 | * @param {!Array.} requests 54 | * @param {function(!WebInspector.AuditRuleResult)} ruleResultCallback 55 | * @param {!WebInspector.Progress} progress 56 | */ 57 | run: function(target, requests, ruleResultCallback, progress) 58 | { 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /mblib/front_end/audits/auditResultTree.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 | .severity { 8 | background-image: url(Images/toolbarButtonGlyphs.png); 9 | background-size: 352px 144px; 10 | display: inline-block; 11 | width: 10px; 12 | height: 10px; 13 | position: relative; 14 | top: 1px; 15 | margin-right: 4px; 16 | } 17 | 18 | li { 19 | -webkit-user-select: text; 20 | } 21 | 22 | @media (-webkit-min-device-pixel-ratio: 1.5) { 23 | .severity { 24 | background-image: url(Images/toolbarButtonGlyphs_2x.png); 25 | } 26 | } /* media */ 27 | 28 | .severity.severe { 29 | background-position: -224px -96px; 30 | } 31 | 32 | .severity.warning { 33 | background-position: -246px -96px; 34 | } 35 | 36 | .severity.info { 37 | background-position: -235px -96px; 38 | } 39 | .audit-result { 40 | font-weight: bold; 41 | } 42 | -------------------------------------------------------------------------------- /mblib/front_end/audits/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "type": "@WebInspector.PanelFactory", 5 | "name": "audits", 6 | "title": "Audits", 7 | "order": 6, 8 | "className": "WebInspector.AuditsPanelFactory" 9 | } 10 | ], 11 | "dependencies": [ 12 | "components", 13 | "extensions" 14 | ], 15 | "scripts": [ 16 | "AuditsPanel.js", 17 | "AuditCategory.js", 18 | "AuditCategories.js", 19 | "AuditController.js", 20 | "AuditFormatters.js", 21 | "AuditLauncherView.js", 22 | "AuditResultView.js", 23 | "AuditRules.js", 24 | "AuditExtensionCategory.js" 25 | ], 26 | "resources": [ 27 | "auditsPanel.css", 28 | "auditResultTree.css" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /mblib/front_end/bindings/LiveLocation.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 | /** 6 | * @constructor 7 | * @param {function(!WebInspector.UILocation):(boolean|undefined)} updateDelegate 8 | */ 9 | WebInspector.LiveLocation = function(updateDelegate) 10 | { 11 | this._updateDelegate = updateDelegate; 12 | } 13 | 14 | WebInspector.LiveLocation.prototype = { 15 | update: function() 16 | { 17 | var uiLocation = this.uiLocation(); 18 | if (!uiLocation) 19 | return; 20 | if (this._updateDelegate(uiLocation)) 21 | this.dispose(); 22 | }, 23 | 24 | /** 25 | * @return {?WebInspector.UILocation} 26 | */ 27 | uiLocation: function() 28 | { 29 | throw "Not implemented"; 30 | }, 31 | 32 | dispose: function() 33 | { 34 | // Overridden by subclasses. 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /mblib/front_end/bindings/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": ["sdk", "platform", "workspace"], 3 | "scripts": [ 4 | "LiveLocation.js", 5 | "CompilerScriptMapping.js", 6 | "ResourceScriptMapping.js", 7 | "SASSSourceMapping.js", 8 | "StylesSourceMapping.js", 9 | "CSSWorkspaceBinding.js", 10 | "DebuggerWorkspaceBinding.js", 11 | "BreakpointManager.js", 12 | "ContentProviderBasedProjectDelegate.js", 13 | "DefaultScriptMapping.js", 14 | "FileSystemWorkspaceBinding.js", 15 | "FileUtils.js", 16 | "BlackboxSupport.js", 17 | "Linkifier.js", 18 | "NetworkMapping.js", 19 | "NetworkProject.js", 20 | "PresentationConsoleMessageHelper.js", 21 | "ResourceUtils.js", 22 | "TempFile.js", 23 | "WorkspaceController.js", 24 | "ContentScriptProjectDecorator.js" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /mblib/front_end/cm/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2014 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 | -------------------------------------------------------------------------------- /mblib/front_end/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. -------------------------------------------------------------------------------- /mblib/front_end/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 {WebInspector.CodeMirrorMimeMode} 8 | */ 9 | WebInspector.DefaultCodeMirrorMimeMode = function() 10 | { 11 | } 12 | 13 | WebInspector.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 | -------------------------------------------------------------------------------- /mblib/front_end/cm_modes/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2014 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 | -------------------------------------------------------------------------------- /mblib/front_end/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 | " https://sites.google.com/a/chromium.org/devtools-codemirror-rolling") 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 | -------------------------------------------------------------------------------- /mblib/front_end/common/NotificationService.js: -------------------------------------------------------------------------------- 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 | /** 8 | * @constructor 9 | * @extends {WebInspector.Object} 10 | */ 11 | WebInspector.NotificationService = function() { } 12 | 13 | WebInspector.NotificationService.prototype = { 14 | __proto__: WebInspector.Object.prototype 15 | } 16 | 17 | WebInspector.NotificationService.Events = { 18 | InspectorAgentEnabledForTests: "InspectorAgentEnabledForTests", 19 | SelectedNodeChanged: "SelectedNodeChanged" 20 | } 21 | 22 | WebInspector.notifications = new WebInspector.NotificationService(); 23 | -------------------------------------------------------------------------------- /mblib/front_end/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 | WebInspector.OutputStream = function() 9 | { 10 | } 11 | 12 | WebInspector.OutputStream.prototype = { 13 | /** 14 | * @param {string} data 15 | * @param {function(!WebInspector.OutputStream)=} callback 16 | */ 17 | write: function(data, callback) { }, 18 | 19 | close: function() { } 20 | } 21 | 22 | /** 23 | * @constructor 24 | * @implements {WebInspector.OutputStream} 25 | */ 26 | WebInspector.StringOutputStream = function() 27 | { 28 | this._data = ""; 29 | } 30 | 31 | WebInspector.StringOutputStream.prototype = { 32 | /** 33 | * @override 34 | * @param {string} chunk 35 | * @param {function(!WebInspector.OutputStream)=} callback 36 | */ 37 | write: function(chunk, callback) 38 | { 39 | this._data += chunk; 40 | }, 41 | 42 | /** 43 | * @override 44 | */ 45 | close: function() 46 | { 47 | }, 48 | 49 | /** 50 | * @return {string} 51 | */ 52 | data: function() 53 | { 54 | return this._data; 55 | } 56 | } -------------------------------------------------------------------------------- /mblib/front_end/common/StaticContentProvider.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 | /** 6 | * @constructor 7 | * @implements {WebInspector.ContentProvider} 8 | * @param {!WebInspector.ResourceType} contentType 9 | * @param {string} content 10 | * @param {string=} contentURL 11 | */ 12 | WebInspector.StaticContentProvider = function(contentType, content, contentURL) 13 | { 14 | this._content = content; 15 | this._contentType = contentType; 16 | this._contentURL = contentURL || ""; 17 | } 18 | 19 | /** 20 | * @param {string} content 21 | * @param {string} query 22 | * @param {boolean} caseSensitive 23 | * @param {boolean} isRegex 24 | * @param {function(!Array.)} callback 25 | */ 26 | WebInspector.StaticContentProvider.searchInContent = function(content, query, caseSensitive, isRegex, callback) 27 | { 28 | function performSearch() 29 | { 30 | callback(WebInspector.ContentProvider.performSearchInContent(content, query, caseSensitive, isRegex)); 31 | } 32 | 33 | // searchInContent should call back later. 34 | setTimeout(performSearch.bind(null), 0); 35 | } 36 | 37 | WebInspector.StaticContentProvider.prototype = { 38 | /** 39 | * @override 40 | * @return {string} 41 | */ 42 | contentURL: function() 43 | { 44 | return this._contentURL; 45 | }, 46 | 47 | /** 48 | * @override 49 | * @return {!WebInspector.ResourceType} 50 | */ 51 | contentType: function() 52 | { 53 | return this._contentType; 54 | }, 55 | 56 | /** 57 | * @override 58 | * @param {function(?string)} callback 59 | */ 60 | requestContent: function(callback) 61 | { 62 | callback(this._content); 63 | }, 64 | 65 | /** 66 | * @override 67 | * @param {string} query 68 | * @param {boolean} caseSensitive 69 | * @param {boolean} isRegex 70 | * @param {function(!Array.)} callback 71 | */ 72 | searchInContent: function(query, caseSensitive, isRegex, callback) 73 | { 74 | WebInspector.StaticContentProvider.searchInContent(this._content, query, caseSensitive, isRegex, callback); 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /mblib/front_end/common/WebInspector.js: -------------------------------------------------------------------------------- 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 | self.WebInspector = {} 8 | -------------------------------------------------------------------------------- /mblib/front_end/common/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": [ 3 | "platform" 4 | ], 5 | "scripts": [ 6 | "WorkerRuntime.js", 7 | "WebInspector.js", 8 | "TextDictionary.js", 9 | "Object.js", 10 | "NotificationService.js", 11 | "Color.js", 12 | "Geometry.js", 13 | "Console.js", 14 | "ContentProvider.js", 15 | "ParsedURL.js", 16 | "Progress.js", 17 | "ResourceType.js", 18 | "Settings.js", 19 | "StaticContentProvider.js", 20 | "OutputStream.js", 21 | "TestBase.js", 22 | "TextRange.js", 23 | "TextUtils.js", 24 | "Throttler.js", 25 | "UIString.js", 26 | "ModuleExtensionInterfaces.js" 27 | ], 28 | "skip_compilation": [ 29 | "TestBase.js" 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /mblib/front_end/components/DataSaverInfobar.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 | * @extends {WebInspector.Infobar} 8 | */ 9 | WebInspector.DataSaverInfobar = function() 10 | { 11 | WebInspector.Infobar.call(this, WebInspector.Infobar.Type.Warning, WebInspector.settings.moduleSetting("disableDataSaverInfobar")); 12 | this.element.createTextChild(WebInspector.UIString("Consider disabling ")); 13 | this.element.appendChild(WebInspector.linkifyURLAsNode("https://support.google.com/chrome/answer/2392284?hl=en", "Chrome Data Saver", undefined, true)); 14 | this.element.createTextChild(WebInspector.UIString(" while debugging.")); 15 | } 16 | 17 | WebInspector.DataSaverInfobar._infobars = []; 18 | 19 | /** 20 | * @param {!WebInspector.Panel} panel 21 | */ 22 | WebInspector.DataSaverInfobar.maybeShowInPanel = function(panel) 23 | { 24 | if (Runtime.queryParam("remoteFrontend")) { 25 | var infobar = new WebInspector.DataSaverInfobar(); 26 | WebInspector.DataSaverInfobar._infobars.push(infobar); 27 | panel.showInfobar(infobar); 28 | } 29 | } 30 | 31 | WebInspector.DataSaverInfobar.prototype = { 32 | /** 33 | * @override 34 | */ 35 | close: function() 36 | { 37 | for (var infobar of WebInspector.DataSaverInfobar._infobars) 38 | WebInspector.Infobar.prototype.close.call(infobar); 39 | }, 40 | 41 | __proto__: WebInspector.Infobar.prototype 42 | } 43 | -------------------------------------------------------------------------------- /mblib/front_end/components/DebuggerPresentationUtils.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 | WebInspector.DebuggerPresentationUtils = {} 6 | 7 | /** 8 | * @param {?WebInspector.DebuggerModel} debuggerModel 9 | * @param {!Array.=} stackTrace 10 | * @param {!ConsoleAgent.AsyncStackTrace=} asyncStackTrace 11 | * @param {boolean=} showBlackboxed 12 | * @return {?ConsoleAgent.CallFrame} 13 | */ 14 | WebInspector.DebuggerPresentationUtils.callFrameAnchorFromStackTrace = function(debuggerModel, stackTrace, asyncStackTrace, showBlackboxed) 15 | { 16 | /** 17 | * @param {?Array.=} stackTrace 18 | * @return {?ConsoleAgent.CallFrame} 19 | */ 20 | function innerCallFrameAnchorFromStackTrace(stackTrace) 21 | { 22 | if (!stackTrace || !stackTrace.length) 23 | return null; 24 | if (showBlackboxed) 25 | return stackTrace[0]; 26 | for (var i = 0; i < stackTrace.length; ++i) { 27 | var script = debuggerModel && debuggerModel.scriptForId(stackTrace[i].scriptId); 28 | var blackboxed = script ? 29 | WebInspector.BlackboxSupport.isBlackboxed(script.sourceURL, script.isContentScript()) : 30 | WebInspector.BlackboxSupport.isBlackboxedURL(stackTrace[i].url); 31 | if (!blackboxed) 32 | return stackTrace[i]; 33 | } 34 | return null; 35 | } 36 | 37 | var callFrame = innerCallFrameAnchorFromStackTrace(stackTrace); 38 | if (callFrame) 39 | return callFrame; 40 | 41 | while (asyncStackTrace) { 42 | callFrame = innerCallFrameAnchorFromStackTrace(asyncStackTrace.callFrames); 43 | if (callFrame) 44 | return callFrame; 45 | asyncStackTrace = asyncStackTrace.asyncStackTrace; 46 | } 47 | 48 | return stackTrace ? stackTrace[0] : null; 49 | } 50 | -------------------------------------------------------------------------------- /mblib/front_end/components/customPreviewSection.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-expandable-section-header::before { 13 | -webkit-user-select: none; 14 | background-image: url(Images/toolbarButtonGlyphs.png); 15 | background-size: 352px 144px; 16 | opacity: 0.5; 17 | content: "a"; 18 | width: 8px; 19 | margin-right: 4px; 20 | padding-right: 2px; 21 | color: transparent; 22 | text-shadow: none; 23 | } 24 | 25 | .custom-expandable-section-header::before { 26 | background-position: -4px -96px; 27 | } 28 | 29 | .custom-expandable-section-header.expanded::before { 30 | background-position: -20px -96px; 31 | } 32 | 33 | .custom-expandable-section-standard-section { 34 | display: inline-flex; 35 | } -------------------------------------------------------------------------------- /mblib/front_end/components/domUtils.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 | .node-link { 12 | text-decoration: underline; 13 | cursor: pointer; 14 | display: inline; 15 | } 16 | 17 | .stack-preview-async-description { 18 | padding: 3px 0 1px; 19 | font-style: italic; 20 | } 21 | 22 | .stack-preview-container .webkit-html-blackbox-link { 23 | opacity: 0.6; 24 | } 25 | 26 | .stack-preview-container > tr { 27 | height: 17px; 28 | } 29 | -------------------------------------------------------------------------------- /mblib/front_end/components/eventListenersView.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 | .event-listener-tree li { 8 | padding: 2px 0 0 5px; 9 | } 10 | 11 | .event-listener-tree > li { 12 | border-top: 1px solid #f0f0f0; 13 | } 14 | 15 | .event-listener-tree > li:first-of-type { 16 | border-top: none; 17 | } 18 | 19 | .event-listener-tree { 20 | padding-left: 0 !important; 21 | padding-right: 3px; 22 | } 23 | 24 | .event-listener-tree li.parent::before { 25 | top: 0 !important; 26 | } 27 | 28 | .event-listener-tree .name { 29 | color: rgb(136, 19, 145); 30 | } 31 | 32 | .event-listener-tree-subtitle { 33 | float: right; 34 | } 35 | -------------------------------------------------------------------------------- /mblib/front_end/components/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 { 8 | background-color: #f3f3f3; 9 | flex: 0 0 27px; 10 | overflow: visible; 11 | } 12 | 13 | .tabbed-pane-header-tab, 14 | .tabbed-pane-header-tab.selected { 15 | height: 26px; 16 | margin: 0; 17 | background: none; 18 | border: none; 19 | border-left: 2px solid transparent; 20 | border-right: 2px solid transparent; 21 | padding: 0 6px; 22 | } 23 | 24 | .tabbed-pane-header-tab { 25 | color: #5a5a5a; 26 | } 27 | 28 | .tabbed-pane-header-tab.selected { 29 | color: #333; 30 | border-width: 0 2px 0 2px; 31 | -webkit-border-image: url(Images/toolbarItemSelected.png) 0 2 0 2; 32 | } 33 | -------------------------------------------------------------------------------- /mblib/front_end/components/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "type": "setting", 5 | "category": "Console", 6 | "title": "Enable custom formatters", 7 | "settingName": "customFormatters", 8 | "settingType": "boolean", 9 | "defaultValue": false, 10 | "experiment": "customObjectFormatters" 11 | } 12 | ], 13 | "dependencies": [ 14 | "bindings", 15 | "platform", 16 | "ui" 17 | ], 18 | "scripts": [ 19 | "BreakpointsSidebarPaneBase.js", 20 | "CustomPreviewSection.js", 21 | "DataSaverInfobar.js", 22 | "DebuggerPresentationUtils.js", 23 | "DOMBreakpointsSidebarPane.js", 24 | "DOMPresentationUtils.js", 25 | "DockController.js", 26 | "Drawer.js", 27 | "ExecutionContextSelector.js", 28 | "ExecutionContextModel.js", 29 | "HandlerRegistry.js", 30 | "InspectElementModeController.js", 31 | "InspectorView.js", 32 | "NetworkConditionsSelector.js", 33 | "ObjectPopoverHelper.js", 34 | "ObjectPropertiesSection.js", 35 | "RemoteObjectPreviewFormatter.js", 36 | "ShortcutsScreen.js", 37 | "EventListenersView.js" 38 | ], 39 | "resources": [ 40 | "breakpointsList.css", 41 | "customPreviewSection.css", 42 | "eventListenersView.css", 43 | "domUtils.css", 44 | "inspectorViewTabbedPane.css", 45 | "objectPropertiesSection.css", 46 | "objectValue.css" 47 | ] 48 | } 49 | -------------------------------------------------------------------------------- /mblib/front_end/components/objectPropertiesSection.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 | .object-properties-section .name { 8 | color: rgb(136, 19, 145); 9 | flex-shrink: 0; 10 | } 11 | 12 | .object-properties-section-separator { 13 | flex-shrink: 0; 14 | } 15 | 16 | .object-properties-section-dimmed { 17 | opacity: 0.6; 18 | } 19 | 20 | .object-properties-section { 21 | padding: 0 0 0px 0px; 22 | color: rgb(33,33,33) !important; 23 | } 24 | 25 | .object-properties-section li { 26 | min-height: inherit; 27 | line-height: 12px; 28 | -webkit-user-select: text; 29 | } 30 | 31 | .object-properties-section li::before { 32 | top: -1px; 33 | } 34 | 35 | .object-properties-section li.editing-sub-part { 36 | padding: 3px 6px 8px; 37 | margin: -1px -6px -8px -6px; 38 | text-overflow: clip; 39 | } 40 | 41 | .object-properties-section li.editing { 42 | margin-left: 10px; 43 | text-overflow: clip; 44 | } 45 | 46 | .tree-outline ol.title-less-mode { 47 | padding-left: 0px; 48 | } 49 | 50 | -------------------------------------------------------------------------------- /mblib/front_end/components_lazy/filmStripDialog.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 | .filmstrip-dialog { 8 | margin: 12px; 9 | } 10 | 11 | .filmstrip-dialog > img { 12 | border: 1px solid #ddd; 13 | } 14 | 15 | .filmstrip-dialog-footer { 16 | display: flex; 17 | align-items: center; 18 | margin-top: 10px; 19 | } 20 | 21 | .filmstrip-dialog-label { 22 | margin: 8px 8px; 23 | } 24 | -------------------------------------------------------------------------------- /mblib/front_end/components_lazy/filmStripView.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 | .film-strip-view { 8 | overflow-x: auto; 9 | overflow-y: hidden; 10 | align-content: flex-start; 11 | min-height: 81px; 12 | } 13 | 14 | .film-strip-view.time-based .frame .time { 15 | display: none; 16 | } 17 | 18 | .film-strip-view .label { 19 | margin: auto; 20 | font-size: 18px; 21 | color: #999; 22 | } 23 | 24 | .film-strip-view .frame { 25 | display: flex; 26 | flex-direction: column; 27 | align-items: center; 28 | padding: 4px; 29 | flex: none; 30 | cursor: pointer; 31 | } 32 | 33 | .film-strip-view .frame-limit-reached { 34 | font-size: 24px; 35 | color: #888; 36 | justify-content: center; 37 | display: inline-flex; 38 | flex-direction: column; 39 | flex: none; 40 | } 41 | 42 | .film-strip-view .frame .thumbnail { 43 | min-width: 24px; 44 | display: flex; 45 | flex-direction: row; 46 | align-items: center; 47 | pointer-events: none; 48 | margin: 4px 0 2px; 49 | border: 2px solid transparent; 50 | } 51 | 52 | .film-strip-view .frame:hover .thumbnail { 53 | border-color: #FBCA46; 54 | } 55 | 56 | .film-strip-view .frame .thumbnail img { 57 | height: auto; 58 | width: auto; 59 | max-width: 80px; 60 | max-height: 50px; 61 | pointer-events: none; 62 | box-shadow: 0 0 3px #bbb; 63 | flex: 0 0 auto; 64 | } 65 | 66 | .film-strip-view .frame:hover .thumbnail img { 67 | box-shadow: none; 68 | } 69 | 70 | .film-strip-view .frame .time { 71 | font-size: 10px; 72 | margin-top: 2px; 73 | } 74 | -------------------------------------------------------------------------------- /mblib/front_end/components_lazy/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": [ 3 | "sdk", 4 | "ui", 5 | "ui_lazy" 6 | ], 7 | "scripts": [ 8 | "CookiesTable.js", 9 | "FilmStripModel.js", 10 | "FilmStripView.js" 11 | ], 12 | "resources": [ 13 | "filmStripDialog.css", 14 | "filmStripView.css" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /mblib/front_end/dialog.css: -------------------------------------------------------------------------------- 1 | .dialog { 2 | position: absolute; 3 | border: 1px solid rgb(204, 204, 204); 4 | box-shadow: rgb(140, 140, 140) 0 3px 14px; 5 | display: flex; 6 | -webkit-flex-direction: column; 7 | background: white; 8 | } 9 | 10 | .dialog-contents { 11 | width: 100%; 12 | } 13 | 14 | .go-to-line-dialog { 15 | font-family: 'Lucida Grande', sans-serif; 16 | padding: 10px; 17 | font-size: inherit; 18 | } 19 | 20 | .dialog input[type=text] { 21 | font-size: inherit; 22 | height: 24px; 23 | padding-left: 2px; 24 | margin: 0 5px; 25 | } 26 | 27 | .dialog button { 28 | background-image: linear-gradient(hsl(0, 0%, 93%), hsl(0, 0%, 93%) 38%, hsl(0, 0%, 87%)); 29 | border: 1px solid hsla(0, 0%, 0%, 0.25); 30 | border-radius: 2px; 31 | box-shadow: 0 1px 0 hsla(0, 0%, 0%, 0.08), inset 0 1px 2px hsla(0, 100%, 100%, 0.75); 32 | color: hsl(0, 0%, 27%); 33 | font-size: 12px; 34 | margin: 0 6px 0 6px; 35 | text-shadow: 0 1px 0 hsl(0, 0%, 94%); 36 | min-height: 2em; 37 | padding-left: 10px; 38 | padding-right: 10px; 39 | } 40 | 41 | .dialog button:active { 42 | background-color: rgb(215, 215, 215); 43 | background-image: linear-gradient(to bottom, rgb(194, 194, 194), rgb(239, 239, 239)); 44 | } 45 | 46 | .dialog input[type="search"]:focus, 47 | .dialog input[type="text"]:focus { 48 | outline: none; 49 | } 50 | 51 | -------------------------------------------------------------------------------- /mblib/front_end/elements/ElementsSidebarView.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 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 | * @extends {WebInspector.SidebarPane} 8 | * @param {string} title 9 | * @param {!WebInspector.Widget} widget 10 | */ 11 | WebInspector.ElementsSidebarViewWrapperPane = function(title, widget) 12 | { 13 | WebInspector.SidebarPane.call(this, title); 14 | widget.show(this.element); 15 | } 16 | 17 | WebInspector.ElementsSidebarViewWrapperPane.prototype = { 18 | __proto__: WebInspector.SidebarPane.prototype 19 | } 20 | -------------------------------------------------------------------------------- /mblib/front_end/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 | font-size: 11px; 12 | line-height: 17px; 13 | white-space: nowrap; 14 | } 15 | 16 | .crumbs .crumb { 17 | display: inline-block; 18 | padding: 0 7px; 19 | height: 18px; 20 | white-space: nowrap; 21 | } 22 | 23 | :host-context(.material) .crumb { 24 | padding: 0px 4px 0px 11px; 25 | cursor: pointer; 26 | line-height: 18px; 27 | margin: 5px 0px; 28 | position: relative; 29 | color: hsl(0, 0%, 35%); 30 | } 31 | 32 | :host-context(.material) .crumb:not(.collapsed):not(:first-child):before { 33 | content: "\27E9"; 34 | position: absolute; 35 | left: 0px; 36 | color: hsl(0, 0%, 35%); 37 | width: 7px; 38 | text-align: center; 39 | } 40 | 41 | .crumbs .crumb.collapsed > * { 42 | display: none; 43 | } 44 | 45 | .crumbs .crumb.collapsed::before { 46 | content: "\2026"; 47 | font-weight: bold; 48 | } 49 | 50 | .crumbs .crumb.compact .extra { 51 | display: none; 52 | } 53 | 54 | .crumbs .crumb.selected, .crumbs .crumb.selected:hover { 55 | background-color: rgb(56, 121, 217); 56 | color: white; 57 | text-shadow: rgba(255, 255, 255, 0.5) 0 0 0; 58 | } 59 | 60 | :host-context(.material) .crumb.selected { 61 | color: hsl(0, 0%, 35%); 62 | background-color: transparent !important; 63 | } 64 | 65 | :host-context(.material) .crumb.selected:before { 66 | color: hsl(217, 89%, 61%) !important; 67 | } 68 | 69 | .crumbs .crumb:hover { 70 | background-color: rgb(216, 216, 216); 71 | } 72 | 73 | :host-context(.material) .crumb:hover { 74 | background-color: transparent; 75 | color: hsl(0, 0%, 20%) !important; 76 | } 77 | -------------------------------------------------------------------------------- /mblib/front_end/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 | padding: 2px 2px 4px 4px; 9 | -webkit-user-select: text; 10 | } 11 | 12 | .computed-style-property-inherited { 13 | opacity: 0.5; 14 | } 15 | 16 | .computed-style-trace-button { 17 | display: none; 18 | position: absolute; 19 | border: 0 transparent none; 20 | background-color: transparent; 21 | height: 25px; 22 | width: 26px; 23 | transform: scale(0.75); 24 | left: -10px; 25 | top: -6px; 26 | opacity: 0.5; 27 | } 28 | 29 | .computed-style-property:hover .computed-style-trace-button { 30 | display: inline-block; 31 | } 32 | 33 | .computed-style-trace-button:hover { 34 | opacity: 1; 35 | } 36 | 37 | .computed-style-trace-button > .glyph { 38 | -webkit-mask-image: url(Images/toolbarButtonGlyphs.png); 39 | -webkit-mask-size: 352px 144px; 40 | -webkit-mask-position: -224px -24px; 41 | background-color: rgba(0, 0, 0, 0.75); 42 | position: absolute; 43 | top: 0; 44 | right: 0; 45 | bottom: 0; 46 | left: 0; 47 | margin: 0 -1px; 48 | } 49 | 50 | @media (-webkit-min-device-pixel-ratio: 1.5) { 51 | .computed-style-trace-button > .glyph { 52 | -webkit-mask-image: url(Images/toolbarButtonGlyphs_2x.png); 53 | } 54 | } /* media */ 55 | 56 | .computed-style-property { 57 | position: relative; 58 | padding-left: 14px; 59 | } 60 | -------------------------------------------------------------------------------- /mblib/front_end/emulated_devices_module.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/front_end/emulated_devices_module.js -------------------------------------------------------------------------------- /mblib/front_end/emulation/DeviceModeButton.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 {WebInspector.ToolbarItem.Provider} 8 | */ 9 | WebInspector.DeviceModeButtonProvider = function() 10 | { 11 | var button = new WebInspector.ToolbarButton(WebInspector.UIString("Toggle device mode"), "emulation-toolbar-item"); 12 | button.addEventListener("click", toggleEmulationEnabled); 13 | WebInspector.overridesSupport.addEventListener(WebInspector.OverridesSupport.Events.EmulationStateChanged, emulationEnabledChanged); 14 | WebInspector.overridesSupport.addEventListener(WebInspector.OverridesSupport.Events.OverridesWarningUpdated, updateWarning); 15 | 16 | emulationEnabledChanged(); 17 | updateWarning(); 18 | 19 | function toggleEmulationEnabled() 20 | { 21 | WebInspector.overridesSupport.setEmulationEnabled(!button.toggled()); 22 | } 23 | 24 | function emulationEnabledChanged() 25 | { 26 | button.setToggled(WebInspector.overridesSupport.emulationEnabled()); 27 | } 28 | 29 | function updateWarning() 30 | { 31 | var message = WebInspector.overridesSupport.warningMessage(); 32 | button.setTitle(message || WebInspector.UIString("Toggle device mode")); 33 | button.element.classList.toggle("warning", !!message); 34 | } 35 | 36 | this._button = button; 37 | } 38 | 39 | WebInspector.DeviceModeButtonProvider.prototype = { 40 | /** 41 | * @override 42 | * @return {?WebInspector.ToolbarItem} 43 | */ 44 | item: function() 45 | { 46 | return this._button; 47 | } 48 | } 49 | 50 | /** 51 | * @constructor 52 | * @implements {WebInspector.ActionDelegate} 53 | */ 54 | WebInspector.ToggleDeviceModeActionDelegate = function() 55 | { 56 | } 57 | 58 | WebInspector.ToggleDeviceModeActionDelegate.prototype = { 59 | /** 60 | * @override 61 | * @param {!WebInspector.Context} context 62 | * @param {string} actionId 63 | */ 64 | handleAction: function(context, actionId) 65 | { 66 | WebInspector.overridesSupport.setEmulationEnabled(!WebInspector.overridesSupport.emulationEnabled()); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /mblib/front_end/emulation/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "type": "drawer-view", 5 | "name": "emulation", 6 | "title": "Emulation", 7 | "order": "10", 8 | "className": "WebInspector.OverridesView" 9 | }, 10 | { 11 | "type": "@WebInspector.ToolbarItem.Provider", 12 | "className": "WebInspector.DeviceModeButtonProvider", 13 | "condition": "can_dock", 14 | "order": 1, 15 | "location": "main-toolbar-left" 16 | }, 17 | { 18 | "type": "@WebInspector.ActionDelegate", 19 | "actionId": "emulation.toggle-device-mode", 20 | "className": "WebInspector.ToggleDeviceModeActionDelegate", 21 | "condition": "can_dock", 22 | "bindings": [ 23 | { 24 | "platform": "windows,linux", 25 | "shortcut": "Shift+Ctrl+M" 26 | }, 27 | { 28 | "platform": "mac", 29 | "shortcut": "Shift+Meta+M" 30 | } 31 | ] 32 | }, 33 | { 34 | "type": "@WebInspector.Revealer", 35 | "contextTypes": ["WebInspector.OverridesSupport"], 36 | "className": "WebInspector.OverridesView.Revealer" 37 | }, 38 | { 39 | "type": "settings-view", 40 | "name": "devices", 41 | "title": "Devices", 42 | "order": "30", 43 | "className": "WebInspector.DevicesSettingsTab" 44 | } 45 | ], 46 | "dependencies": [ 47 | "bindings", 48 | "components", 49 | "platform", 50 | "ui" 51 | ], 52 | "scripts": [ 53 | "OverridesSupport.js", 54 | "EmulatedDevices.js", 55 | "DevicesSettingsTab.js", 56 | "DeviceModeButton.js", 57 | "OverridesUI.js", 58 | "InspectedPagePlaceholder.js", 59 | "MediaQueryInspector.js", 60 | "ResponsiveDesignView.js", 61 | "OverridesView.js" 62 | ], 63 | "resources": [ 64 | "accelerometer.css", 65 | "devicesSettingsTab.css", 66 | "responsiveDesignView.css", 67 | "overrides.css" 68 | ] 69 | } 70 | -------------------------------------------------------------------------------- /mblib/front_end/extensions/ExtensionRegistryStub.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2010 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above 11 | * copyright notice, this list of conditions and the following disclaimer 12 | * in the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name of Google Inc. nor the names of its 15 | * contributors may be used to endorse or promote products derived from 16 | * this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | if (!window.InspectorExtensionRegistry) { 32 | 33 | /** 34 | * @constructor 35 | */ 36 | WebInspector.InspectorExtensionRegistryStub = function() 37 | { 38 | } 39 | 40 | WebInspector.InspectorExtensionRegistryStub.prototype = { 41 | getExtensionsAsync: function() 42 | { 43 | } 44 | } 45 | 46 | var InspectorExtensionRegistry = new WebInspector.InspectorExtensionRegistryStub(); 47 | 48 | } 49 | -------------------------------------------------------------------------------- /mblib/front_end/extensions/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": [ 3 | "components" 4 | ], 5 | "scripts": [ 6 | "ExtensionAPI.js", 7 | "ExtensionAuditCategory.js", 8 | "ExtensionRegistryStub.js", 9 | "ExtensionServer.js", 10 | "ExtensionPanel.js", 11 | "ExtensionView.js" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /mblib/front_end/heap_snapshot_worker/HeapSnapshotWorker.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2011 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above 11 | * copyright notice, this list of conditions and the following disclaimer 12 | * in the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name of Google Inc. nor the names of its 15 | * contributors may be used to endorse or promote products derived from 16 | * this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | function postMessageWrapper(message) 32 | { 33 | postMessage(message); 34 | } 35 | 36 | var dispatcher = new WebInspector.HeapSnapshotWorkerDispatcher(this, postMessageWrapper); 37 | 38 | /** 39 | * @param {function(!Event)} listener 40 | * @suppressGlobalPropertiesCheck 41 | */ 42 | function installMessageEventListener(listener) 43 | { 44 | self.addEventListener("message", listener, false); 45 | } 46 | 47 | installMessageEventListener(dispatcher.dispatchMessage.bind(dispatcher)); 48 | -------------------------------------------------------------------------------- /mblib/front_end/heap_snapshot_worker/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": [ 3 | "../platform/utilities.js", 4 | "../common/WebInspector.js", 5 | "../common/UIString.js", 6 | "../common/TextUtils.js", 7 | "../profiler/HeapSnapshotCommon.js", 8 | "AllocationProfile.js", 9 | "HeapSnapshot.js", 10 | "HeapSnapshotLoader.js", 11 | "HeapSnapshotWorkerDispatcher.js", 12 | "JSHeapSnapshot.js", 13 | "HeapSnapshotWorker.js" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /mblib/front_end/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 | -------------------------------------------------------------------------------- /mblib/front_end/inspector.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 | @import url("dialog.css"); 8 | @import url("inspectorStyle.css"); 9 | @import url("popover.css"); 10 | @import url("sidebarPane.css"); 11 | -------------------------------------------------------------------------------- /mblib/front_end/inspector.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /mblib/front_end/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 | 5 | Runtime.startApplication("inspector"); 6 | -------------------------------------------------------------------------------- /mblib/front_end/inspector.json: -------------------------------------------------------------------------------- 1 | [ 2 | { "name": "platform", "type": "autostart" }, 3 | { "name": "main", "type": "autostart" }, 4 | { "name": "components", "type": "autostart" }, 5 | { "name": "ui", "type": "autostart" }, 6 | { "name": "sdk", "type": "autostart" }, 7 | { "name": "host", "type": "autostart" }, 8 | { "name": "common", "type": "autostart" }, 9 | { "name": "emulation", "type": "autostart" }, 10 | { "name": "workspace", "type": "autostart" }, 11 | { "name": "bindings", "type": "autostart" }, 12 | { "name": "extensions", "type": "autostart" }, 13 | { "name": "ui_lazy" }, 14 | { "name": "components_lazy" }, 15 | { "name": "elements" }, 16 | { "name": "network" }, 17 | { "name": "sources" }, 18 | { "name": "timeline" }, 19 | { "name": "profiler" }, 20 | { "name": "resources" }, 21 | { "name": "audits" }, 22 | { "name": "security" }, 23 | { "name": "console" }, 24 | { "name": "source_frame" }, 25 | { "name": "cm_modes", "type": "remote" }, 26 | { "name": "settings" }, 27 | { "name": "layers" }, 28 | { "name": "promises" }, 29 | { "name": "snippets" }, 30 | { "name": "accessibility" }, 31 | { "name": "animation" }, 32 | { "name": "screencast", "condition": "remoteFrontend", "type": "remote" }, 33 | { "name": "emulated_devices", "type": "remote" }, 34 | 35 | { "name": "heap_snapshot_worker", "type": "worker" }, 36 | { "name": "script_formatter_worker", "type": "worker" }, 37 | { "name": "temp_storage_shared_worker", "type": "worker" } 38 | ] 39 | -------------------------------------------------------------------------------- /mblib/front_end/layers/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "type": "@WebInspector.PanelFactory", 5 | "name": "layers", 6 | "title": "Layers", 7 | "order": 7, 8 | "className": "WebInspector.LayersPanelFactory" 9 | }, 10 | { 11 | "type": "@WebInspector.Revealer", 12 | "contextTypes": ["WebInspector.DeferredLayerTree"], 13 | "className": "WebInspector.LayersPanel.LayerTreeRevealer" 14 | } 15 | ], 16 | "dependencies": ["timeline"], 17 | "experiment": "layersPanel", 18 | "scripts": [ 19 | "LayerPaintProfilerView.js", 20 | "LayersPanel.js" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /mblib/front_end/main/OverlayController.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 | */ 8 | WebInspector.OverlayController = function() 9 | { 10 | WebInspector.moduleSetting("disablePausedStateOverlay").addChangeListener(this._updateOverlayMessage, this); 11 | WebInspector.targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.DebuggerPaused, this._updateOverlayMessage, this); 12 | WebInspector.targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.DebuggerResumed, this._updateOverlayMessage, this); 13 | WebInspector.targetManager.addModelListener(WebInspector.DebuggerModel, WebInspector.DebuggerModel.Events.GlobalObjectCleared, this._updateOverlayMessage, this); 14 | } 15 | 16 | WebInspector.OverlayController.prototype = { 17 | 18 | /** 19 | * @param {!WebInspector.Event} event 20 | */ 21 | _updateOverlayMessage: function(event) 22 | { 23 | var debuggerModel = /** @type {!WebInspector.DebuggerModel} */ (event.target); 24 | var message = debuggerModel.isPaused() && !WebInspector.moduleSetting("disablePausedStateOverlay").get() ? WebInspector.UIString("Paused in debugger") : undefined; 25 | debuggerModel.target().pageAgent().setOverlayMessage(message); 26 | } 27 | } -------------------------------------------------------------------------------- /mblib/front_end/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 | /** 6 | * @constructor 7 | * @implements {WebInspector.App} 8 | */ 9 | WebInspector.SimpleApp = function() 10 | { 11 | }; 12 | 13 | WebInspector.SimpleApp.prototype = { 14 | /** 15 | * @param {!Document} document 16 | * @override 17 | */ 18 | presentUI: function(document) 19 | { 20 | var rootView = new WebInspector.RootView(); 21 | WebInspector.inspectorView.show(rootView.element); 22 | WebInspector.inspectorView.showInitialPanel(); 23 | rootView.attachToDocument(document); 24 | } 25 | }; 26 | 27 | /** 28 | * @constructor 29 | * @implements {WebInspector.AppProvider} 30 | */ 31 | WebInspector.SimpleAppProvider = function() 32 | { 33 | }; 34 | 35 | WebInspector.SimpleAppProvider.prototype = { 36 | /** 37 | * @override 38 | * @return {!WebInspector.App} 39 | */ 40 | createApp: function() 41 | { 42 | return new WebInspector.SimpleApp(); 43 | } 44 | }; 45 | -------------------------------------------------------------------------------- /mblib/front_end/main/TestController.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2009 Google Inc. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are 6 | * met: 7 | * 8 | * * Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * * Redistributions in binary form must reproduce the above 11 | * copyright notice, this list of conditions and the following disclaimer 12 | * in the documentation and/or other materials provided with the 13 | * distribution. 14 | * * Neither the name of Google Inc. nor the names of its 15 | * contributors may be used to endorse or promote products derived from 16 | * this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 | * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | */ 30 | 31 | WebInspector.evaluateForTestInFrontend = function(callId, script) 32 | { 33 | if (!InspectorFrontendHost.isUnderTest()) 34 | return; 35 | 36 | function invokeMethod() 37 | { 38 | try { 39 | script = script + "//# sourceURL=evaluateInWebInspector" + callId + ".js"; 40 | window.eval(script); 41 | } catch (e) { 42 | console.error(e.stack); 43 | } 44 | } 45 | InspectorBackend.connection().runAfterPendingDispatches(invokeMethod); 46 | } 47 | -------------------------------------------------------------------------------- /mblib/front_end/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 | -------------------------------------------------------------------------------- /mblib/front_end/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 | font-size: 11px; 22 | } 23 | -------------------------------------------------------------------------------- /mblib/front_end/network/webSocketFrameView.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 | .websocket-frame-view { 8 | -webkit-user-select: text; 9 | } 10 | 11 | .websocket-frame-view .data-grid { 12 | flex: auto; 13 | border: none; 14 | } 15 | 16 | .websocket-frame-view .data-grid .data { 17 | background-image: none; 18 | } 19 | 20 | .websocket-frame-view-td { 21 | border-bottom: 1px solid #ccc; 22 | } 23 | 24 | .websocket-frame-view .data-grid tr.selected { 25 | background-color: #def; 26 | } 27 | 28 | .websocket-frame-view .data-grid td, 29 | .websocket-frame-view .data-grid th { 30 | border-left-color: #ccc; 31 | } 32 | 33 | .websocket-frame-view-row-outcoming { 34 | background-color: rgb(226, 247, 218); 35 | } 36 | 37 | .websocket-frame-view-row-opcode { 38 | background-color: rgb(255, 255, 232); 39 | color: rgb(170, 111, 71); 40 | } 41 | 42 | .websocket-frame-view-row-error { 43 | background-color: rgb(255, 237, 237); 44 | color: rgb(182, 0, 0); 45 | } 46 | -------------------------------------------------------------------------------- /mblib/front_end/network/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 | 13 | .shadow-xml-view ol { 14 | list-style: none; 15 | padding: 0; 16 | margin: 0; 17 | -webkit-padding-start: 16px; /* step width + arrow width */ 18 | } 19 | 20 | .shadow-xml-view > ol { 21 | -webkit-padding-start: 0; 22 | } 23 | 24 | .shadow-xml-view ol.children:not(.expanded) { 25 | display: none; 26 | } 27 | 28 | .shadow-xml-view li { 29 | display: flex; 30 | align-items: center; 31 | } 32 | 33 | .shadow-xml-view li.parent::before { 34 | -webkit-user-select: none; 35 | -webkit-mask-image: url(Images/toolbarButtonGlyphs.png); 36 | -webkit-mask-size: 352px 144px; 37 | -webkit-mask-position: -4px -97px; 38 | background-color: rgb(110, 110, 110); 39 | content: ""; 40 | width: 10px; /* arrow width */ 41 | height: 10px; 42 | } 43 | 44 | .shadow-xml-view li.parent.expanded::before { 45 | -webkit-mask-position: -20px -97px; 46 | } 47 | 48 | @media (-webkit-min-device-pixel-ratio: 1.5) { 49 | .shadow-xml-view li.parent::before { 50 | -webkit-mask-image: url(Images/toolbarButtonGlyphs_2x.png); 51 | } 52 | } /* media */ 53 | 54 | .shadow-xml-view li:not(.parent) { 55 | margin-left: 10px; /* arrow width */ 56 | } 57 | 58 | .shadow-xml-view li.shadow-xml-view-close-tag { 59 | margin-left: -6px; /* step width */ 60 | } 61 | 62 | .shadow-xml-view-tag { 63 | color: rgb(136, 18, 128); 64 | } 65 | 66 | .shadow-xml-view-comment { 67 | color: rgb(35, 110, 37); 68 | } 69 | 70 | .shadow-xml-view-processing-instruction { 71 | color: rgb(35, 110, 37); 72 | } 73 | 74 | .shadow-xml-view-attribute-name { 75 | color: rgb(153, 69, 0); 76 | } 77 | 78 | .shadow-xml-view-attribute-value { 79 | color: rgb(26, 26, 166); 80 | } 81 | 82 | .shadow-xml-view-text { 83 | color: rgb(0, 0, 0); 84 | white-space: pre; 85 | } 86 | 87 | .shadow-xml-view-cdata { 88 | color: rgb(0, 0, 0); 89 | } 90 | -------------------------------------------------------------------------------- /mblib/front_end/platform/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": [ 3 | ], 4 | "scripts": [ 5 | "utilities.js", 6 | "DOMExtension.js" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /mblib/front_end/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 | /** 6 | * @constructor 7 | */ 8 | WebInspector.ProfileTypeRegistry = function() 9 | { 10 | this._profileTypes = []; 11 | 12 | this.cpuProfileType = new WebInspector.CPUProfileType(); 13 | this._addProfileType(this.cpuProfileType); 14 | this.heapSnapshotProfileType = new WebInspector.HeapSnapshotProfileType(); 15 | this._addProfileType(this.heapSnapshotProfileType); 16 | this.trackingHeapSnapshotProfileType = new WebInspector.TrackingHeapSnapshotProfileType(); 17 | this._addProfileType(this.trackingHeapSnapshotProfileType); 18 | } 19 | 20 | WebInspector.ProfileTypeRegistry.prototype = { 21 | /** 22 | * @param {!WebInspector.ProfileType} profileType 23 | */ 24 | _addProfileType: function(profileType) 25 | { 26 | this._profileTypes.push(profileType); 27 | }, 28 | 29 | /** 30 | * @return {!Array.} 31 | */ 32 | profileTypes: function() 33 | { 34 | return this._profileTypes; 35 | } 36 | } 37 | 38 | WebInspector.ProfileTypeRegistry.instance = new WebInspector.ProfileTypeRegistry(); 39 | -------------------------------------------------------------------------------- /mblib/front_end/profiler/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "type": "@WebInspector.PanelFactory", 5 | "name": "profiles", 6 | "title": "Profiles", 7 | "order": 4, 8 | "className": "WebInspector.ProfilesPanelFactory" 9 | }, 10 | { 11 | "type": "@WebInspector.ContextMenu.Provider", 12 | "contextTypes": ["WebInspector.RemoteObject"], 13 | "className": "WebInspector.ProfilesPanel.ContextMenuProvider" 14 | }, 15 | { 16 | "type": "setting", 17 | "category": "Profiler", 18 | "title": "Show advanced heap snapshot properties", 19 | "settingName": "showAdvancedHeapSnapshotProperties", 20 | "settingType": "boolean", 21 | "defaultValue": false 22 | }, 23 | { 24 | "type": "setting", 25 | "category": "Profiler", 26 | "title": "Record heap allocation stack traces", 27 | "settingName": "recordAllocationStacks", 28 | "settingType": "boolean", 29 | "defaultValue": false 30 | }, 31 | { 32 | "type": "setting", 33 | "category": "Profiler", 34 | "title": "High resolution CPU profiling", 35 | "settingName": "highResolutionCpuProfiling", 36 | "settingType": "boolean", 37 | "defaultValue": false 38 | } 39 | ], 40 | "dependencies": [ 41 | "components", 42 | "ui_lazy" 43 | ], 44 | "scripts": [ 45 | "ProfilesPanel.js", 46 | "CPUProfileDataGrid.js", 47 | "CPUProfileBottomUpDataGrid.js", 48 | "CPUProfileTopDownDataGrid.js", 49 | "CPUProfileFlameChart.js", 50 | "CPUProfileView.js", 51 | "HeapSnapshotCommon.js", 52 | "HeapSnapshotProxy.js", 53 | "HeapSnapshotDataGrids.js", 54 | "HeapSnapshotGridNodes.js", 55 | "HeapSnapshotView.js", 56 | "ProfileLauncherView.js", 57 | "ProfileTypeRegistry.js", 58 | "TargetsComboBoxController.js" 59 | ], 60 | "resources": [ 61 | "heapProfiler.css", 62 | "profilesPanel.css" 63 | ] 64 | } 65 | -------------------------------------------------------------------------------- /mblib/front_end/promises/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "type": "drawer-view", 5 | "name": "promises", 6 | "title": "Promises", 7 | "order": "30", 8 | "className": "WebInspector.PromisePane" 9 | } 10 | ], 11 | "dependencies": ["components", "ui_lazy"], 12 | "experiment": "promiseTracker", 13 | "scripts": [ 14 | "PromisePane.js" 15 | ], 16 | "resources": [ 17 | "promisePane.css" 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /mblib/front_end/promises/promisePane.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 | .promises .data-grid { 8 | border: none; 9 | flex: 1 1; 10 | } 11 | 12 | .promises > .toolbar { 13 | border-bottom: 1px solid #dadada; 14 | } 15 | 16 | .promises .promise-gc { 17 | opacity: 0.6; 18 | } 19 | 20 | .promises .data-grid th:hover { 21 | background-color: inherit !important; 22 | } 23 | 24 | .promises .data-grid .odd { 25 | background-color: #eee; 26 | } 27 | 28 | .promises .data-grid .header-container { 29 | height: 30px; 30 | } 31 | 32 | .promises .data-grid .data-container { 33 | top: 29px; 34 | } 35 | 36 | .promises .data-grid table.data { 37 | background: transparent; 38 | } 39 | 40 | .promises .data-grid th { 41 | background-color: white; 42 | } 43 | 44 | .promises .data-grid td { 45 | line-height: 17px; 46 | height: 24px; 47 | vertical-align: middle; 48 | } 49 | 50 | .promises .data-grid th, 51 | .promises .data-grid td { 52 | border-bottom: 1px solid rgb(205, 205, 205); 53 | border-left: 1px solid rgb(205, 205, 205); 54 | } 55 | 56 | .promises .status { 57 | -webkit-mask-image: url(Images/toolbarButtonGlyphs.png); 58 | -webkit-mask-size: 352px 144px; 59 | -webkit-mask-position: -294px -26px; 60 | background-color: #bbb; 61 | height: 20px; 62 | width: 20px; 63 | } 64 | 65 | .promises .status.rejected { 66 | background-color: rgb(216, 0, 0); 67 | } 68 | 69 | .promises .status.resolved { 70 | background-color: #696; 71 | } 72 | 73 | .promises-filters-header { 74 | flex: 0 0 23px; 75 | overflow: hidden; 76 | } 77 | 78 | .promises-filter-status { 79 | flex: 0 0 23px; 80 | padding-left: 18px; 81 | color: rgb(128, 128, 128); 82 | font-style: italic; 83 | } 84 | .promises-filter-status .link:hover { 85 | color: rgb(15%, 15%, 15%); 86 | } 87 | .promises-filter-status .link { 88 | color: rgb(33%, 33%, 33%); 89 | } 90 | -------------------------------------------------------------------------------- /mblib/front_end/resources/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "type": "@WebInspector.PanelFactory", 5 | "name": "resources", 6 | "title": "Resources", 7 | "order": 5, 8 | "className": "WebInspector.ResourcesPanelFactory" 9 | }, 10 | { 11 | "type": "@WebInspector.Revealer", 12 | "contextTypes": ["WebInspector.Resource"], 13 | "className": "WebInspector.ResourcesPanel.ResourceRevealer" 14 | } 15 | ], 16 | "dependencies": ["source_frame", "ui_lazy", "components_lazy"], 17 | "scripts": [ 18 | "ApplicationCacheItemsView.js", 19 | "CookieItemsView.js", 20 | "DatabaseModel.js", 21 | "DOMStorageModel.js", 22 | "DOMStorageItemsView.js", 23 | "DatabaseQueryView.js", 24 | "DatabaseTableView.js", 25 | "DirectoryContentView.js", 26 | "IndexedDBModel.js", 27 | "IndexedDBViews.js", 28 | "FileContentView.js", 29 | "FileSystemModel.js", 30 | "FileSystemView.js", 31 | "ResourcesPanel.js", 32 | "ServiceWorkerCacheViews.js", 33 | "ServiceWorkersView.js" 34 | ], 35 | "resources": [ 36 | "indexedDBViews.css", 37 | "resourcesPanel.css", 38 | "serviceWorkerCacheViews.css", 39 | "serviceWorkersView.css" 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /mblib/front_end/resources/serviceWorkerCacheViews.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 | .service-worker-cache-data-view .data-view-toolbar { 8 | position: relative; 9 | background-color: #eee; 10 | border-bottom: 1px solid #ccc; 11 | } 12 | 13 | .service-worker-cache-data-view .data-view-toolbar .key-input { 14 | font-size: 11px; 15 | margin: auto 0; 16 | width: 200px; 17 | } 18 | 19 | .service-worker-cache-data-view .data-grid { 20 | flex: auto; 21 | } 22 | 23 | .service-worker-cache-data-view .data-grid .data-container tr:nth-child(even) { 24 | background-color: white; 25 | } 26 | 27 | .service-worker-cache-data-view .data-grid .data-container tr:nth-child(odd) { 28 | background-color: #EAF3FF; 29 | } 30 | 31 | .service-worker-cache-data-view .data-grid .data-container tr:nth-last-child(1) { 32 | background-color: white; 33 | } 34 | 35 | .service-worker-cache-data-view .data-grid .data-container tr:nth-last-child(1) td { 36 | border: 0; 37 | } 38 | 39 | .service-worker-cache-data-view .data-grid .data-container tr:nth-last-child(2) td { 40 | border-bottom: 1px solid #aaa; 41 | } 42 | 43 | .service-worker-cache-data-view .data-grid .data-container tr.selected { 44 | background-color: rgb(212, 212, 212); 45 | color: inherit; 46 | } 47 | 48 | .service-worker-cache-data-view .data-grid:focus .data-container tr.selected { 49 | background-color: rgb(56, 121, 217); 50 | color: white; 51 | } 52 | 53 | .service-worker-cache-data-view .section, 54 | .service-worker-cache-data-view .section > .header, 55 | .service-worker-cache-data-view .section > .header .title { 56 | margin: 0; 57 | min-height: inherit; 58 | line-height: inherit; 59 | } 60 | 61 | .service-worker-cache-data-view .primitive-value { 62 | padding-top: 1px; 63 | } 64 | 65 | .service-worker-cache-data-view .data-grid .data-container td .section .header .title { 66 | white-space: nowrap; 67 | text-overflow: ellipsis; 68 | overflow: hidden; 69 | } 70 | -------------------------------------------------------------------------------- /mblib/front_end/screencast/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "type": "@WebInspector.AppProvider", 5 | "className": "WebInspector.ScreencastAppProvider", 6 | "order": 1 7 | }, 8 | { 9 | "type": "@WebInspector.ToolbarItem.Provider", 10 | "className": "WebInspector.ScreencastApp.ToolbarButtonProvider", 11 | "order": 1, 12 | "location": "main-toolbar-left" 13 | } 14 | ], 15 | "dependencies": [ 16 | "components" 17 | ], 18 | "scripts": [ 19 | "ScreencastApp.js", 20 | "ScreencastView.js" 21 | ], 22 | "resources": [ 23 | "screencastView.css" 24 | ] 25 | } 26 | -------------------------------------------------------------------------------- /mblib/front_end/script_formatter_worker/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": [ 3 | "../platform/utilities.js", 4 | "../cm/headlesscodemirror.js", 5 | "../cm/css.js", 6 | "../cm/xml.js", 7 | "../cm/htmlmixed.js", 8 | "ScriptFormatterWorker.js", 9 | "../acorn/acorn.js", 10 | "CSSFormatter.js", 11 | "ESTreeWalker.js", 12 | "AcornTokenizer.js", 13 | "JavaScriptFormatter.js" 14 | ], 15 | "skip_compilation": [ 16 | "../acorn/acorn.js", 17 | "../cm/headlesscodemirror.js", 18 | "../cm/css.js", 19 | "../cm/xml.js", 20 | "../cm/htmlmixed.js" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /mblib/front_end/security/SecurityModel.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 | * @extends {WebInspector.SDKModel} 8 | * @param {!WebInspector.Target} target 9 | */ 10 | WebInspector.SecurityModel = function(target) 11 | { 12 | WebInspector.SDKModel.call(this, WebInspector.SecurityModel, target); 13 | this._dispatcher = new WebInspector.SecurityDispatcher(this); 14 | this._securityAgent = target.securityAgent(); 15 | target.registerSecurityDispatcher(this._dispatcher); 16 | this._securityAgent.enable(); 17 | 18 | this._securityState = SecurityAgent.SecurityState.Unknown; 19 | } 20 | 21 | WebInspector.SecurityModel.EventTypes = { 22 | SecurityStateChanged: "SecurityStateChanged" 23 | } 24 | 25 | WebInspector.SecurityModel.prototype = { 26 | /** 27 | * @return {!SecurityAgent.SecurityState} securityState 28 | */ 29 | securityState: function() 30 | { 31 | return /** @type {!SecurityAgent.SecurityState} */ (this._securityState); 32 | }, 33 | 34 | __proto__: WebInspector.SDKModel.prototype 35 | } 36 | 37 | /** 38 | * @param {!WebInspector.Target} target 39 | * @return {?WebInspector.SecurityModel} 40 | */ 41 | WebInspector.SecurityModel.fromTarget = function(target) 42 | { 43 | var model = /** @type {?WebInspector.SecurityModel} */ (target.model(WebInspector.SecurityModel)); 44 | if (!model) 45 | model = new WebInspector.SecurityModel(target); 46 | return model; 47 | } 48 | 49 | /** 50 | * @constructor 51 | * @implements {SecurityAgent.Dispatcher} 52 | */ 53 | WebInspector.SecurityDispatcher = function(model) 54 | { 55 | this._model = model; 56 | } 57 | 58 | WebInspector.SecurityDispatcher.prototype = { 59 | /** 60 | * @override 61 | * @param {!SecurityAgent.SecurityState} securityState 62 | * @param {!Array=} explanations 63 | */ 64 | securityStateChanged: function(securityState, explanations) 65 | { 66 | var data = {"securityState": securityState, "explanations": explanations || []}; 67 | this._model.dispatchEventToListeners(WebInspector.SecurityModel.EventTypes.SecurityStateChanged, data); 68 | } 69 | } -------------------------------------------------------------------------------- /mblib/front_end/security/lockIcon.css: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 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 | .lock-icon { 7 | background-size: cover; 8 | height: 16px; 9 | width: 16px; 10 | } 11 | 12 | .lock-icon-unknown { 13 | background-image: url(Images/securityStateHttp.png); 14 | } 15 | 16 | .lock-icon-http { 17 | background-image: url(Images/securityStateHttp.png); 18 | } 19 | 20 | .lock-icon-insecure { 21 | background-image: url(Images/securityStateInsecure.png); 22 | } 23 | 24 | .lock-icon-warning { 25 | background-image: url(Images/securityStateWarning.png); 26 | } 27 | 28 | .lock-icon-secure { 29 | background-image: url(Images/securityStateSecure.png); 30 | } 31 | 32 | 33 | @media (-webkit-min-device-pixel-ratio: 1.5) { 34 | .lock-icon-unknown { 35 | background-image: url(Images/securityStateHttp_2x.png); 36 | } 37 | 38 | .lock-icon-http { 39 | background-image: url(Images/securityStateHttp_2x.png); 40 | } 41 | 42 | .lock-icon-insecure { 43 | background-image: url(Images/securityStateInsecure_2x.png); 44 | } 45 | 46 | .lock-icon-warning { 47 | background-image: url(Images/securityStateWarning_2x.png); 48 | } 49 | 50 | .lock-icon-secure { 51 | background-image: url(Images/securityStateSecure_2x.png); 52 | } 53 | } 54 | 55 | .sidebar-tree-item .lock-icon { 56 | float: left; 57 | margin-right: 2px; 58 | } -------------------------------------------------------------------------------- /mblib/front_end/security/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "type": "@WebInspector.PanelFactory", 5 | "name": "security", 6 | "title": "Security", 7 | "order": 7, 8 | "className": "WebInspector.SecurityPanelFactory" 9 | } 10 | ], 11 | "dependencies": ["platform", "ui", "sdk"], 12 | "experiment": "securityPanel", 13 | "scripts": [ 14 | "SecurityModel.js", 15 | "SecurityPanel.js" 16 | ], 17 | "resources": [ 18 | "lockIcon.css", 19 | "securityPanel.css" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /mblib/front_end/security/securityPanel.css: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 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 | .security-main-view { 7 | -webkit-user-select: text; 8 | margin: 1em; 9 | } 10 | 11 | .security-main-view .lock-icon { 12 | display: inline-block; 13 | margin: 0.2em; 14 | vertical-align: middle; 15 | } 16 | 17 | .security-main-view .security-state { 18 | display: inline-block; 19 | font-size: 1.2em; 20 | font-weight: bold; 21 | margin: 0.2em; 22 | vertical-align: middle; 23 | } 24 | 25 | .security-explanation { 26 | margin: 16px 0px; 27 | } 28 | 29 | .security-explanation .lock-icon { 30 | display: inline-block; 31 | vertical-align: bottom; 32 | } 33 | 34 | .security-explanation .explanation-title { 35 | display: inline-block; 36 | font-size: 1.2em; 37 | font-weight: bold; 38 | margin-left: 4px; 39 | } 40 | 41 | .security-explanation .explanation-text { 42 | margin: 4px 0px; 43 | } -------------------------------------------------------------------------------- /mblib/front_end/settings/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "type": "@WebInspector.ActionDelegate", 5 | "actionId": "settings.show", 6 | "className": "WebInspector.SettingsController.ActionDelegate", 7 | "bindings": [ 8 | { 9 | "shortcut": "F1 Shift+?" 10 | } 11 | ] 12 | }, 13 | { 14 | "type": "@WebInspector.ToolbarItem.Provider", 15 | "actionId": "settings.show", 16 | "location": "main-toolbar-right", 17 | "title": "Settings", 18 | "order": 4, 19 | "elementClass": "settings-toolbar-item" 20 | }, 21 | { 22 | "type": "@WebInspector.ToolbarItem.Provider", 23 | "actionId": "settings.show", 24 | "location": "elements-toolbar", 25 | "title": "Settings", 26 | "order": 1, 27 | "elementClass": "settings-toolbar-item" 28 | }, 29 | { 30 | "type": "@WebInspector.SettingUI", 31 | "category": "Sources", 32 | "className": "WebInspector.SettingsScreen.SkipStackFramePatternSettingUI" 33 | } 34 | ], 35 | "dependencies": [ 36 | "components" 37 | ], 38 | "scripts": [ 39 | "EditFileSystemDialog.js", 40 | "FrameworkBlackboxDialog.js", 41 | "SettingsScreen.js" 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /mblib/front_end/snippets/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": ["bindings"], 3 | "scripts": [ 4 | "SnippetStorage.js", 5 | "ScriptSnippetModel.js" 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /mblib/front_end/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 | -------------------------------------------------------------------------------- /mblib/front_end/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 > * { 12 | flex: none; 13 | } 14 | 15 | .image-view > .image { 16 | padding: 20px 20px 10px 20px; 17 | text-align: center; 18 | } 19 | 20 | .image-view > .info { 21 | padding-bottom: 10px; 22 | font-size: 11px; 23 | -webkit-user-select: text; 24 | } 25 | 26 | .image-view img.resource-image-view { 27 | max-width: 100%; 28 | max-height: 1000px; 29 | background-image: url(Images/checker.png); 30 | box-shadow: 0 5px 10px rgba(0, 0, 0, 0.5); 31 | -webkit-user-select: text; 32 | -webkit-user-drag: auto; 33 | } 34 | 35 | .image-view .title { 36 | text-align: center; 37 | font-size: 13px; 38 | } 39 | 40 | .image-view .infoList { 41 | margin: 0; 42 | } 43 | 44 | .image-view .infoList dt { 45 | font-weight: bold; 46 | display: inline-block; 47 | width: 50%; 48 | text-align: right; 49 | color: rgb(76, 76, 76); 50 | } 51 | 52 | .image-view .infoList dd { 53 | display: inline-block; 54 | padding-left: 8px; 55 | width: 50%; 56 | text-align: left; 57 | margin: 0; 58 | } 59 | 60 | .image-view .infoList dd::after { 61 | white-space: pre; 62 | content: "\A"; 63 | } 64 | -------------------------------------------------------------------------------- /mblib/front_end/source_frame/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "extensions": [ 3 | { 4 | "type": "@WebInspector.InplaceEditor", 5 | "className": "WebInspector.CodeMirrorUtils" 6 | }, 7 | { 8 | "type": "@WebInspector.TokenizerFactory", 9 | "className": "WebInspector.CodeMirrorUtils.TokenizerFactory" 10 | }, 11 | { 12 | "type": "setting", 13 | "category": "Sources", 14 | "title": "Default indentation:", 15 | "settingName": "textEditorIndent", 16 | "settingType": "enum", 17 | "defaultValue": " ", 18 | "options": [ 19 | ["2 spaces", " "], 20 | ["4 spaces", " "], 21 | ["8 spaces", " "], 22 | ["Tab character", "\t"] 23 | ] 24 | } 25 | ], 26 | "dependencies": [ 27 | "components" 28 | ], 29 | "scripts": [ 30 | "../cm/codemirror.js", 31 | "../cm/css.js", 32 | "../cm/javascript.js", 33 | "../cm/xml.js", 34 | "../cm/htmlmixed.js", 35 | "../cm/htmlembedded.js", 36 | 37 | "../cm/matchbrackets.js", 38 | "../cm/closebrackets.js", 39 | "../cm/markselection.js", 40 | "../cm/comment.js", 41 | "../cm/overlay.js", 42 | "../cm/activeline.js", 43 | 44 | "CodeMirrorUtils.js", 45 | "CodeMirrorDictionary.js", 46 | "TextEditorAutocompleteController.js", 47 | "CodeMirrorTextEditor.js", 48 | "FontView.js", 49 | "ImageView.js", 50 | "SourceFrame.js", 51 | "GoToLineDialog.js", 52 | "ResourceSourceFrame.js" 53 | ], 54 | "skip_compilation": [ 55 | "../cm/codemirror.js", 56 | "../cm/css.js", 57 | "../cm/javascript.js", 58 | "../cm/xml.js", 59 | "../cm/htmlmixed.js", 60 | "../cm/htmlembedded.js", 61 | 62 | "../cm/matchbrackets.js", 63 | "../cm/closebrackets.js", 64 | "../cm/markselection.js", 65 | "../cm/comment.js", 66 | "../cm/overlay.js", 67 | "../cm/activeline.js" 68 | ], 69 | "resources": [ 70 | "../cm/codemirror.css", 71 | "cmdevtools.css", 72 | "fontView.css", 73 | "imageView.css", 74 | "resourceSourceFrame.css" 75 | ] 76 | } 77 | -------------------------------------------------------------------------------- /mblib/front_end/source_frame/resourceSourceFrame.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 | .resource-source-frame-fallback { 8 | background-color: #eee; 9 | word-wrap: break-word; 10 | white-space: pre-wrap; 11 | -webkit-user-select: text; 12 | overflow: auto; 13 | } 14 | -------------------------------------------------------------------------------- /mblib/front_end/sources/AddSourceMapURLDialog.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 | /** 6 | * @constructor 7 | * @extends {WebInspector.DialogDelegate} 8 | * @param {function(string)} callback 9 | */ 10 | WebInspector.AddSourceMapURLDialog = function(callback) 11 | { 12 | WebInspector.DialogDelegate.call(this); 13 | this.element.classList.add("go-to-line-dialog"); 14 | this.element.createChild("label").textContent = WebInspector.UIString("Source map URL: "); 15 | 16 | this._input = this.element.createChild("input"); 17 | this._input.setAttribute("type", "text"); 18 | 19 | this._goButton = this.element.createChild("button"); 20 | this._goButton.textContent = WebInspector.UIString("Go"); 21 | this._goButton.addEventListener("click", this._onGoClick.bind(this), false); 22 | 23 | this._callback = callback; 24 | } 25 | 26 | /** 27 | * @param {!Element} element 28 | * @param {function(string)} callback 29 | */ 30 | WebInspector.AddSourceMapURLDialog.show = function(element, callback) 31 | { 32 | WebInspector.Dialog.show(element, new WebInspector.AddSourceMapURLDialog(callback)); 33 | } 34 | 35 | WebInspector.AddSourceMapURLDialog.prototype = { 36 | focus: function() 37 | { 38 | WebInspector.setCurrentFocusElement(this._input); 39 | this._input.select(); 40 | }, 41 | 42 | _onGoClick: function() 43 | { 44 | this._apply(); 45 | WebInspector.Dialog.hide(); 46 | }, 47 | 48 | _apply: function() 49 | { 50 | var value = this._input.value; 51 | this._callback(value); 52 | }, 53 | 54 | onEnter: function() 55 | { 56 | this._apply(); 57 | }, 58 | 59 | __proto__: WebInspector.DialogDelegate.prototype 60 | } 61 | -------------------------------------------------------------------------------- /mblib/front_end/sources/filteredItemSelectionDialog.css: -------------------------------------------------------------------------------- 1 | .filtered-item-list-dialog { 2 | display: flex; 3 | flex-direction: column; 4 | } 5 | 6 | .filtered-item-list-dialog > input[type=text] { 7 | flex: 0 0 36px; 8 | border: 0; 9 | box-shadow: rgba(140, 140, 140, 0.5) 0 4px 16px; 10 | margin: 0 !important; 11 | padding-left: 6px !important; 12 | z-index: 1; 13 | } 14 | 15 | .filtered-item-list-dialog > div.container { 16 | flex: auto; 17 | overflow-y: auto; 18 | background: white; 19 | } 20 | 21 | .filtered-item-list-dialog-item { 22 | padding: 6px; 23 | white-space: nowrap; 24 | text-overflow: ellipsis; 25 | overflow: hidden; 26 | color: rgb(95, 95, 95); 27 | } 28 | 29 | .filtered-item-list-dialog-item.selected { 30 | background-color: #eee; 31 | } 32 | 33 | .filtered-item-list-dialog-item span.highlight { 34 | color: #222; 35 | font-weight: bold; 36 | } 37 | 38 | .filtered-item-list-dialog-item .filtered-item-list-dialog-title { 39 | flex: auto; 40 | overflow: hidden; 41 | text-overflow: ellipsis; 42 | } 43 | 44 | .filtered-item-list-dialog-item .filtered-item-list-dialog-subtitle { 45 | flex: none; 46 | overflow: hidden; 47 | text-overflow: ellipsis; 48 | color: rgb(155, 155, 155); 49 | } 50 | 51 | .filtered-item-list-dialog-item.one-row { 52 | display: flex; 53 | } 54 | 55 | .filtered-item-list-dialog-item.two-rows { 56 | border-bottom: 1px solid rgb(235, 235, 235); 57 | } 58 | -------------------------------------------------------------------------------- /mblib/front_end/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 | -------------------------------------------------------------------------------- /mblib/front_end/sources/uiList.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 | .list-item { 8 | padding: 2px 8px 3px 8px; 9 | position: relative; 10 | min-height: 18px; 11 | white-space: nowrap; 12 | } 13 | 14 | .list-item:nth-of-type(2n) { 15 | background-color: #f8f8f8; 16 | } 17 | 18 | .list-item.selected { 19 | background-color: #dadada; 20 | } 21 | 22 | .list-item.selected > .title { 23 | font-weight: bold; 24 | } 25 | 26 | .list-item:hover { 27 | background-color: #eee; 28 | } 29 | 30 | .list-item > .title { 31 | font-weight: normal; 32 | word-wrap: break-word; 33 | white-space: normal; 34 | } 35 | 36 | .list-item > .subtitle { 37 | margin-left: 5px; 38 | color: rgba(0, 0, 0, 0.7); 39 | text-overflow: ellipsis; 40 | overflow: hidden; 41 | float: right; 42 | } 43 | 44 | .list-item > .subtitle a { 45 | color: inherit; 46 | } 47 | 48 | .list-item.label { 49 | text-align: center; 50 | } 51 | 52 | .list-item.label .title, 53 | .list-item.label .subtitle { 54 | font-style: italic; 55 | font-weight: bold; 56 | color: #999; 57 | } 58 | 59 | .list-item.dimmed { 60 | opacity: 0.6; 61 | font-style: italic; 62 | } 63 | -------------------------------------------------------------------------------- /mblib/front_end/temp_storage_shared_worker/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": ["TempStorageSharedWorker.js"] 3 | } 4 | -------------------------------------------------------------------------------- /mblib/front_end/temp_storage_shared_worker_module.js: -------------------------------------------------------------------------------- 1 | var ports=[];var isTempStorageCleared=false;var tempStorageError;self.onconnect=function(event) 2 | {var newPort=(event.ports[0]);if(isTempStorageCleared){notifyTempStorageCleared(newPort);return;} 3 | newPort.onmessage=handleMessage;newPort.onerror=handleError;ports.push(newPort);if(ports.length===1) 4 | clearTempStorage();} 5 | function clearTempStorage() 6 | {function didFail(e) 7 | {tempStorageError="Failed to clear temp storage: "+e.message+" "+e.name;console.error(tempStorageError);didClearTempStorage();} 8 | function didGetFS(fs) 9 | {fs.root.createReader().readEntries(didReadEntries,didFail);} 10 | function didReadEntries(entries) 11 | {var remainingEntries=entries.length;if(!remainingEntries){didClearTempStorage();return;} 12 | function didDeleteEntry() 13 | {if(!--remainingEntries) 14 | didClearTempStorage();} 15 | function failedToDeleteEntry(e) 16 | {tempStorageError="Failed to delete entry: "+e.message+" "+e.name;console.error(tempStorageError);didDeleteEntry();} 17 | for(var i=0;i 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /mblib/front_end/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 | 5 | Runtime.startApplication("toolbox"); 6 | -------------------------------------------------------------------------------- /mblib/front_end/toolbox.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "platform", 4 | "type": "autostart" 5 | }, 6 | { 7 | "name": "toolbox_bootstrap", 8 | "type": "autostart" 9 | } 10 | ] 11 | 12 | -------------------------------------------------------------------------------- /mblib/front_end/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 | 5 | (function() 6 | { 7 | 8 | /** 9 | * @suppressGlobalPropertiesCheck 10 | */ 11 | function toolboxLoaded() 12 | { 13 | if (!window.opener) 14 | return; 15 | var app = window.opener.WebInspector["AdvancedApp"]["_instance"](); 16 | app["toolboxLoaded"](document); 17 | } 18 | 19 | runOnWindowLoad(toolboxLoaded); 20 | 21 | })(); -------------------------------------------------------------------------------- /mblib/front_end/toolbox_bootstrap/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": [ 3 | "platform" 4 | ], 5 | "scripts": [ 6 | "Toolbox.js" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /mblib/front_end/ui/DropDownMenu.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 | /** 6 | * @constructor 7 | * @extends {WebInspector.Object} 8 | * @param {!Element} element 9 | */ 10 | WebInspector.DropDownMenu = function(element) 11 | { 12 | /** @type {!Array.} */ 13 | this._items = []; 14 | 15 | element.addEventListener("mousedown", this._onMouseDown.bind(this)); 16 | } 17 | 18 | /** @typedef {{id: string, title: string}} */ 19 | WebInspector.DropDownMenu.Item; 20 | 21 | /** @enum {string} */ 22 | WebInspector.DropDownMenu.Events = { 23 | ItemSelected: "ItemSelected" 24 | } 25 | 26 | WebInspector.DropDownMenu.prototype = { 27 | /** 28 | * @param {!Event} event 29 | */ 30 | _onMouseDown: function(event) 31 | { 32 | if (event.which !== 1) 33 | return; 34 | var menu = new WebInspector.ContextMenu(event); 35 | for (var item of this._items) 36 | menu.appendCheckboxItem(item.title, this._itemHandler.bind(this, item.id), item.id === this._selectedItemId); 37 | menu.show(); 38 | }, 39 | 40 | /** 41 | * @param {string} id 42 | */ 43 | _itemHandler: function(id) 44 | { 45 | this.dispatchEventToListeners(WebInspector.DropDownMenu.Events.ItemSelected, id); 46 | }, 47 | 48 | /** 49 | * @param {string} id 50 | * @param {string} title 51 | */ 52 | addItem: function(id, title) 53 | { 54 | this._items.push({id: id, title: title}); 55 | }, 56 | 57 | /** 58 | * @param {string} id 59 | */ 60 | selectItem: function(id) 61 | { 62 | this._selectedItemId = id; 63 | }, 64 | 65 | clear: function() 66 | { 67 | this._items = []; 68 | delete this._selectedItemId; 69 | }, 70 | 71 | __proto__: WebInspector.Object.prototype 72 | } 73 | -------------------------------------------------------------------------------- /mblib/front_end/ui/ForwardedInputEventHandler.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 | /** 6 | * @constructor 7 | */ 8 | WebInspector.ForwardedInputEventHandler = function() 9 | { 10 | InspectorFrontendHost.events.addEventListener(InspectorFrontendHostAPI.Events.KeyEventUnhandled, this._onKeyEventUnhandled, this); 11 | } 12 | 13 | WebInspector.ForwardedInputEventHandler.prototype = { 14 | /** 15 | * @param {!WebInspector.Event} event 16 | */ 17 | _onKeyEventUnhandled: function(event) 18 | { 19 | var data = event.data; 20 | var type = /** @type {string} */ (data.type); 21 | var keyIdentifier = /** @type {string} */ (data.keyIdentifier); 22 | var keyCode = /** @type {number} */ (data.keyCode); 23 | var modifiers =/** @type {number} */ (data.modifiers); 24 | 25 | if (type !== "keydown") 26 | return; 27 | 28 | WebInspector.context.setFlavor(WebInspector.ShortcutRegistry.ForwardedShortcut, WebInspector.ShortcutRegistry.ForwardedShortcut.instance); 29 | WebInspector.shortcutRegistry.handleKey(WebInspector.KeyboardShortcut.makeKey(keyCode, modifiers), keyIdentifier); 30 | WebInspector.context.setFlavor(WebInspector.ShortcutRegistry.ForwardedShortcut, null); 31 | } 32 | } 33 | 34 | /** @type {!WebInspector.ForwardedInputEventHandler} */ 35 | WebInspector.forwardedEventHandler = new WebInspector.ForwardedInputEventHandler(); 36 | -------------------------------------------------------------------------------- /mblib/front_end/ui/RootView.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 | /** 6 | * @constructor 7 | * @extends {WebInspector.VBox} 8 | */ 9 | WebInspector.RootView = function() 10 | { 11 | WebInspector.VBox.call(this); 12 | this.markAsRoot(); 13 | this.element.classList.add("root-view"); 14 | this.element.setAttribute("spellcheck", false); 15 | } 16 | 17 | WebInspector.RootView.prototype = { 18 | /** 19 | * @param {!Document} document 20 | */ 21 | attachToDocument: function(document) 22 | { 23 | document.defaultView.addEventListener("resize", this.doResize.bind(this), false); 24 | this._window = document.defaultView; 25 | this.doResize(); 26 | this.show(document.body); 27 | }, 28 | 29 | doResize: function() 30 | { 31 | if (this._window) { 32 | var size = this.constraints().minimum; 33 | var zoom = WebInspector.zoomManager.zoomFactor(); 34 | var right = Math.min(0, this._window.innerWidth - size.width / zoom); 35 | this.element.style.marginRight = right + "px"; 36 | var bottom = Math.min(0, this._window.innerHeight - size.height / zoom); 37 | this.element.style.marginBottom = bottom + "px"; 38 | } 39 | WebInspector.VBox.prototype.doResize.call(this); 40 | }, 41 | 42 | __proto__: WebInspector.VBox.prototype 43 | } 44 | -------------------------------------------------------------------------------- /mblib/front_end/ui/ThrottledWidget.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 | /** 6 | * @constructor 7 | * @extends {WebInspector.Widget} 8 | */ 9 | WebInspector.ThrottledWidget = function() 10 | { 11 | WebInspector.Widget.call(this); 12 | this._updateThrottler = new WebInspector.Throttler(100); 13 | this._updateWhenVisible = false; 14 | } 15 | 16 | WebInspector.ThrottledWidget.prototype = { 17 | /** 18 | * @param {!WebInspector.Throttler.FinishCallback} finishedCallback 19 | * @protected 20 | */ 21 | doUpdate: function(finishedCallback) 22 | { 23 | finishedCallback(); 24 | }, 25 | 26 | update: function() 27 | { 28 | this._updateWhenVisible = !this.isShowing(); 29 | if (this._updateWhenVisible) 30 | return; 31 | this._updateThrottler.schedule(innerUpdate.bind(this)); 32 | 33 | /** 34 | * @param {!WebInspector.Throttler.FinishCallback} finishedCallback 35 | * @this {WebInspector.ThrottledWidget} 36 | */ 37 | function innerUpdate(finishedCallback) 38 | { 39 | if (this.isShowing()) { 40 | this.doUpdate(finishedCallback); 41 | } else { 42 | this._updateWhenVisible = true; 43 | finishedCallback(); 44 | } 45 | } 46 | }, 47 | 48 | /** 49 | * @override 50 | */ 51 | wasShown: function() 52 | { 53 | WebInspector.Widget.prototype.wasShown.call(this); 54 | if (this._updateWhenVisible) 55 | this.update(); 56 | }, 57 | 58 | __proto__: WebInspector.Widget.prototype 59 | } 60 | -------------------------------------------------------------------------------- /mblib/front_end/ui/ZoomManager.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 | /** 6 | * @constructor 7 | * @extends {WebInspector.Object} 8 | * @param {!Window} window 9 | * @param {!InspectorFrontendHostAPI} frontendHost 10 | */ 11 | WebInspector.ZoomManager = function(window, frontendHost) 12 | { 13 | this._frontendHost = frontendHost; 14 | this._zoomFactor = this._frontendHost.zoomFactor(); 15 | window.addEventListener("resize", this._onWindowResize.bind(this), true); 16 | }; 17 | 18 | WebInspector.ZoomManager.Events = { 19 | ZoomChanged: "ZoomChanged" 20 | }; 21 | 22 | WebInspector.ZoomManager.prototype = { 23 | /** 24 | * @return {number} 25 | */ 26 | zoomFactor: function() 27 | { 28 | return this._zoomFactor; 29 | }, 30 | 31 | /** 32 | * @param {number} value 33 | * @return {number} 34 | */ 35 | cssToDIP: function(value) 36 | { 37 | return value * this._zoomFactor; 38 | }, 39 | 40 | /** 41 | * @param {number} valueDIP 42 | * @return {number} 43 | */ 44 | dipToCSS: function(valueDIP) 45 | { 46 | return valueDIP / this._zoomFactor; 47 | }, 48 | 49 | _onWindowResize: function() 50 | { 51 | var oldZoomFactor = this._zoomFactor; 52 | this._zoomFactor = this._frontendHost.zoomFactor(); 53 | if (oldZoomFactor !== this._zoomFactor) 54 | this.dispatchEventToListeners(WebInspector.ZoomManager.Events.ZoomChanged, {from: oldZoomFactor, to: this._zoomFactor}); 55 | }, 56 | 57 | __proto__: WebInspector.Object.prototype 58 | }; 59 | 60 | /** 61 | * @type {!WebInspector.ZoomManager} 62 | */ 63 | WebInspector.zoomManager; 64 | -------------------------------------------------------------------------------- /mblib/front_end/ui/checkboxTextLabel.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 | :host { 8 | padding: 0; 9 | margin: 0; 10 | display: inline-flex; 11 | flex-shrink: 0; 12 | align-items: center !important; 13 | } 14 | 15 | input { 16 | height: 12px; 17 | width: 12px; 18 | flex-shrink: 0; 19 | } 20 | 21 | input.dt-checkbox-themed { 22 | -webkit-appearance: none; 23 | margin: 0 5px auto 2px; 24 | border: 1px solid rgb(45, 45, 45); 25 | border-radius: 3px; 26 | background-color: rgb(102, 102, 102); 27 | position: relative; 28 | top: 1px; 29 | } 30 | 31 | input.dt-checkbox-themed:after { 32 | content: ''; 33 | line-height: 10px; 34 | position: absolute; 35 | cursor: pointer; 36 | width: 12px; 37 | height: 12px; 38 | background: none; 39 | } 40 | 41 | input.dt-checkbox-themed:checked:after { 42 | background-color: #333; 43 | } 44 | 45 | input.dt-checkbox-themed:after { 46 | -webkit-mask-image: url(Images/toolbarButtonGlyphs.png); 47 | -webkit-mask-size: 352px 144px; 48 | -webkit-mask-position: -128px -110px; 49 | } 50 | 51 | @media (-webkit-min-device-pixel-ratio: 1.5) { 52 | input.dt-checkbox-themed:after { 53 | -webkit-mask-image: url(Images/toolbarButtonGlyphs_2x.png); 54 | } 55 | 56 | } /* media */ 57 | -------------------------------------------------------------------------------- /mblib/front_end/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 | div { 8 | background-image: url(Images/toolbarButtonGlyphs.png); 9 | background-size: 352px 144px; 10 | } 11 | 12 | @media (-webkit-min-device-pixel-ratio: 1.5) { 13 | div { 14 | background-image: url(Images/toolbarButtonGlyphs_2x.png); 15 | } 16 | } /* media */ 17 | 18 | .close-button { 19 | width: 14px; 20 | height: 14px; 21 | background-position: -128px -96px; 22 | cursor: default; 23 | } 24 | 25 | .close-button:hover { 26 | background-position: -96px -96px; 27 | } 28 | 29 | .close-button:active { 30 | background-position: -111px -96px; 31 | } 32 | 33 | .close-button-gray { 34 | width: 13px; 35 | height: 13px; 36 | background-position: -175px -96px; 37 | } 38 | 39 | .close-button-gray:hover { 40 | background-position: -143px -96px; 41 | } 42 | 43 | .close-button-gray:active { 44 | background-position: -160px -96px; 45 | } 46 | -------------------------------------------------------------------------------- /mblib/front_end/ui/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 | } 30 | 31 | .color-swatch-inner:hover { 32 | border: 1px solid rgba(64, 64, 64, 0.8); 33 | } 34 | 35 | -------------------------------------------------------------------------------- /mblib/front_end/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 | -------------------------------------------------------------------------------- /mblib/front_end/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 | font-size: 24px; 9 | color: rgb(75%, 75%, 75%); 10 | font-weight: bold; 11 | padding: 10px; 12 | display: flex; 13 | align-items: center; 14 | justify-content: center; 15 | } 16 | -------------------------------------------------------------------------------- /mblib/front_end/ui/infobar.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 | .infobar { 8 | color: rgb(34, 34, 34); 9 | padding: 4px 6px; 10 | white-space: nowrap; 11 | display: flex; 12 | align-items: flex-start; 13 | flex: auto; 14 | border-bottom: 1px solid rgb(171, 171, 171); 15 | } 16 | 17 | .infobar-warning { 18 | background-color: rgb(253, 242, 192); 19 | } 20 | 21 | .infobar-info { 22 | background-color: rgb(255, 255, 255); 23 | } 24 | 25 | .infobar .icon { 26 | flex: none; 27 | } 28 | 29 | .infobar .content { 30 | flex: auto; 31 | padding-left: 3px; 32 | overflow: hidden; 33 | text-overflow: ellipsis; 34 | } 35 | 36 | .infobar .close-button { 37 | flex: none; 38 | } 39 | 40 | .infobar .disable-button { 41 | flex: none; 42 | margin-right: 5px; 43 | text-decoration: underline; 44 | cursor: pointer; 45 | } 46 | -------------------------------------------------------------------------------- /mblib/front_end/ui/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": [ 3 | "platform", 4 | "common", 5 | "host" 6 | ], 7 | "scripts": [ 8 | "Widget.js", 9 | "treeoutline.js", 10 | "ActionRegistry.js", 11 | "ShortcutRegistry.js", 12 | "ColorSwatch.js", 13 | "Context.js", 14 | "ContextMenu.js", 15 | "Dialog.js", 16 | "DOMSyntaxHighlighter.js", 17 | "DropDownMenu.js", 18 | "DropTarget.js", 19 | "EmptyWidget.js", 20 | "FilterBar.js", 21 | "ForwardedInputEventHandler.js", 22 | "HelpScreen.js", 23 | "HistoryInput.js", 24 | "Infobar.js", 25 | "InplaceEditor.js", 26 | "KeyboardShortcut.js", 27 | "Panel.js", 28 | "Popover.js", 29 | "ProgressIndicator.js", 30 | "ResizerWidget.js", 31 | "RootView.js", 32 | "SearchableView.js", 33 | "Section.js", 34 | "SettingsUI.js", 35 | "SidebarTreeElement.js", 36 | "SoftContextMenu.js", 37 | "SplitWidget.js", 38 | "StackView.js", 39 | "Toolbar.js", 40 | "SuggestBox.js", 41 | "TabbedPane.js", 42 | "SidebarPane.js", 43 | "TextPrompt.js", 44 | "UIUtils.js", 45 | "ViewportControl.js", 46 | "ZoomManager.js", 47 | "ThrottledWidget.js" 48 | ], 49 | "resources": [ 50 | "checkboxTextLabel.css", 51 | "closeButton.css", 52 | "colorSwatch.css", 53 | "dropTarget.css", 54 | "emptyWidget.css", 55 | "filter.css", 56 | "helpScreen.css", 57 | "infobar.css", 58 | "inspectorCommon.css", 59 | "inspectorSyntaxHighlight.css", 60 | "panelEnablerView.css", 61 | "progressIndicator.css", 62 | "propertiesSection.css", 63 | "radioButton.css", 64 | "searchableView.css", 65 | "section.css", 66 | "smallIcon.css", 67 | "softContextMenu.css", 68 | "splitWidget.css", 69 | "toolbar.css", 70 | "suggestBox.css", 71 | "tabbedPane.css", 72 | "textButton.css", 73 | "textPrompt.css", 74 | "treeoutline.css" 75 | ] 76 | } 77 | -------------------------------------------------------------------------------- /mblib/front_end/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 | -------------------------------------------------------------------------------- /mblib/front_end/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 | -------------------------------------------------------------------------------- /mblib/front_end/ui/section.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 | .section { 8 | position: relative; 9 | margin-top: 1px; 10 | } 11 | 12 | .section > .header { 13 | padding: 0 8px 0 5px; 14 | min-height: 18px; 15 | white-space: nowrap; 16 | background-origin: padding-box; 17 | background-clip: padding-box; 18 | } 19 | 20 | .section > .header::before { 21 | -webkit-user-select: none; 22 | background-image: url(Images/toolbarButtonGlyphs.png); 23 | background-size: 352px 144px; 24 | opacity: 0.5; 25 | content: "a"; 26 | color: transparent; 27 | text-shadow: none; 28 | float: left; 29 | width: 8px; 30 | margin-right: 4px; 31 | margin-top: 2px; 32 | } 33 | 34 | @media (-webkit-min-device-pixel-ratio: 1.5) { 35 | .section > .header::before { 36 | background-image: url(Images/toolbarButtonGlyphs_2x.png); 37 | } 38 | } /* media */ 39 | 40 | .section > .header::before { 41 | background-position: -4px -96px; 42 | } 43 | 44 | .section.expanded > .header::before { 45 | background-position: -20px -96px; 46 | } 47 | 48 | .section > .header .title { 49 | font-weight: normal; 50 | word-wrap: break-word; 51 | white-space: normal; 52 | line-height: 18px; 53 | } 54 | 55 | .section > .header label { 56 | display: none; 57 | } 58 | 59 | .section.expanded .header label { 60 | display: inline; 61 | } 62 | 63 | .section > .header .subtitle { 64 | float: right; 65 | margin-left: 5px; 66 | max-width: 55%; 67 | text-overflow: ellipsis; 68 | overflow: hidden; 69 | } 70 | 71 | .section > .header .subtitle a { 72 | color: inherit; 73 | } 74 | 75 | .section > .properties { 76 | display: none; 77 | } 78 | 79 | .section.expanded > .properties { 80 | display: block; 81 | } 82 | -------------------------------------------------------------------------------- /mblib/front_end/ui/smallIcon.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 | div { 8 | width: 10px; 9 | height: 10px; 10 | margin-right: 2px; 11 | display: inline-block; 12 | } 13 | 14 | div.error-icon, 15 | div.revokedError-icon, 16 | div.warning-icon, 17 | div.info-icon, 18 | div.device-icon, 19 | div.red-ball, 20 | div.green-ball, 21 | div.orange-ball { 22 | background-image: url(Images/toolbarButtonGlyphs.png); 23 | background-size: 352px 144px; 24 | } 25 | 26 | @media (-webkit-min-device-pixel-ratio: 1.5) { 27 | div.error-icon, 28 | div.revokedError-icon, 29 | div.warning-icon, 30 | div.info-icon, 31 | div.device-icon, 32 | div.red-ball, 33 | div.green-ball, 34 | div.orange-ball { 35 | background-image: url(Images/toolbarButtonGlyphs_2x.png); 36 | } 37 | } /* media */ 38 | 39 | div.error-icon { 40 | background-position: -213px -96px; 41 | } 42 | 43 | div.revokedError-icon { 44 | background-position: -245px -107px; 45 | } 46 | 47 | div.warning-icon { 48 | background-position: -202px -107px; 49 | } 50 | 51 | div.info-icon { 52 | background-position: -213px -107px; 53 | } 54 | 55 | div.device-icon { 56 | background-position: -224px -107px; 57 | } 58 | 59 | div.red-ball { 60 | background-position: -224px -96px; 61 | } 62 | 63 | div.green-ball { 64 | background-position: -235px -96px; 65 | } 66 | 67 | div.orange-ball { 68 | background-position: -246px -96px; 69 | } 70 | -------------------------------------------------------------------------------- /mblib/front_end/ui/softContextMenu.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 | :host { 8 | position: absolute; 9 | border: 1px solid rgba(196, 196, 196, 0.9); 10 | border-top: 1px solid rgba(196, 196, 196, 0.5); 11 | border-bottom: 1px solid rgba(150, 150, 150, 0.9); 12 | padding: 4px 0 4px 0; 13 | border-radius: 4px; 14 | background-color: white; 15 | box-shadow: 0 5px 10px rgba(0, 0, 0, 0.25); 16 | } 17 | 18 | .soft-context-menu-item { 19 | width: 100%; 20 | line-height: 13px; 21 | font-size: 14px; 22 | border-top: 1px solid transparent; 23 | border-bottom: 1px solid transparent; 24 | padding: 2px 7px 2px 6px; 25 | margin: 0 13px 0 0; 26 | white-space: nowrap; 27 | } 28 | 29 | .soft-context-menu-separator { 30 | height: 10px; 31 | margin: 0 1px; 32 | } 33 | 34 | .soft-context-menu-separator > .separator-line { 35 | margin: 0; 36 | height: 5px; 37 | border-bottom: 1px solid rgb(227, 227, 227); 38 | pointer-events: none; 39 | } 40 | 41 | .soft-context-menu-item-mouse-over { 42 | border-top: 1px solid rgb(56, 121, 217); 43 | border-bottom: 1px solid rgb(56, 121, 217); 44 | background-color: rgb(56, 121, 217); 45 | color: white; 46 | } 47 | 48 | :host-context(.platform-mac) .soft-context-menu-item-mouse-over { 49 | border-top: 1px solid rgb(90, 131, 236); 50 | border-bottom: 1px solid rgb(18, 88, 233); 51 | background-image: linear-gradient(to bottom, rgb(100, 140, 243), rgb(36, 101, 243)); 52 | } 53 | 54 | .soft-context-menu-item-checkmark { 55 | color: rgb(108, 108, 108); 56 | pointer-events: none; 57 | } 58 | 59 | .soft-context-menu-item-submenu-arrow { 60 | color: #222; 61 | float: right; 62 | pointer-events: none; 63 | } 64 | 65 | .soft-context-menu-item-mouse-over .soft-context-menu-item-checkmark { 66 | color: white; 67 | } 68 | -------------------------------------------------------------------------------- /mblib/front_end/ui/textButton.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 | :host { 8 | background-image: linear-gradient(hsl(0, 0%, 93%), hsl(0, 0%, 93%) 38%, hsl(0, 0%, 87%)); 9 | border: 1px solid hsla(0, 0%, 0%, 0.25); 10 | border-radius: 2px; 11 | box-shadow: 0 1px 0 hsla(0, 0%, 0%, 0.08), inset 0 1px 2px hsla(0, 100%, 100%, 0.75); 12 | color: hsl(0, 0%, 27%); 13 | font-size: 12px; 14 | margin: 0 1px 0 0; 15 | text-shadow: 0 1px 0 hsl(0, 0%, 94%); 16 | min-height: 2em !important; 17 | padding-left: 10px; 18 | padding-right: 10px; 19 | -webkit-user-select: none; 20 | flex: none; 21 | } 22 | 23 | :host-context(body.inactive), 24 | :host(:disabled) { 25 | background-image: linear-gradient(#f1f1f1, #f1f1f1 38%, #e6e6e6); 26 | border-color: rgba(80, 80, 80, 0.2); 27 | box-shadow: 0 1px 0 rgba(80, 80, 80, 0.08), inset 0 1px 2px rgba(255, 255, 255, 0.75); 28 | color: #aaa; 29 | } 30 | 31 | :host(:not(:disabled):hover) { 32 | background-image: linear-gradient(hsl(0, 0%, 94%), hsl(0, 0%, 94%) 38%, hsl(0, 0%, 88%)); 33 | border-color: hsla(0, 0%, 0%, 0.3); 34 | box-shadow: 0 1px 0 hsla(0, 0%, 0%, 0.12), inset 0 1px 2px hsla(0, 100%, 100%, 0.95); 35 | color: hsl(0, 0%, 0%); 36 | } 37 | 38 | :host(:not(:disabled):active) { 39 | background-image: linear-gradient(hsl(0, 0%, 91%), hsl(0, 0%, 91%) 38%, hsl(0, 0%, 84%)); 40 | box-shadow: none; 41 | text-shadow: none; 42 | } 43 | 44 | :host(:not(:disabled):focus) { 45 | -webkit-transition: border-color 200ms; 46 | border-color: rgb(77, 144, 254); 47 | outline: none; 48 | } 49 | -------------------------------------------------------------------------------- /mblib/front_end/ui/textPrompt.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 | .text-prompt-editing { 8 | -webkit-user-select: text; 9 | box-shadow: rgba(0, 0, 0, .5) 3px 3px 4px; 10 | outline: 1px solid rgb(66%, 66%, 66%) !important; 11 | background-color: white; 12 | -webkit-user-modify: read-write-plaintext-only; 13 | text-overflow: clip !important; 14 | padding-left: 2px; 15 | margin-left: -2px; 16 | padding-right: 2px; 17 | margin-right: -2px; 18 | margin-bottom: -1px; 19 | padding-bottom: 1px; 20 | opacity: 1.0 !important; 21 | } 22 | 23 | .text-prompt-editing, 24 | .text-prompt-editing ::content * { 25 | color: #222 !important; 26 | text-decoration: none !important; 27 | -webkit-user-modify: read-write-plaintext-only; 28 | } 29 | 30 | ::content .auto-complete-text, 31 | .text-prompt-editing ::content .auto-complete-text { 32 | color: rgb(128, 128, 128) !important; 33 | -webkit-user-select: none; 34 | -webkit-user-modify: read-only; 35 | } 36 | 37 | .text-prompt-editing ::content br { 38 | display: none; 39 | } 40 | -------------------------------------------------------------------------------- /mblib/front_end/ui_lazy/flameChart.css: -------------------------------------------------------------------------------- 1 | .flame-chart-main-pane { 2 | overflow: hidden; 3 | } 4 | 5 | .flame-chart-marker-highlight-element { 6 | position: absolute; 7 | top: 0; 8 | height: 20px; 9 | width: 4px; 10 | margin: 0 -2px; 11 | content: ""; 12 | display: block; 13 | } 14 | 15 | .flame-chart-highlight-element { 16 | background-color: black; 17 | position: absolute; 18 | opacity: 0.2; 19 | pointer-events: none; 20 | } 21 | 22 | .flame-chart-selected-element { 23 | position: absolute; 24 | pointer-events: none; 25 | border-color: rgb(56, 121, 217); 26 | border-width: 2px; 27 | border-style: solid; 28 | background-color: rgba(56, 121, 217, 0.2); 29 | } 30 | 31 | .flame-chart-v-scroll { 32 | position: absolute; 33 | width: 14px; 34 | top: 0; 35 | right: 0; 36 | bottom: 0; 37 | overflow-x: hidden; 38 | z-index: 200; 39 | } 40 | 41 | .flame-chart-selection-overlay { 42 | position: absolute; 43 | z-index: 100; 44 | background-color: rgba(56, 121, 217, 0.3); 45 | border-color: rgb(16, 81, 177); 46 | border-width: 0 1px; 47 | border-style: solid; 48 | pointer-events: none; 49 | top: 0; 50 | bottom: 0; 51 | text-align: center; 52 | } 53 | 54 | .flame-chart-selection-overlay .time-span { 55 | white-space: nowrap; 56 | position: absolute; 57 | left: 0; 58 | right: 0; 59 | bottom: 0; 60 | } 61 | 62 | .flame-chart-entry-info { 63 | position: absolute; 64 | bottom: 20px; 65 | left: 20px; 66 | background-color: rgba(255, 255, 255, 0.7); 67 | pointer-events: none; 68 | } 69 | -------------------------------------------------------------------------------- /mblib/front_end/ui_lazy/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": [ 3 | "platform", 4 | "common", 5 | "host", 6 | "ui" 7 | ], 8 | "scripts": [ 9 | "DataGrid.js", 10 | "ViewportDataGrid.js", 11 | "SortableDataGrid.js", 12 | "ShowMoreDataGridNode.js", 13 | "FlameChart.js", 14 | "OverviewGrid.js", 15 | "PieChart.js", 16 | "TimelineGrid.js", 17 | "TimelineOverviewPane.js" 18 | ], 19 | "resources": [ 20 | "dataGrid.css", 21 | "flameChart.css", 22 | "overviewGrid.css", 23 | "pieChart.css", 24 | "timelineGrid.css" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /mblib/front_end/ui_lazy/overviewGrid.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 | .overview-grid-window-selector { 8 | position: absolute; 9 | top: 0; 10 | bottom: 0; 11 | background-color: rgba(125, 173, 217, 0.5); 12 | z-index: 250; 13 | pointer-events: none; 14 | } 15 | 16 | .overview-grid-window { 17 | background-color: white; 18 | position: absolute; 19 | left: 0; 20 | right: 0; 21 | top: 0; 22 | height: 20px; 23 | z-index: 150; 24 | } 25 | 26 | .overview-grid-dividers-background { 27 | left: 0; 28 | right: 0; 29 | top: 0; 30 | height: 20px; 31 | background-color: black; 32 | position: absolute; 33 | } 34 | 35 | .overview-grid-window-rulers { 36 | top: 0; 37 | bottom: 0; 38 | position: absolute; 39 | opacity: 0.2; 40 | border-right: 1px solid black; 41 | border-left: 1px solid black; 42 | z-index: 250; 43 | pointer-events: none; 44 | } 45 | 46 | .overview-grid-window-resizer { 47 | position: absolute; 48 | top: 0; 49 | height: 20px; 50 | width: 5px; 51 | margin-left: -2px; 52 | margin-right: -3px; 53 | background-color: rgb(153, 153, 153); 54 | z-index: 500; 55 | border-radius: 2px; 56 | box-shadow: white 1px 0 0, white -1px 0 0, white 0 1px 0, white 0 -1px 0; 57 | } 58 | 59 | .overview-grid-window-resizer-right { 60 | margin-left: -3px; 61 | margin-right: -2px; 62 | } 63 | 64 | .overview-grid-cursor-area { 65 | position: absolute; 66 | left: 0; 67 | right: 0; 68 | top: 20px; 69 | bottom: 0; 70 | z-index: 500; 71 | cursor: text; 72 | } 73 | 74 | .overview-grid-cursor-position { 75 | position: absolute; 76 | top: 0; 77 | bottom: 0; 78 | width: 2px; 79 | background-color: hsla(220, 95%, 50%, 0.7); 80 | z-index: 500; 81 | pointer-events: none; 82 | visibility: hidden; 83 | } 84 | -------------------------------------------------------------------------------- /mblib/front_end/ui_lazy/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 | -------------------------------------------------------------------------------- /mblib/front_end/ui_lazy/timelineGrid.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 | .resources-dividers { 8 | position: absolute; 9 | left: 0; 10 | right: 0; 11 | top: 0; 12 | z-index: -100; 13 | bottom: 0; 14 | } 15 | 16 | .resources-event-dividers { 17 | position: absolute; 18 | left: 0; 19 | right: 0; 20 | height: 100%; 21 | top: 0; 22 | z-index: 300; 23 | pointer-events: none; 24 | } 25 | 26 | .resources-dividers-label-bar { 27 | position: absolute; 28 | top: 0; 29 | left: 0; 30 | right: 0; 31 | background-color: rgba(255, 255, 255, 0.85); 32 | background-clip: padding-box; 33 | height: 20px; 34 | z-index: 200; 35 | pointer-events: none; 36 | overflow: hidden; 37 | } 38 | 39 | .resources-divider { 40 | position: absolute; 41 | width: 1px; 42 | top: 0; 43 | bottom: 0; 44 | background-color: rgba(0, 0, 0, 0.1); 45 | } 46 | 47 | .resources-event-divider { 48 | position: absolute; 49 | width: 2px; 50 | top: 0; 51 | bottom: 0; 52 | z-index: 300; 53 | } 54 | 55 | .resources-divider-label { 56 | position: absolute; 57 | top: 4px; 58 | right: 3px; 59 | font-size: 80%; 60 | white-space: nowrap; 61 | pointer-events: none; 62 | } 63 | 64 | .timeline-grid-header { 65 | height: 20px; 66 | pointer-events: none; 67 | } 68 | -------------------------------------------------------------------------------- /mblib/front_end/workspace/module.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": ["common", "host", "platform"], 3 | "scripts": [ 4 | "ExcludedFolderManager.js", 5 | "FileManager.js", 6 | "FileSystemMapping.js", 7 | "IsolatedFileSystem.js", 8 | "IsolatedFileSystemManager.js", 9 | "SearchConfig.js", 10 | "UISourceCode.js", 11 | "Workspace.js" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /mblib/node_v8_4_8.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/node_v8_4_8.dll -------------------------------------------------------------------------------- /mblib/plugins/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/plugins/readme.txt -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/browser/api/app.js: -------------------------------------------------------------------------------- 1 | 2 | var App = process.binding('atom_browser_app').App; 3 | 4 | App.prototype.commandLine = { 5 | appendSwitch: function(switchVal, value) { 6 | }, 7 | 8 | appendArgument: function(value) { 9 | } 10 | }; 11 | 12 | let appPath = null; 13 | 14 | App.prototype.getAppPath = function() { 15 | return appPath; 16 | } 17 | 18 | App.prototype.setAppPath = function(path) { 19 | appPath = path 20 | } 21 | 22 | App.prototype.getApplicationMenu = function() { 23 | return Menu.getApplicationMenu() 24 | } 25 | 26 | /**/ 27 | var singleInstanceCallbackMap = []; 28 | var singleInstanceCallbackMapIdGen = 0; 29 | 30 | function singleInstancCallback(callback) { 31 | return function(argString) { 32 | try { 33 | var argJson = JSON.parse(argString); 34 | if (argJson.length == 0) 35 | return; 36 | 37 | if (argJson.length == 1) 38 | argJson.append(""); 39 | 40 | var workingDirectory = argJson.pop(); 41 | callback(argJson, workingDirectory); 42 | 43 | } catch (e) { 44 | } 45 | } 46 | } 47 | 48 | App.prototype.makeSingleInstance = function(callback) { 49 | //if (callback) 50 | // return this.makeSingleInstanceImpl(-1); 51 | 52 | //singleInstanceCallbackMapIdGen++; 53 | //singleInstanceCallbackMap[singleInstanceCallbackMapIdGen] = callback; 54 | return this.makeSingleInstanceImpl(singleInstancCallback(callback)); 55 | } 56 | 57 | 58 | exports.App = App; -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/browser/api/browser-window.js: -------------------------------------------------------------------------------- 1 | 2 | process.binding('atom_browser_web_contents'); 3 | 4 | const EventEmitter = require('events').EventEmitter; 5 | const BrowserWindow = process.binding('atom_browser_window').BrowserWindow; 6 | Object.setPrototypeOf(BrowserWindow.prototype, EventEmitter.prototype); 7 | 8 | require('./web-contents'); 9 | 10 | 11 | 12 | // Helpers. 13 | Object.defineProperty(BrowserWindow.prototype, "webContents", { 14 | get: function () { 15 | var webContents = this._getWebContents(); 16 | webContents._init(); 17 | return webContents; 18 | }, 19 | configurable : true 20 | }); 21 | 22 | Object.assign(BrowserWindow.prototype, { 23 | loadURL (...args) { 24 | return this.webContents._loadURL.apply(this.webContents, args) 25 | }, 26 | getURL (...args) { 27 | return this.webContents.getURL() 28 | }, 29 | reload (...args) { 30 | return this.webContents.reload.apply(this.webContents, args) 31 | }, 32 | send (...args) { 33 | return this.webContents.send.apply(this.webContents, args) 34 | }, 35 | openDevTools (...args) { 36 | return this.webContents.openDevTools.apply(this.webContents, args) 37 | }, 38 | closeDevTools () { 39 | return this.webContents.closeDevTools() 40 | }, 41 | isDevToolsOpened () { 42 | return this.webContents.isDevToolsOpened() 43 | }, 44 | isDevToolsFocused () { 45 | return this.webContents.isDevToolsFocused() 46 | }, 47 | toggleDevTools () { 48 | return this.webContents.toggleDevTools() 49 | }, 50 | inspectElement (...args) { 51 | return this.webContents.inspectElement.apply(this.webContents, args) 52 | }, 53 | inspectServiceWorker () { 54 | return this.webContents.inspectServiceWorker() 55 | }, 56 | showDefinitionForSelection () { 57 | return this.webContents.showDefinitionForSelection() 58 | }, 59 | capturePage (...args) { 60 | return this.webContents.capturePage.apply(this.webContents, args) 61 | } 62 | }) 63 | 64 | module.exports = BrowserWindow; -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/browser/api/ipc-main.js: -------------------------------------------------------------------------------- 1 | const EventEmitter = require('events').EventEmitter 2 | 3 | module.exports = new EventEmitter() 4 | 5 | // Do not throw exception when channel name is "error". 6 | module.exports.on('error', () => {}) 7 | -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/browser/api/screen.js: -------------------------------------------------------------------------------- 1 | const EventEmitter = require('events').EventEmitter; 2 | const Screen = process.binding('atom_common_screen').Screen; 3 | 4 | Object.setPrototypeOf(Screen.prototype, EventEmitter.prototype) 5 | 6 | module.exports = Screen; 7 | -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/browser/api/tray.js: -------------------------------------------------------------------------------- 1 | 2 | const EventEmitter = require('events').EventEmitter; 3 | const binding = process.binding('atom_browser_tray'); 4 | const Tray = binding.Tray; 5 | Object.setPrototypeOf(Tray.prototype, EventEmitter.prototype); 6 | 7 | const Menu = require('./menu'); 8 | 9 | Tray.prototype._init = function () { 10 | this.menu = null; 11 | } 12 | 13 | Tray.prototype.onNativeMessage = function(msg) { 14 | if ("right-click" == msg) { 15 | console.log("Tray.prototype.onNativeMessage:" + this.menu); 16 | if (this.menu) 17 | this.menu.popup(); 18 | this.emit("right-click"); 19 | } else if ("click" == msg) 20 | this.emit("click"); 21 | } 22 | 23 | Tray.prototype.setContextMenu = function(menu) { 24 | var self = this; 25 | this.menu = menu; 26 | this._setIsContextMenu(true); 27 | this._setNativeMessageCallback(function(msg) { self.onNativeMessage(msg); }); 28 | } 29 | 30 | Tray.prototype.popUpContextMenu = function(menu, position) { 31 | if (this.menu) 32 | return; 33 | menu.popup(position); 34 | } 35 | 36 | exports.Tray = Tray; -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/browser/cookies.dat: -------------------------------------------------------------------------------- 1 | # Netscape HTTP Cookie File 2 | # https://curl.haxx.se/docs/http-cookies.html 3 | # This file was generated by libcurl! Edit at your own risk. 4 | 5 | #HttpOnly_.visualstudio.com TRUE / TRUE 1686205071 VstsSession %7B%22PersistentSessionId%22%3A%22526b1fe4-fdd5-4c6e-8ea9-11048c4998ef%22%2C%22PendingAuthenticationSessionId%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22CurrentAuthenticationSessionId%22%3A%2200000000-0000-0000-0000-000000000000%22%7D 6 | -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/common/api/callbacks-registry.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | var v8Util = process.binding('atom_common_v8_util').v8Util; 4 | v8Util = new v8Util(); 5 | 6 | class CallbacksRegistry { 7 | constructor () { 8 | this.nextId = 0 9 | this.callbacks = {} 10 | } 11 | 12 | add (callback) { 13 | // The callback is already added. 14 | var filenameAndLine, id, location, match, ref, regexp, stackString 15 | id = v8Util.getHiddenValue(callback, 'callbackId') 16 | if (id != null) { 17 | return id 18 | } 19 | id = ++this.nextId 20 | 21 | // Capture the location of the function and put it in the ID string, 22 | // so that release errors can be tracked down easily. 23 | regexp = /at (.*)/gi 24 | stackString = (new Error()).stack 25 | while ((match = regexp.exec(stackString)) !== null) { 26 | location = match[1] 27 | if (location.indexOf('(native)') !== -1) { 28 | continue 29 | } 30 | if (location.indexOf('electron.asar') !== -1) { 31 | continue 32 | } 33 | ref = /([^\/^\)]*)\)?$/gi.exec(location) 34 | filenameAndLine = ref[1] 35 | break 36 | } 37 | this.callbacks[id] = callback 38 | v8Util.setHiddenValue(callback, 'callbackId', id) 39 | v8Util.setHiddenValue(callback, 'location', filenameAndLine) 40 | return id 41 | } 42 | 43 | get (id) { 44 | var ref 45 | return (ref = this.callbacks[id]) != null ? ref : function () {} 46 | } 47 | 48 | call (id, ...args) { 49 | var ref 50 | return (ref = this.get(id)).call.apply(ref, [global].concat(args)) 51 | } 52 | 53 | apply (id, ...args) { 54 | var ref 55 | return (ref = this.get(id)).apply.apply(ref, [global].concat(args)) 56 | } 57 | 58 | remove (id) { 59 | const callback = this.callbacks[id] 60 | if (callback) { 61 | v8Util.deleteHiddenValue(callback, 'callbackId') 62 | delete this.callbacks[id] 63 | } 64 | } 65 | } 66 | CallbacksRegistry.CallbacksRegistry = CallbacksRegistry; 67 | 68 | module.exports = CallbacksRegistry; 69 | -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/common/api/clipboard.js: -------------------------------------------------------------------------------- 1 | const clipboard = {}; // process.binding('atom_common_clipboard').Clipboard; 2 | 3 | clipboard.readText = function () { 4 | console.log("--------------clipboard.readText"); 5 | return ""; 6 | } 7 | 8 | clipboard.writeText = function (text, type) { 9 | console.log("--------------clipboard.writeText"); 10 | } 11 | 12 | clipboard.readImage = function (type) { 13 | ; 14 | } 15 | 16 | clipboard.writeImage = function (image, type) { 17 | ; 18 | } 19 | 20 | clipboard.clear = function (type) { 21 | ; 22 | } 23 | 24 | clipboard.availableFormats = function (type) { 25 | return []; 26 | } 27 | 28 | clipboard.has = function (data, type) { 29 | return false; 30 | } 31 | 32 | clipboard.read = function (data, type) { 33 | return ""; 34 | } 35 | 36 | clipboard.write = function (data, type) { 37 | return; 38 | } 39 | 40 | // TODO(codebytere): remove in 3.0 41 | clipboard.readHtml = function () { 42 | //return clipboard.readHTML(); 43 | return ""; 44 | } 45 | 46 | // TODO(codebytere): remove in 3.0 47 | clipboard.writeHtml = function () { 48 | //return clipboard.writeHTML(); 49 | } 50 | 51 | // TODO(codebytere): remove in 3.0 52 | clipboard.readRtf = function () { 53 | return ""; 54 | //return clipboard.readRTF(); 55 | } 56 | 57 | // TODO(codebytere): remove in 3.0 58 | clipboard.writeRtf = function () { 59 | //return clipboard.writeRTF(); 60 | } 61 | 62 | module.exports = clipboard; 63 | -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/common/api/exports/electron.js: -------------------------------------------------------------------------------- 1 | // Attaches properties to |exports|. 2 | exports.defineProperties = function (exports) { 3 | return Object.defineProperties(exports, { 4 | // Common modules, please sort with alphabet order. 5 | clipboard: { 6 | // Must be enumerable, otherwise it woulde be invisible to remote module. 7 | enumerable: true, 8 | get: function () { 9 | return require('../clipboard') 10 | } 11 | }, 12 | crashReporter: { 13 | enumerable: true, 14 | get: function () { 15 | return require('../crash-reporter') 16 | } 17 | }, 18 | nativeImage: { 19 | enumerable: true, 20 | get: function () { 21 | return require('../native-image') 22 | } 23 | }, 24 | shell: { 25 | enumerable: true, 26 | get: function () { 27 | return require('../shell') 28 | } 29 | }, 30 | 31 | // The internal modules, invisible unless you know their names. 32 | CallbacksRegistry: { 33 | get: function () { 34 | return require('../callbacks-registry') 35 | } 36 | }, 37 | deprecate: { 38 | get: function () { 39 | return require('../deprecate') 40 | } 41 | }, 42 | deprecations: { 43 | get: function () { 44 | return require('../deprecations') 45 | } 46 | }, 47 | isPromise: { 48 | get: function () { 49 | return require('../is-promise') 50 | } 51 | } 52 | }) 53 | } 54 | -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/common/api/intl-collator.js: -------------------------------------------------------------------------------- 1 | const IntlCollator = process.binding('atom_common_intl_collator').IntlCollator; 2 | 3 | /* 4 | function Collator(langArray, resolvedOptions) { 5 | this.m_resolvedOptions = resolvedOptions; 6 | } 7 | 8 | Collator.prototype.resolvedOptions = function () { 9 | return this.m_resolvedOptions; 10 | } 11 | 12 | 13 | 14 | IntlCollator.prototype.compare = function(a, b) { 15 | console.log("this._compare:" + this._compare); 16 | return this._compare(a, b); 17 | } 18 | 19 | 20 | Object.setPrototypeOf(Collator.prototype, IntlCollator.prototype); 21 | */ 22 | 23 | function Collator(langArray, resolvedOptions) { 24 | this.m_resolvedOptions = resolvedOptions; 25 | this.intl = new IntlCollator(langArray, resolvedOptions); 26 | } 27 | 28 | Collator.prototype.resolvedOptions = function () { 29 | return this.m_resolvedOptions; 30 | } 31 | 32 | Collator.prototype.compare = function(a, b) { 33 | return this.intl.compare(a, b); 34 | } 35 | 36 | exports.Collator = Collator; -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/common/api/is-promise.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | function isPromise (val) { 4 | return ( 5 | val && 6 | val.then && 7 | val.then instanceof Function && 8 | val.constructor && 9 | val.constructor.reject && 10 | val.constructor.reject instanceof Function && 11 | val.constructor.resolve && 12 | val.constructor.resolve instanceof Function 13 | ) 14 | } 15 | module.exports = isPromise; 16 | isPromise.isPromise = isPromise; -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/common/api/screen.js: -------------------------------------------------------------------------------- 1 | 2 | const binding = process.binding('atom_common_screen'); 3 | const Screen = binding.Screen; 4 | exports.Screen = new Screen(); 5 | 6 | const electronScreen = binding.Screen; 7 | exports.screen = new electronScreen(); -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/common/api/shell.js: -------------------------------------------------------------------------------- 1 | 2 | const binding = process.binding('atom_common_shell'); 3 | const Shell = binding.Shell; 4 | exports.Shell = Shell; 5 | 6 | const shell = binding.Shell; 7 | exports.shell = shell; -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/common/asar_init.js: -------------------------------------------------------------------------------- 1 | ;(function () { 2 | return function (process, require, asarSource) { 3 | 4 | // Make asar.js accessible via "require". 5 | process.binding('natives').ELECTRON_ASAR = asarSource; 6 | 7 | // Monkey-patch the fs module. 8 | require('ELECTRON_ASAR').wrapFsWithAsar(require('fs')); 9 | 10 | // Make graceful-fs work with asar. 11 | var source = process.binding('natives'); 12 | source['original-fs'] = source.fs; 13 | source['fs'] = ` 14 | var nativeModule = new process.NativeModule('original-fs') 15 | nativeModule.cache() 16 | nativeModule.compile() 17 | var asar = require('ELECTRON_ASAR') 18 | asar.wrapFsWithAsar(nativeModule.exports) 19 | module.exports = nativeModule.exports`; 20 | } 21 | })() 22 | -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/default_app/default_app.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const app = require('electron').app; 3 | const BrowserWindow = require('electron').BrowserWindow; 4 | const path = require('path'); 5 | 6 | let mainWindow = null 7 | 8 | // Quit when all windows are closed. 9 | app.on('window-all-closed', () => { 10 | app.quit() 11 | }) 12 | 13 | exports.load = (appUrl) => { 14 | app.on('ready', () => { 15 | const options = { 16 | width: 800, 17 | height: 600, 18 | autoHideMenuBar: true, 19 | backgroundColor: '#FFFFFF', 20 | useContentSize: true 21 | } 22 | if (process.platform === 'linux') { 23 | options.icon = path.join(__dirname, 'icon.png') 24 | } 25 | 26 | mainWindow = new BrowserWindow(options) 27 | mainWindow.loadURL(appUrl) 28 | mainWindow.focus() 29 | }) 30 | } 31 | -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/default_app/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/resources/miniblink.asar/default_app/icon.png -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/default_app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "electron", 3 | "productName": "Electron", 4 | "main": "main.js" 5 | } 6 | -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/renderer/api/ipc-renderer.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | var IpcRendererBinding = process.binding('atom_renderer_ipc').ipcRenderer; 4 | const EventEmitter = require('events').EventEmitter; 5 | var v8Util = new (process.binding('atom_common_v8_util').v8Util)(); 6 | var binding = new IpcRendererBinding(); 7 | 8 | // Created by init.js. 9 | const ipcRenderer = v8Util.getHiddenValue(global, 'ipc'); //var ipcRenderer = new EventEmitter(); 10 | 11 | ipcRenderer.send = function (...args) { 12 | return binding.send('ipc-message', args); 13 | } 14 | 15 | ipcRenderer.sendSync = function (...args) { 16 | return JSON.parse(binding.sendSync('ipc-message-sync', args)); 17 | } 18 | 19 | ipcRenderer.sendToHost = function (...args) { 20 | return binding.send('ipc-message-host', args); 21 | } 22 | 23 | ipcRenderer.sendTo = function (webContentsId, channel, ...args) { 24 | if (typeof webContentsId !== 'number') { 25 | throw new TypeError('First argument has to be webContentsId'); 26 | } 27 | 28 | ipcRenderer.send('ELECTRON_BROWSER_SEND_TO', false, webContentsId, channel, ...args); 29 | } 30 | 31 | ipcRenderer.sendToAll = function (webContentsId, channel, ...args) { 32 | if (typeof webContentsId !== 'number') { 33 | throw new TypeError('First argument has to be webContentsId'); 34 | } 35 | 36 | ipcRenderer.send('ELECTRON_BROWSER_SEND_TO', true, webContentsId, channel, ...args); 37 | } 38 | 39 | //electron.ipcRenderer = ipcRenderer; 40 | module.exports = ipcRenderer; -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/renderer/api/screen.js: -------------------------------------------------------------------------------- 1 | module.exports = require('electron').remote.screen 2 | -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/renderer/api/web-frame.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const EventEmitter = require('events').EventEmitter; 4 | const WebFrame = process.binding('atom_renerer_webframe').WebFrame; 5 | const webFrame = new WebFrame(); 6 | 7 | // WebFrame is an EventEmitter. 8 | Object.setPrototypeOf(WebFrame.prototype, EventEmitter.prototype) 9 | 10 | // Lots of webview would subscribe to webFrame's events. 11 | webFrame.setMaxListeners(0); 12 | 13 | module.exports = webFrame; 14 | -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/renderer/electron.js: -------------------------------------------------------------------------------- 1 | 2 | const electron = require('electron'); 3 | electron.ipcRenderer = require("./api/ipc-renderer"); 4 | electron.CallbacksRegistry = require("./../common/api/callbacks-registry").CallbacksRegistry; 5 | electron.isPromise = require("./../common/api/is-promise").isPromise; 6 | electron.remote = require("./api/remote"); 7 | electron.shell = require("./../common/api/shell").Shell; 8 | electron.screen = require("./../common/api/screen").Screen; 9 | electron.webFrame = require("./api/web-frame"); 10 | electron.clipboard = require("./../common/api/clipboard"); 11 | 12 | module.exports = electron; -------------------------------------------------------------------------------- /mblib/resources/miniblink.asar/renderer/web-view/web-view-constants.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | // Attributes. 3 | ATTRIBUTE_AUTOSIZE: 'autosize', 4 | ATTRIBUTE_MAXHEIGHT: 'maxheight', 5 | ATTRIBUTE_MAXWIDTH: 'maxwidth', 6 | ATTRIBUTE_MINHEIGHT: 'minheight', 7 | ATTRIBUTE_MINWIDTH: 'minwidth', 8 | ATTRIBUTE_NAME: 'name', 9 | ATTRIBUTE_PARTITION: 'partition', 10 | ATTRIBUTE_SRC: 'src', 11 | ATTRIBUTE_HTTPREFERRER: 'httpreferrer', 12 | ATTRIBUTE_NODEINTEGRATION: 'nodeintegration', 13 | ATTRIBUTE_PLUGINS: 'plugins', 14 | ATTRIBUTE_DISABLEWEBSECURITY: 'disablewebsecurity', 15 | ATTRIBUTE_ALLOWPOPUPS: 'allowpopups', 16 | ATTRIBUTE_PRELOAD: 'preload', 17 | ATTRIBUTE_USERAGENT: 'useragent', 18 | ATTRIBUTE_BLINKFEATURES: 'blinkfeatures', 19 | ATTRIBUTE_DISABLEBLINKFEATURES: 'disableblinkfeatures', 20 | 21 | // Internal attribute. 22 | ATTRIBUTE_INTERNALINSTANCEID: 'internalinstanceid', 23 | 24 | // Error messages. 25 | ERROR_MSG_ALREADY_NAVIGATED: 'The object has already navigated, so its partition cannot be changed.', 26 | ERROR_MSG_CANNOT_INJECT_SCRIPT: ': ' + 'Script cannot be injected into content until the page has loaded.', 27 | ERROR_MSG_INVALID_PARTITION_ATTRIBUTE: 'Invalid partition attribute.', 28 | ERROR_MSG_INVALID_PRELOAD_ATTRIBUTE: 'Only "file:" protocol is supported in "preload" attribute.' 29 | }; 30 | -------------------------------------------------------------------------------- /mblib/wke.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/mblib/wke.h -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/readme.txt -------------------------------------------------------------------------------- /res/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/res/resource.h -------------------------------------------------------------------------------- /res/soui_res.rc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/res/soui_res.rc2 -------------------------------------------------------------------------------- /resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by SweepingEdge.rc 4 | // 5 | 6 | // Next default values for new objects 7 | // 8 | #ifdef APSTUDIO_INVOKED 9 | #ifndef APSTUDIO_READONLY_SYMBOLS 10 | #define _APS_NEXT_RESOURCE_VALUE 114 11 | #define _APS_NEXT_COMMAND_VALUE 40037 12 | #define _APS_NEXT_CONTROL_VALUE 1000 13 | #define _APS_NEXT_SYMED_VALUE 101 14 | #endif 15 | #endif 16 | -------------------------------------------------------------------------------- /stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/stdafx.h -------------------------------------------------------------------------------- /tabctrlex/CDropWnd.cpp: -------------------------------------------------------------------------------- 1 | #include"stdafx.h" 2 | #include "CDropWnd.h" 3 | 4 | 5 | void CDropWnd::OnPaint(IRenderTarget *pRT) 6 | { 7 | CRect rcWindow; 8 | GetWindowRect(&rcWindow); 9 | pRT->BitBlt(rcWindow, m_memRT, 0, 0, SRCCOPY); 10 | } 11 | void CDropWnd::CopyDropWindBkgndFormWindow(SPrintWindow *FormWindow) 12 | { 13 | if (m_memRT) 14 | m_memRT = NULL; 15 | CRect rcWindow; 16 | GetWindowRect(&rcWindow); 17 | GETRENDERFACTORY->CreateRenderTarget(&m_memRT, rcWindow.Width(), rcWindow.Height()); 18 | m_memRT->ClearRect(rcWindow, RGBA(100, 100, 100, 255)); 19 | FormWindow->Print(m_memRT, rcWindow); 20 | } -------------------------------------------------------------------------------- /tabctrlex/CDropWnd.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "core\Swnd.h" 3 | #include "SBrowserTab.h" 4 | 5 | class CDropWnd : public SWindow 6 | { 7 | SOUI_CLASS_NAME(CDropWnd, L"dropwindow") 8 | CAutoRefPtr m_memRT; 9 | protected: 10 | void OnPaint(IRenderTarget *pRT); 11 | public: 12 | void CopyDropWindBkgndFormWindow(SPrintWindow *FormWindow); 13 | SOUI_MSG_MAP_BEGIN() 14 | MSG_WM_PAINT_EX(OnPaint) 15 | SOUI_MSG_MAP_END() 16 | }; -------------------------------------------------------------------------------- /tabctrlex/DropTarget.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/tabctrlex/DropTarget.cpp -------------------------------------------------------------------------------- /tabctrlex/DropTarget.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/tabctrlex/DropTarget.h -------------------------------------------------------------------------------- /tabctrlex/DropWindow.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/tabctrlex/DropWindow.cpp -------------------------------------------------------------------------------- /tabctrlex/DropWindow.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "CDropWnd.h" 3 | #include "SBrowserTab.h" 4 | class CDropWindow : 5 | public SHostWnd 6 | { 7 | int OnCreate(LPCREATESTRUCT lpCreateStruct); 8 | BOOL OnInitDialog(HWND wndFocus, LPARAM lInitParam); 9 | 10 | SPrintWindow *m_PrintWnd; 11 | public: 12 | void CopyDropWindBkgndFormWindow(SPrintWindow *FormWindow) 13 | { 14 | /*m_PrintWnd = FormWindow; 15 | IRenderTarget *pRt = GetRenderTarget(NULL,0,FALSE); 16 | m_PrintWnd->Print(pRt); 17 | ReleaseRenderTarget(pRt);*/ 18 | //UpdateLayerFromRenderTarget(m_memRT, m_hostAttr.m_byAlpha, GetWindowRect()); 19 | FindChildByName2(L"dropwindow")->CopyDropWindBkgndFormWindow(FormWindow); 20 | } 21 | void close() 22 | { 23 | CSimpleWnd::DestroyWindow(); 24 | } 25 | // void OnPaint(IRenderTarget * pRT) 26 | // { 27 | // m_PrintWnd->Print(pRT); 28 | // } 29 | CDropWindow(); 30 | ~CDropWindow(); 31 | BEGIN_MSG_MAP_EX(CDropWindow) 32 | MSG_WM_CREATE(OnCreate) 33 | MSG_WM_DESTROY(OnDestroy) 34 | MSG_WM_INITDIALOG(OnInitDialog) 35 | //MSG_WM_PAINT_EX(OnPaint) 36 | CHAIN_MSG_MAP(SHostWnd) 37 | REFLECT_NOTIFICATIONS_EX() 38 | END_MSG_MAP() 39 | private: 40 | BOOL m_bLayoutInited; 41 | }; 42 | 43 | -------------------------------------------------------------------------------- /tabctrlex/IDropInterface.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | class CIDropSource :public IDropSource 3 | { 4 | private: 5 | volatile LONG m_lRefCount; 6 | public: 7 | CIDropSource(); 8 | HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void ** ppvObject); 9 | 10 | ULONG STDMETHODCALLTYPE AddRef(void); 11 | 12 | ULONG STDMETHODCALLTYPE Release(void); 13 | }; 14 | class CIDataObject :public IDataObject 15 | { 16 | private: 17 | volatile LONG m_lRefCount; 18 | public: 19 | CIDataObject(); 20 | HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void ** ppvObject); 21 | 22 | ULONG STDMETHODCALLTYPE AddRef(void); 23 | 24 | ULONG STDMETHODCALLTYPE Release(void); 25 | }; 26 | class CIDropTarget :public IDropTarget 27 | { 28 | private: 29 | volatile LONG m_lRefCount; 30 | public: 31 | CIDropTarget(); 32 | HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void ** ppvObject); 33 | 34 | ULONG STDMETHODCALLTYPE AddRef(void); 35 | 36 | ULONG STDMETHODCALLTYPE Release(void); 37 | }; -------------------------------------------------------------------------------- /tabctrlex/SAnimator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/tabctrlex/SAnimator.h -------------------------------------------------------------------------------- /tabctrlex/SBrowserTab.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/tabctrlex/SBrowserTab.cpp -------------------------------------------------------------------------------- /tabctrlex/SBrowserTab.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/tabctrlex/SBrowserTab.h -------------------------------------------------------------------------------- /tabctrlex/SEditEx.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "SEditEx.h" 3 | 4 | namespace SOUI 5 | { 6 | SEditEx::SEditEx() 7 | { 8 | GetEventSet()->addEvent(EVENTID(EventEditKeyReturn)); 9 | } 10 | 11 | void SEditEx::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 12 | { 13 | if (nChar == VK_RETURN) 14 | { 15 | EventEditKeyReturn evt(this); 16 | FireEvent(evt); 17 | return; 18 | } 19 | return SRichEdit::OnKeyDown(nChar, nRepCnt, nFlags); 20 | } 21 | } -------------------------------------------------------------------------------- /tabctrlex/SEditEx.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | namespace SOUI 5 | { 6 | #define EVT_EDIT_KEYRETURN (EVT_EXTERNAL_BEGIN + 600) 7 | 8 | class EventEditKeyReturn : public TplEventArgs 9 | { 10 | SOUI_CLASS_NAME(EventEditKeyReturn, L"on_edit_return") 11 | public: 12 | EventEditKeyReturn(SObject *pSender) :TplEventArgs(pSender){} 13 | enum { EventID = EVT_EDIT_KEYRETURN }; 14 | }; 15 | 16 | 17 | class SEditEx 18 | :public SEdit 19 | { 20 | SOUI_CLASS_NAME(SEditEx, L"editex") 21 | public: 22 | SEditEx(); 23 | 24 | protected: 25 | 26 | void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); 27 | 28 | SOUI_MSG_MAP_BEGIN() 29 | MSG_WM_KEYDOWN(OnKeyDown) 30 | SOUI_MSG_MAP_END() 31 | }; 32 | } -------------------------------------------------------------------------------- /tabctrlex/SRelTabCtrl.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "SRelTabCtrl.h" 3 | 4 | void SRelTabCtrl::InsertItemEx(STabPage *pPage, int iInsert) 5 | { 6 | InsertChild(pPage); 7 | if (iInsert == -1) 8 | iInsert = m_lstPages.GetCount(); 9 | m_lstPages.InsertAt(iInsert, pPage); 10 | 11 | CRect rcPage = GetChildrenLayoutRect(); 12 | pPage->Move(&rcPage); 13 | pPage->SetVisible(FALSE, FALSE); 14 | if (m_nCurrentPage >= iInsert) m_nCurrentPage++; 15 | 16 | if (m_nCurrentPage == -1) SetCurSel(iInsert); 17 | } 18 | void SRelTabCtrl::RemoveItemEx(STabPage *pPage) 19 | { 20 | for (int i = 0; i < m_lstPages.GetCount(); i++) 21 | { 22 | if (pPage == m_lstPages[i]) 23 | { 24 | if (m_nCurrentPage > i) 25 | --m_nCurrentPage; 26 | RemoveChild(m_lstPages[i]); 27 | m_lstPages.RemoveAt(i); 28 | } 29 | } 30 | 31 | } 32 | 33 | int SRelTabCtrl::GetIndexById(int id) 34 | { 35 | for (int i = GetItemCount() - 1; i >= 0; i--) 36 | { 37 | STabPage * pTab = GetItem(i); 38 | if (pTab->GetID() == id) 39 | return i; 40 | } 41 | 42 | return 0; 43 | } 44 | 45 | 46 | BOOL SRelTabCtrl::SetCurSelById(int id) 47 | { 48 | int nIndex = GetIndexById(id); 49 | 50 | return SetCurSel(nIndex); 51 | } 52 | 53 | 54 | BOOL SRelTabCtrl::SetPageId(int nIndex, int id) 55 | { 56 | if (nIndex < 0 || nIndex>(int)GetItemCount() - 1 || (m_nCurrentPage == nIndex)) 57 | return FALSE; 58 | 59 | STabPage *pTab = GetItem(nIndex); 60 | 61 | if (pTab) 62 | pTab->SetID(id); 63 | 64 | return TRUE; 65 | } -------------------------------------------------------------------------------- /tabctrlex/SRelTabCtrl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class SRelTabCtrl : public STabCtrl 4 | { 5 | SOUI_CLASS_NAME(SRelTabCtrl, L"RelTabCtrl") 6 | public: 7 | void InsertItemEx(STabPage *pPage, int iInsert = -1); 8 | void RemoveItemEx(STabPage *pPage); 9 | 10 | int GetIndexById(int id); 11 | BOOL SetCurSelById(int id); 12 | BOOL SetPageId(int nIndex, int id); 13 | }; -------------------------------------------------------------------------------- /tabctrlex/TargetData.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/tabctrlex/TargetData.h -------------------------------------------------------------------------------- /uires/image/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/128.png -------------------------------------------------------------------------------- /uires/image/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/16.png -------------------------------------------------------------------------------- /uires/image/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/256.png -------------------------------------------------------------------------------- /uires/image/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/32.png -------------------------------------------------------------------------------- /uires/image/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/64.png -------------------------------------------------------------------------------- /uires/image/Broom.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/Broom.ico -------------------------------------------------------------------------------- /uires/image/WebTab_Add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/WebTab_Add.png -------------------------------------------------------------------------------- /uires/image/btn_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/btn_back.png -------------------------------------------------------------------------------- /uires/image/btn_goaddr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/btn_goaddr.png -------------------------------------------------------------------------------- /uires/image/btn_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/btn_home.png -------------------------------------------------------------------------------- /uires/image/btn_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/btn_next.png -------------------------------------------------------------------------------- /uires/image/btn_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/btn_refresh.png -------------------------------------------------------------------------------- /uires/image/ebc9a33abf4f1ee30de7bda7c48455ad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/ebc9a33abf4f1ee30de7bda7c48455ad.jpg -------------------------------------------------------------------------------- /uires/image/quickbar_sel_bks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/quickbar_sel_bks.png -------------------------------------------------------------------------------- /uires/image/soui.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/soui.ico -------------------------------------------------------------------------------- /uires/image/sysbtn_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/sysbtn_close.png -------------------------------------------------------------------------------- /uires/image/sysbtn_max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/sysbtn_max.png -------------------------------------------------------------------------------- /uires/image/sysbtn_memu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/sysbtn_memu.png -------------------------------------------------------------------------------- /uires/image/sysbtn_min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/sysbtn_min.png -------------------------------------------------------------------------------- /uires/image/sysbtn_restore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/sysbtn_restore.png -------------------------------------------------------------------------------- /uires/image/tabbtn_del.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/tabbtn_del.png -------------------------------------------------------------------------------- /uires/image/tabbtn_lst_del.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/tabbtn_lst_del.png -------------------------------------------------------------------------------- /uires/image/webTab_bk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/soui-demo/SweepingEdge/8ad5fcd5c013d2329e2a2357449688141989b377/uires/image/webTab_bk.png -------------------------------------------------------------------------------- /uires/uidef/init.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /uires/uires.idx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /uires/values/color.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /uires/values/skin.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /uires/values/string.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | <ver value="1.0"/> 5 | </string> 6 | -------------------------------------------------------------------------------- /uires/xml/Xml_BrowserDrop.xml: -------------------------------------------------------------------------------- 1 | <SOUI name="mainWindow" title="@string/title" bigIcon="ICON_LOGO:32" smallIcon="ICON_LOGO:16" width="600" minSize="0,0" height="400" resizable="0" wndType="normal" toolWindow="1" translucent="1"> 2 | <root cache="1"> 3 | <dropwindow pos="0,0,-0,-0" name="dropwindow"/> 4 | </root> 5 | </SOUI> 6 | --------------------------------------------------------------------------------