1 # 2 # Copyright (C) 2013 Google Inc. All rights reserved. 3 # 4 # Redistribution and use in source and binary forms, with or without 5 # modification, are permitted provided that the following conditions are 6 # met: 7 # 8 # * Redistributions of source code must retain the above copyright 9 # notice, this list of conditions and the following disclaimer. 10 # * Redistributions in binary form must reproduce the above 11 # copyright notice, this list of conditions and the following disclaimer 12 # in the documentation and/or other materials provided with the 13 # distribution. 14 # * Neither the name of Google Inc. nor the names of its 15 # contributors may be used to endorse or promote products derived from 16 # this software without specific prior written permission. 17 # 18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 # 30 31 { 32 'variables': { 33 # If debug_devtools is set to 1, JavaScript files for DevTools are 34 # stored as is. Otherwise, a concatenated file is stored. 35 'debug_devtools%': 0, 36 'devtools_files': [ 37 'front_end/inspector.html', 38 'front_end/AdvancedSearchController.js', 39 'front_end/ApplicationCacheModel.js', 40 'front_end/BreakpointManager.js', 41 'front_end/Checkbox.js', 42 'front_end/Color.js', 43 'front_end/CompilerScriptMapping.js', 44 'front_end/CompletionDictionary.js', 45 'front_end/ConsoleMessage.js', 46 'front_end/ConsoleModel.js', 47 'front_end/ConsolePanel.js', 48 'front_end/ConsoleView.js', 49 'front_end/ContentProvider.js', 50 'front_end/ContentProviderBasedProjectDelegate.js', 51 'front_end/ContentProviders.js', 52 'front_end/ContextMenu.js', 53 'front_end/CookieItemsView.js', 54 'front_end/CookieParser.js', 55 'front_end/CookiesTable.js', 56 'front_end/CSSMetadata.js', 57 'front_end/CSSStyleModel.js', 58 'front_end/CSSStyleSheetMapping.js', 59 'front_end/Database.js', 60 'front_end/DataGrid.js', 61 'front_end/DebuggerModel.js', 62 'front_end/DebuggerScriptMapping.js', 63 'front_end/DevToolsExtensionAPI.js', 64 'front_end/Tests.js', 65 'front_end/Dialog.js', 66 'front_end/DOMAgent.js', 67 'front_end/DOMBreakpointsSidebarPane.js', 68 'front_end/DOMCountersGraph.js', 69 'front_end/DOMExtension.js', 70 'front_end/DOMPresentationUtils.js', 71 'front_end/DOMStorage.js', 72 'front_end/DOMSyntaxHighlighter.js', 73 'front_end/DefaultScriptMapping.js', 74 'front_end/DockController.js', 75 'front_end/Drawer.js', 76 'front_end/ElementsPanelDescriptor.js', 77 'front_end/ElementsTreeOutline.js', 78 'front_end/EmptyView.js', 79 'front_end/ExtensionAPI.js', 80 'front_end/ExtensionAuditCategory.js', 81 'front_end/ExtensionPanel.js', 82 'front_end/ExtensionRegistryStub.js', 83 'front_end/ExtensionServer.js', 84 'front_end/ExtensionView.js', 85 'front_end/FileManager.js', 86 'front_end/FileSystemMapping.js', 87 'front_end/FileSystemModel.js', 88 'front_end/FileSystemProjectDelegate.js', 89 'front_end/FileUtils.js', 90 'front_end/FontView.js', 91 'front_end/GoToLineDialog.js', 92 'front_end/HAREntry.js', 93 'front_end/HandlerRegistry.js', 94 'front_end/HeapSnapshotWorker.js', 95 'front_end/HelpScreen.js', 96 'front_end/ImageView.js', 97 'front_end/IndexedDBModel.js', 98 'front_end/InspectorBackend.js', 99 'front_end/InspectorFrontendAPI.js', 100 'front_end/InspectorFrontendHostStub.js', 101 'front_end/InspectorView.js', 102 'front_end/inspector.js', 103 'front_end/IsolatedFileSystem.js', 104 'front_end/IsolatedFileSystemManager.js', 105 'front_end/JavaScriptFormatter.js', 106 'front_end/jsdifflib.js', 107 'front_end/KeyboardShortcut.js', 108 'front_end/Linkifier.js', 109 'front_end/LiveEditSupport.js', 110 'front_end/NativeBreakpointsSidebarPane.js', 111 'front_end/NetworkManager.js', 112 'front_end/NetworkLog.js', 113 'front_end/NetworkPanelDescriptor.js', 114 'front_end/NetworkRequest.js', 115 'front_end/NetworkUISourceCodeProvider.js', 116 'front_end/InspectElementModeController.js', 117 'front_end/Object.js', 118 'front_end/ObjectPopoverHelper.js', 119 'front_end/ObjectPropertiesSection.js', 120 'front_end/OverridesSupport.js', 121 'front_end/OverridesView.js', 122 'front_end/OverviewGrid.js', 123 'front_end/Panel.js', 124 'front_end/ParsedURL.js', 125 'front_end/Placard.js', 126 'front_end/Popover.js', 127 'front_end/PresentationConsoleMessageHelper.js', 128 'front_end/ProfilesPanelDescriptor.js', 129 'front_end/Progress.js', 130 'front_end/ProgressIndicator.js', 131 'front_end/PropertiesSection.js', 132 'front_end/RemoteObject.js', 133 'front_end/Resource.js', 134 'front_end/ResourceScriptMapping.js', 135 'front_end/ResourceTreeModel.js', 136 'front_end/ResourceType.js', 137 'front_end/ResourceUtils.js', 138 'front_end/ResourceView.js', 139 'front_end/RuntimeModel.js', 140 'front_end/SASSSourceMapping.js', 141 'front_end/Script.js', 142 'front_end/ScriptFormatter.js', 143 'front_end/ScriptFormatterWorker.js', 144 'front_end/ScriptSnippetModel.js', 145 'front_end/ScriptsPanelDescriptor.js', 146 'front_end/SearchController.js', 147 'front_end/SettingsScreen.js', 148 'front_end/Section.js', 149 'front_end/Settings.js', 150 'front_end/ShortcutsScreen.js', 151 'front_end/ShowMoreDataGridNode.js', 152 'front_end/SidebarOverlay.js', 153 'front_end/SidebarPane.js', 154 'front_end/SidebarView.js', 155 'front_end/SidebarTreeElement.js', 156 'front_end/SimpleWorkspaceProvider.js', 157 'front_end/SnippetStorage.js', 158 'front_end/SoftContextMenu.js', 159 'front_end/SourceCSSTokenizer.js', 160 'front_end/SourceFrame.js', 161 'front_end/SourceHTMLTokenizer.js', 162 'front_end/SourceJavaScriptTokenizer.js', 163 'front_end/SourceMap.js', 164 'front_end/SourceMapping.js', 165 'front_end/SourceTokenizer.js', 166 'front_end/Spectrum.js', 167 'front_end/SplitView.js', 168 'front_end/StatusBarButton.js', 169 'front_end/StylesSourceMapping.js', 170 'front_end/SuggestBox.js', 171 'front_end/TabbedPane.js', 172 'front_end/TestController.js', 173 'front_end/TextEditor.js', 174 'front_end/TextEditorHighlighter.js', 175 'front_end/TextRange.js', 176 'front_end/TextEditorModel.js', 177 'front_end/TextPrompt.js', 178 'front_end/TextUtils.js', 179 'front_end/TimelineGrid.js', 180 'front_end/TimelineManager.js', 181 'front_end/TimelinePanelDescriptor.js', 182 'front_end/Toolbar.js', 183 'front_end/TracingAgent.js', 184 'front_end/treeoutline.js', 185 'front_end/UISourceCode.js', 186 'front_end/UIString.js', 187 'front_end/UIUtils.js', 188 'front_end/UserMetrics.js', 189 'front_end/utilities.js', 190 'front_end/View.js', 191 'front_end/ViewportControl.js', 192 'front_end/WorkerManager.js', 193 'front_end/Workspace.js', 194 'front_end/WorkspaceController.js', 195 'front_end/dialog.css', 196 'front_end/inspector.css', 197 'front_end/inspectorSyntaxHighlight.css', 198 'front_end/popover.css', 199 '<@(devtools_modules_js_files)', 200 '<@(devtools_standalone_files)', 201 ], 202 'devtools_standalone_files': [ 203 'front_end/auditsPanel.css', 204 'front_end/breadcrumbList.css', 205 'front_end/breakpointsList.css', 206 'front_end/buildSystemOnly.js', 207 'front_end/cm/cmdevtools.css', 208 'front_end/cm/codemirror.css', 209 'front_end/cssNamedFlows.css', 210 'front_end/dataGrid.css', 211 'front_end/elementsPanel.css', 212 'front_end/filteredItemSelectionDialog.css', 213 'front_end/flameChart.css', 214 'front_end/heapProfiler.css', 215 'front_end/helpScreen.css', 216 'front_end/indexedDBViews.css', 217 'front_end/inspectorCommon.css', 218 'front_end/navigatorView.css', 219 'front_end/networkLogView.css', 220 'front_end/networkPanel.css', 221 'front_end/panelEnablerView.css', 222 'front_end/profilesPanel.css', 223 'front_end/resourceView.css', 224 'front_end/resourcesPanel.css', 225 'front_end/revisionHistory.css', 226 'front_end/scriptsPanel.css', 227 'front_end/sidebarPane.css', 228 'front_end/spectrum.css', 229 'front_end/splitView.css', 230 'front_end/tabbedPane.css', 231 'front_end/textPrompt.css', 232 'front_end/timelinePanel.css', 233 'front_end/canvasProfiler.css', 234 ], 235 'devtools_elements_js_files': [ 236 'front_end/CSSNamedFlowCollectionsView.js', 237 'front_end/CSSNamedFlowView.js', 238 'front_end/ElementsPanel.js', 239 'front_end/EventListenersSidebarPane.js', 240 'front_end/MetricsSidebarPane.js', 241 'front_end/PropertiesSidebarPane.js', 242 'front_end/StylesSidebarPane.js', 243 ], 244 'devtools_resources_js_files': [ 245 'front_end/ApplicationCacheItemsView.js', 246 'front_end/DOMStorageItemsView.js', 247 'front_end/DatabaseQueryView.js', 248 'front_end/DatabaseTableView.js', 249 'front_end/DirectoryContentView.js', 250 'front_end/FileContentView.js', 251 'front_end/FileSystemView.js', 252 'front_end/IndexedDBViews.js', 253 'front_end/ResourcesPanel.js', 254 ], 255 'devtools_network_js_files': [ 256 'front_end/NetworkItemView.js', 257 'front_end/RequestCookiesView.js', 258 'front_end/RequestHeadersView.js', 259 'front_end/RequestHTMLView.js', 260 'front_end/RequestJSONView.js', 261 'front_end/RequestPreviewView.js', 262 'front_end/RequestResponseView.js', 263 'front_end/RequestTimingView.js', 264 'front_end/RequestView.js', 265 'front_end/ResourceWebSocketFrameView.js', 266 'front_end/NetworkPanel.js', 267 ], 268 'devtools_scripts_js_files': [ 269 'front_end/BreakpointsSidebarPane.js', 270 'front_end/CallStackSidebarPane.js', 271 'front_end/FilePathScoreFunction.js', 272 'front_end/FilteredItemSelectionDialog.js', 273 'front_end/JavaScriptSourceFrame.js', 274 'front_end/NavigatorOverlayController.js', 275 'front_end/NavigatorView.js', 276 'front_end/RevisionHistoryView.js', 277 'front_end/ScopeChainSidebarPane.js', 278 'front_end/ScriptsNavigator.js', 279 'front_end/ScriptsPanel.js', 280 'front_end/ScriptsSearchScope.js', 281 'front_end/StyleSheetOutlineDialog.js', 282 'front_end/TabbedEditorContainer.js', 283 'front_end/UISourceCodeFrame.js', 284 'front_end/WatchExpressionsSidebarPane.js', 285 'front_end/WorkersSidebarPane.js', 286 ], 287 'devtools_timeline_js_files': [ 288 'front_end/MemoryStatistics.js', 289 'front_end/TimelineFrameController.js', 290 'front_end/TimelineModel.js', 291 'front_end/TimelinePresentationModel.js', 292 'front_end/TimelineOverviewPane.js', 293 'front_end/TimelinePanel.js', 294 ], 295 296 'devtools_profiles_js_files': [ 297 'front_end/BottomUpProfileDataGridTree.js', 298 'front_end/CPUProfileView.js', 299 'front_end/FlameChart.js', 300 'front_end/HeapSnapshot.js', 301 'front_end/HeapSnapshotDataGrids.js', 302 'front_end/HeapSnapshotGridNodes.js', 303 'front_end/HeapSnapshotLoader.js', 304 'front_end/HeapSnapshotProxy.js', 305 'front_end/HeapSnapshotView.js', 306 'front_end/HeapSnapshotWorkerDispatcher.js', 307 'front_end/JSHeapSnapshot.js', 308 'front_end/ProfileDataGridTree.js', 309 'front_end/ProfilesPanel.js', 310 'front_end/ProfileLauncherView.js', 311 'front_end/TopDownProfileDataGridTree.js', 312 'front_end/CanvasProfileView.js', 313 ], 314 315 'devtools_audits_js_files': [ 316 'front_end/AuditCategories.js', 317 'front_end/AuditController.js', 318 'front_end/AuditFormatters.js', 319 'front_end/AuditLauncherView.js', 320 'front_end/AuditResultView.js', 321 'front_end/AuditRules.js', 322 'front_end/AuditsPanel.js', 323 ], 324 325 'devtools_codemirror_js_files': [ 326 'front_end/CodeMirrorTextEditor.js', 327 'front_end/cm/clike.js', 328 'front_end/cm/closebrackets.js', 329 'front_end/cm/codemirror.js', 330 'front_end/cm/coffeescript.js', 331 'front_end/cm/comment.js', 332 'front_end/cm/css.js', 333 'front_end/cm/htmlembedded.js', 334 'front_end/cm/htmlmixed.js', 335 'front_end/cm/javascript.js', 336 'front_end/cm/markselection.js', 337 'front_end/cm/matchbrackets.js', 338 'front_end/cm/overlay.js', 339 'front_end/cm/php.js', 340 'front_end/cm/python.js', 341 'front_end/cm/shell.js', 342 'front_end/cm/xml.js', 343 ], 344 345 'devtools_modules_js_files': [ 346 '<@(devtools_elements_js_files)', 347 '<@(devtools_resources_js_files)', 348 '<@(devtools_network_js_files)', 349 '<@(devtools_scripts_js_files)', 350 '<@(devtools_timeline_js_files)', 351 '<@(devtools_profiles_js_files)', 352 '<@(devtools_audits_js_files)', 353 '<@(devtools_codemirror_js_files)', 354 ], 355 'devtools_uglifyjs_files': [ 356 'front_end/UglifyJS/parse-js.js', 357 ], 358 'devtools_image_files': [ 359 'front_end/Images/addIcon.png', 360 'front_end/Images/applicationCache.png', 361 'front_end/Images/back.png', 362 'front_end/Images/breakpointBorder.png', 363 'front_end/Images/breakpoint2.png', 364 'front_end/Images/breakpoint2_2x.png', 365 'front_end/Images/breakpointConditional2.png', 366 'front_end/Images/breakpointConditional2_2x.png', 367 'front_end/Images/breakpointConditionalBorder.png', 368 'front_end/Images/breakpointConditionalCounterBorder.png', 369 'front_end/Images/breakpointCounterBorder.png', 370 'front_end/Images/checker.png', 371 'front_end/Images/cookie.png', 372 'front_end/Images/namedFlowOverflow.png', 373 'front_end/Images/database.png', 374 'front_end/Images/databaseTable.png', 375 'front_end/Images/deleteIcon.png', 376 'front_end/Images/domain.png', 377 'front_end/Images/forward.png', 378 'front_end/Images/fileSystem.png', 379 'front_end/Images/frame.png', 380 'front_end/Images/glossyHeader.png', 381 'front_end/Images/glossyHeaderPressed.png', 382 'front_end/Images/glossyHeaderSelected.png', 383 'front_end/Images/glossyHeaderSelectedPressed.png', 384 'front_end/Images/graphLabelCalloutLeft.png', 385 'front_end/Images/graphLabelCalloutRight.png', 386 'front_end/Images/indexedDB.png', 387 'front_end/Images/indexedDBObjectStore.png', 388 'front_end/Images/indexedDBIndex.png', 389 'front_end/Images/localStorage.png', 390 'front_end/Images/paneAddButtons.png', 391 'front_end/Images/paneElementStateButtons.png', 392 'front_end/Images/paneFilterButtons.png', 393 'front_end/Images/paneRefreshButtons.png', 394 'front_end/Images/paneSettingsButtons.png', 395 'front_end/Images/popoverArrows.png', 396 'front_end/Images/popoverBackground.png', 397 'front_end/Images/profileGroupIcon.png', 398 'front_end/Images/profileIcon.png', 399 'front_end/Images/profileSmallIcon.png', 400 'front_end/Images/programCounterBorder.png', 401 'front_end/Images/radioDot.png', 402 'front_end/Images/regionEmpty.png', 403 'front_end/Images/regionFit.png', 404 'front_end/Images/regionOverset.png', 405 'front_end/Images/resourceCSSIcon.png', 406 'front_end/Images/resourceDocumentIcon.png', 407 'front_end/Images/resourceDocumentIconSmall.png', 408 'front_end/Images/resourceJSIcon.png', 409 'front_end/Images/resourcePlainIcon.png', 410 'front_end/Images/resourcePlainIconSmall.png', 411 'front_end/Images/resourcesTimeGraphIcon.png', 412 'front_end/Images/searchSmallBlue.png', 413 'front_end/Images/searchSmallBrightBlue.png', 414 'front_end/Images/searchSmallGray.png', 415 'front_end/Images/searchSmallWhite.png', 416 'front_end/Images/searchNext.png', 417 'front_end/Images/searchPrev.png', 418 'front_end/Images/segment.png', 419 'front_end/Images/segmentEnd.png', 420 'front_end/Images/segmentHover.png', 421 'front_end/Images/segmentHoverEnd.png', 422 'front_end/Images/segmentSelected.png', 423 'front_end/Images/segmentSelectedEnd.png', 424 'front_end/Images/sessionStorage.png', 425 'front_end/Images/settingsListRemove.png', 426 'front_end/Images/settingsListRemove_2x.png', 427 'front_end/Images/spinner.gif', 428 'front_end/Images/spinnerActive.gif', 429 'front_end/Images/spinnerActiveSelected.gif', 430 'front_end/Images/spinnerInactive.gif', 431 'front_end/Images/spinnerInactiveSelected.gif', 432 'front_end/Images/statusbarButtonGlyphs.png', 433 'front_end/Images/statusbarButtonGlyphs2x.png', 434 'front_end/Images/statusbarResizerHorizontal.png', 435 'front_end/Images/statusbarResizerVertical.png', 436 'front_end/Images/thumbActiveHoriz.png', 437 'front_end/Images/thumbActiveVert.png', 438 'front_end/Images/thumbHoriz.png', 439 'front_end/Images/thumbVert.png', 440 'front_end/Images/thumbHoverHoriz.png', 441 'front_end/Images/thumbHoverVert.png', 442 'front_end/Images/timelineHollowPillBlue.png', 443 'front_end/Images/timelineHollowPillGray.png', 444 'front_end/Images/timelineHollowPillGreen.png', 445 'front_end/Images/timelineHollowPillOrange.png', 446 'front_end/Images/timelineHollowPillPurple.png', 447 'front_end/Images/timelineHollowPillRed.png', 448 'front_end/Images/timelineHollowPillYellow.png', 449 'front_end/Images/timelinePillBlue.png', 450 'front_end/Images/timelinePillGray.png', 451 'front_end/Images/timelinePillGreen.png', 452 'front_end/Images/timelinePillOrange.png', 453 'front_end/Images/timelinePillPurple.png', 454 'front_end/Images/timelinePillRed.png', 455 'front_end/Images/timelinePillYellow.png', 456 'front_end/Images/toolbarItemSelected.png', 457 'front_end/Images/trackHoriz.png', 458 'front_end/Images/trackVert.png', 459 ], 460 'devtools_extension_api_files': [ 461 'front_end/ExtensionAPI.js', 462 'front_end/DevToolsExtensionAPI.js' 463 ], 464 }, 465 'targets': [ 466 { 467 'target_name': 'devtools_frontend_resources', 468 'type': 'none', 469 'dependencies': [ 470 'devtools_html', 471 'frontend_protocol_sources', 472 ], 473 'conditions': [ 474 ['debug_devtools==0', { 475 'dependencies': ['concatenated_devtools_js', 476 'concatenated_devtools_elements_js', 477 'concatenated_devtools_resources_js', 478 'concatenated_devtools_network_js', 479 'concatenated_devtools_scripts_js', 480 'concatenated_devtools_timeline_js', 481 'concatenated_devtools_profiles_js', 482 'concatenated_devtools_audits_js', 483 'concatenated_devtools_codemirror_js', 484 'concatenated_heap_snapshot_worker_js', 485 'concatenated_script_formatter_worker_js', 486 'concatenated_devtools_css'], 487 }], 488 ], 489 'copies': [ 490 { 491 'destination': '<(PRODUCT_DIR)/resources/inspector', 492 'files': [ 493 '<@(devtools_files)', 494 '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js', 495 ], 496 'conditions': [ 497 ['debug_devtools==0', { 498 'files/': [['exclude', '\\.(js|css|html)$']], 499 }], 500 ], 501 }, 502 { 503 'destination': '<(PRODUCT_DIR)/resources/inspector/UglifyJS', 504 'files': [ 505 '<@(devtools_uglifyjs_files)', 506 ], 507 'conditions': [ 508 ['debug_devtools==0', { 509 'files/': [['exclude', '\\.(js|css|html)$']], 510 }], 511 ], 512 }, 513 { 514 'destination': '<(PRODUCT_DIR)/resources/inspector/Images', 515 'files': [ 516 '<@(devtools_image_files)', 517 ], 518 }, 519 ], 520 }, 521 { 522 'target_name': 'devtools_html', 523 'type': 'none', 524 'sources': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'], 525 'actions': [{ 526 'action_name': 'devtools_html', 527 'script_name': 'scripts/generate_devtools_html.py', 528 'input_page': 'front_end/inspector.html', 529 'inputs': [ 530 '<@(_script_name)', 531 '<@(_input_page)', 532 ], 533 'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'], 534 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_outputs)', '<@(debug_devtools)'], 535 }], 536 }, 537 { 538 'target_name': 'devtools_extension_api', 539 'type': 'none', 540 'actions': [{ 541 'action_name': 'devtools_html', 542 'script_name': 'scripts/generate_devtools_extension_api.py', 543 'inputs': [ 544 '<@(_script_name)', 545 '<@(devtools_extension_api_files)', 546 ], 547 'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools_extension_api.js'], 548 'action': ['python', '<@(_script_name)', '<@(_outputs)', '<@(devtools_extension_api_files)'], 549 }], 550 }, 551 { 552 'target_name': 'generate_devtools_grd', 553 'type': 'none', 554 'dependencies': [ 555 'devtools_html', 556 'devtools_extension_api' 557 ], 558 'conditions': [ 559 ['debug_devtools==0', { 560 'dependencies': ['concatenated_devtools_js', 561 'concatenated_devtools_elements_js', 562 'concatenated_devtools_resources_js', 563 'concatenated_devtools_network_js', 564 'concatenated_devtools_scripts_js', 565 'concatenated_devtools_timeline_js', 566 'concatenated_devtools_profiles_js', 567 'concatenated_devtools_audits_js', 568 'concatenated_devtools_codemirror_js', 569 'concatenated_heap_snapshot_worker_js', 570 'concatenated_script_formatter_worker_js', 571 'concatenated_devtools_css'], 572 'actions': [{ 573 'action_name': 'generate_devtools_grd', 574 'script_name': 'scripts/generate_devtools_grd.py', 575 'input_pages': [ 576 '<(PRODUCT_DIR)/resources/inspector/devtools.html', 577 '<(PRODUCT_DIR)/resources/inspector/inspector.js', 578 '<(PRODUCT_DIR)/resources/inspector/ElementsPanel.js', 579 '<(PRODUCT_DIR)/resources/inspector/ResourcesPanel.js', 580 '<(PRODUCT_DIR)/resources/inspector/NetworkPanel.js', 581 '<(PRODUCT_DIR)/resources/inspector/ScriptsPanel.js', 582 '<(PRODUCT_DIR)/resources/inspector/TimelinePanel.js', 583 '<(PRODUCT_DIR)/resources/inspector/ProfilesPanel.js', 584 '<(PRODUCT_DIR)/resources/inspector/AuditsPanel.js', 585 '<(PRODUCT_DIR)/resources/inspector/CodeMirrorTextEditor.js', 586 '<(PRODUCT_DIR)/resources/inspector/HeapSnapshotWorker.js', 587 '<(PRODUCT_DIR)/resources/inspector/ScriptFormatterWorker.js', 588 '<(PRODUCT_DIR)/resources/inspector/inspector.css', 589 '<(PRODUCT_DIR)/resources/inspector/devtools_extension_api.js', 590 '<@(devtools_standalone_files)', 591 ], 592 'images': [ 593 '<@(devtools_image_files)', 594 ], 595 'inputs': [ 596 '<@(_script_name)', 597 '<@(_input_pages)', 598 '<@(_images)', 599 ], 600 'search_path': [ 601 'front_end/Images', 602 ], 603 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd'], 604 'action': ['python', '<@(_script_name)', '<@(_input_pages)', '--images', '<@(_search_path)', '--output', '<@(_outputs)'], 605 }], 606 }, 607 { 608 # If we're not concatenating devtools files, we want to 609 # run after the original files have been copied to 610 # <(PRODUCT_DIR)/resources/inspector. 611 'dependencies': ['devtools_frontend_resources'], 612 'actions': [{ 613 'action_name': 'generate_devtools_grd', 614 'script_name': 'scripts/generate_devtools_grd.py', 615 'input_pages': [ 616 '<@(devtools_files)', 617 '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js', 618 '<(PRODUCT_DIR)/resources/inspector/devtools.html', 619 ], 620 'images': [ 621 '<@(devtools_image_files)', 622 ], 623 'inputs': [ 624 '<@(_script_name)', 625 '<@(_input_pages)', 626 '<@(_images)', 627 ], 628 'search_path': [ 629 'front_end/Images', 630 ], 631 # Note that other files are put under /devtools directory, together with declared devtools_resources.grd 632 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd'], 633 'action': ['python', '<@(_script_name)', '<@(_input_pages)', '--images', '<@(_search_path)', '--output', '<@(_outputs)'], 634 }], 635 }], 636 ], 637 }, 638 { 639 'target_name': 'frontend_protocol_sources', 640 'type': 'none', 641 'actions': [ 642 { 643 'action_name': 'generateInspectorProtocolFrontendSources', 644 'inputs': [ 645 # The python script in action below. 646 'scripts/CodeGeneratorFrontend.py', 647 # Input file for the script. 648 'protocol.json', 649 ], 650 'outputs': [ 651 '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js', 652 ], 653 'action': [ 654 'python', 655 'scripts/CodeGeneratorFrontend.py', 656 'protocol.json', 657 '--output_js_dir', '<(SHARED_INTERMEDIATE_DIR)/blink', 658 ], 659 'message': 'Generating Inspector protocol frontend sources from protocol.json', 660 'msvs_cygwin_shell': 1, 661 }, 662 ] 663 }, 664 ], # targets 665 'conditions': [ 666 ['debug_devtools==0', { 667 'targets': [ 668 { 669 'target_name': 'concatenated_devtools_js', 670 'type': 'none', 671 'dependencies': [ 672 'devtools_html', 673 'frontend_protocol_sources' 674 ], 675 'actions': [{ 676 'action_name': 'concatenate_devtools_js', 677 'script_name': 'scripts/concatenate_js_files.py', 678 'input_page': 'front_end/inspector.html', 679 'inputs': [ 680 '<@(_script_name)', 681 '<@(_input_page)', 682 '<@(devtools_files)', 683 '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js' 684 ], 685 'search_path': [ 686 'front_end', 687 '<(SHARED_INTERMEDIATE_DIR)/blink', 688 ], 689 'outputs': ['<(PRODUCT_DIR)/resources/inspector/inspector.js'], 690 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'], 691 }], 692 }, 693 { 694 'target_name': 'concatenated_devtools_elements_js', 695 'type': 'none', 696 'actions': [{ 697 'action_name': 'concatenate_devtools_elements_js', 698 'script_name': 'scripts/inline_js_imports.py', 699 'input_file': 'front_end/ElementsPanel.js', 700 'inputs': [ 701 '<@(_script_name)', 702 '<@(devtools_elements_js_files)', 703 ], 704 'search_path': 'front_end', 705 'outputs': ['<(PRODUCT_DIR)/resources/inspector/ElementsPanel.js'], 706 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], 707 }], 708 }, 709 { 710 'target_name': 'concatenated_devtools_resources_js', 711 'type': 'none', 712 'actions': [{ 713 'action_name': 'concatenate_devtools_resources_js', 714 'script_name': 'scripts/inline_js_imports.py', 715 'input_file': 'front_end/ResourcesPanel.js', 716 'inputs': [ 717 '<@(_script_name)', 718 '<@(devtools_resources_js_files)', 719 ], 720 'search_path': 'front_end', 721 'outputs': ['<(PRODUCT_DIR)/resources/inspector/ResourcesPanel.js'], 722 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], 723 }], 724 }, 725 { 726 'target_name': 'concatenated_devtools_network_js', 727 'type': 'none', 728 'actions': [{ 729 'action_name': 'concatenate_devtools_network_js', 730 'script_name': 'scripts/inline_js_imports.py', 731 'input_file': 'front_end/NetworkPanel.js', 732 'inputs': [ 733 '<@(_script_name)', 734 '<@(devtools_network_js_files)', 735 ], 736 'search_path': 'front_end', 737 'outputs': ['<(PRODUCT_DIR)/resources/inspector/NetworkPanel.js'], 738 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], 739 }], 740 }, 741 { 742 'target_name': 'concatenated_devtools_scripts_js', 743 'type': 'none', 744 'actions': [{ 745 'action_name': 'concatenate_devtools_scripts_js', 746 'script_name': 'scripts/inline_js_imports.py', 747 'input_file': 'front_end/ScriptsPanel.js', 748 'inputs': [ 749 '<@(_script_name)', 750 '<@(devtools_scripts_js_files)', 751 ], 752 'search_path': 'front_end', 753 'outputs': ['<(PRODUCT_DIR)/resources/inspector/ScriptsPanel.js'], 754 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], 755 }], 756 }, 757 { 758 'target_name': 'concatenated_devtools_timeline_js', 759 'type': 'none', 760 'actions': [{ 761 'action_name': 'concatenate_devtools_timeline_js', 762 'script_name': 'scripts/inline_js_imports.py', 763 'input_file': 'front_end/TimelinePanel.js', 764 'inputs': [ 765 '<@(_script_name)', 766 '<@(devtools_timeline_js_files)', 767 ], 768 'search_path': 'front_end', 769 'outputs': ['<(PRODUCT_DIR)/resources/inspector/TimelinePanel.js'], 770 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], 771 }], 772 }, 773 { 774 'target_name': 'concatenated_devtools_profiles_js', 775 'type': 'none', 776 'actions': [{ 777 'action_name': 'concatenate_devtools_profiles_js', 778 'script_name': 'scripts/inline_js_imports.py', 779 'input_file': 'front_end/ProfilesPanel.js', 780 'inputs': [ 781 '<@(_script_name)', 782 '<@(devtools_profiles_js_files)', 783 ], 784 'search_path': 'front_end', 785 'outputs': ['<(PRODUCT_DIR)/resources/inspector/ProfilesPanel.js'], 786 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], 787 }], 788 }, 789 { 790 'target_name': 'concatenated_devtools_audits_js', 791 'type': 'none', 792 'actions': [{ 793 'action_name': 'concatenate_devtools_audits_js', 794 'script_name': 'scripts/inline_js_imports.py', 795 'input_file': 'front_end/AuditsPanel.js', 796 'inputs': [ 797 '<@(_script_name)', 798 '<@(devtools_audits_js_files)', 799 ], 800 'search_path': 'front_end', 801 'outputs': ['<(PRODUCT_DIR)/resources/inspector/AuditsPanel.js'], 802 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], 803 }], 804 }, 805 { 806 'target_name': 'concatenated_devtools_codemirror_js', 807 'type': 'none', 808 'actions': [{ 809 'action_name': 'concatenate_devtools_codemirror_js', 810 'script_name': 'scripts/inline_js_imports.py', 811 'input_file': 'front_end/CodeMirrorTextEditor.js', 812 'inputs': [ 813 '<@(_script_name)', 814 '<@(devtools_codemirror_js_files)', 815 ], 816 'search_path': 'front_end', 817 'outputs': ['<(PRODUCT_DIR)/resources/inspector/CodeMirrorTextEditor.js'], 818 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], 819 }], 820 }, 821 { 822 'target_name': 'concatenated_heap_snapshot_worker_js', 823 'type': 'none', 824 'actions': [{ 825 'action_name': 'concatenate_heap_snapshot_worker_js', 826 'script_name': 'scripts/inline_js_imports.py', 827 'input_file': 'front_end/HeapSnapshotWorker.js', 828 'inputs': [ 829 '<@(_script_name)', 830 '<@(_input_file)', 831 'front_end/HeapSnapshot.js', 832 'front_end/HeapSnapshotLoader.js', 833 'front_end/HeapSnapshotWorkerDispatcher.js', 834 'front_end/JSHeapSnapshot.js', 835 'front_end/utilities.js', 836 ], 837 'search_path': 'front_end', 838 'outputs': ['<(PRODUCT_DIR)/resources/inspector/HeapSnapshotWorker.js'], 839 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], 840 }], 841 }, 842 { 843 'target_name': 'concatenated_script_formatter_worker_js', 844 'type': 'none', 845 'actions': [{ 846 'action_name': 'concatenate_script_formatter_worker_js', 847 'script_name': 'scripts/inline_js_imports.py', 848 'input_file': 'front_end/ScriptFormatterWorker.js', 849 'inputs': [ 850 '<@(_script_name)', 851 '<@(_input_file)', 852 '<@(devtools_uglifyjs_files)' 853 ], 854 'search_path': 'front_end', 855 'outputs': ['<(PRODUCT_DIR)/resources/inspector/ScriptFormatterWorker.js'], 856 'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'], 857 }], 858 }, 859 { 860 'target_name': 'concatenated_devtools_css', 861 'type': 'none', 862 'dependencies': [ 863 'devtools_html' 864 ], 865 'actions': [{ 866 'action_name': 'concatenate_devtools_css', 867 'script_name': 'scripts/concatenate_css_files.py', 868 'input_page': 'front_end/inspector.html', 869 'inputs': [ 870 '<@(_script_name)', 871 '<@(_input_page)', 872 '<@(devtools_files)', 873 ], 874 'search_path': [ 'front_end' ], 875 'outputs': ['<(PRODUCT_DIR)/resources/inspector/inspector.css'], 876 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'], 877 }], 878 'copies': [{ 879 'destination': '<(PRODUCT_DIR)/resources/inspector', 880 'files': [ 881 '<@(devtools_standalone_files)', 882 ], 883 }], 884 }, 885 ], 886 }], 887 ], # conditions 888 } 889