#
# Copyright (C) 2013 Google Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
#         * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#         * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
#         * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

{
    'variables': {
        # If debug_devtools is set to 1, JavaScript files for DevTools are
        # stored as is. Otherwise, a concatenated file is stored.
        'debug_devtools%': 0,
        'devtools_files': [
            'front_end/inspector.html',
            'front_end/AdvancedSearchController.js',
            'front_end/ApplicationCacheModel.js',
            'front_end/BreakpointManager.js',
            'front_end/Checkbox.js',
            'front_end/Color.js',
            'front_end/CompilerScriptMapping.js',
            'front_end/CompletionDictionary.js',
            'front_end/ConsoleMessage.js',
            'front_end/ConsoleModel.js',
            'front_end/ConsolePanel.js',
            'front_end/ConsoleView.js',
            'front_end/ContentProvider.js',
            'front_end/ContentProviderBasedProjectDelegate.js',
            'front_end/ContentProviders.js',
            'front_end/ContextMenu.js',
            'front_end/CookieItemsView.js',
            'front_end/CookieParser.js',
            'front_end/CookiesTable.js',
            'front_end/CSSMetadata.js',
            'front_end/CSSStyleModel.js',
            'front_end/CSSStyleSheetMapping.js',
            'front_end/Database.js',
            'front_end/DataGrid.js',
            'front_end/DebuggerModel.js',
            'front_end/DebuggerScriptMapping.js',
            'front_end/DevToolsExtensionAPI.js',
            'front_end/Tests.js',
            'front_end/Dialog.js',
            'front_end/DOMAgent.js',
            'front_end/DOMBreakpointsSidebarPane.js',
            'front_end/DOMCountersGraph.js',
            'front_end/DOMExtension.js',
            'front_end/DOMPresentationUtils.js',
            'front_end/DOMStorage.js',
            'front_end/DOMSyntaxHighlighter.js',
            'front_end/DefaultScriptMapping.js',
            'front_end/DockController.js',
            'front_end/Drawer.js',
            'front_end/ElementsPanelDescriptor.js',
            'front_end/ElementsTreeOutline.js',
            'front_end/EmptyView.js',
            'front_end/ExtensionAPI.js',
            'front_end/ExtensionAuditCategory.js',
            'front_end/ExtensionPanel.js',
            'front_end/ExtensionRegistryStub.js',
            'front_end/ExtensionServer.js',
            'front_end/ExtensionView.js',
            'front_end/FileManager.js',
            'front_end/FileSystemMapping.js',
            'front_end/FileSystemModel.js',
            'front_end/FileSystemProjectDelegate.js',
            'front_end/FileUtils.js',
            'front_end/FontView.js',
            'front_end/GoToLineDialog.js',
            'front_end/HAREntry.js',
            'front_end/HandlerRegistry.js',
            'front_end/HeapSnapshotWorker.js',
            'front_end/HelpScreen.js',
            'front_end/ImageView.js',
            'front_end/IndexedDBModel.js',
            'front_end/InspectorBackend.js',
            'front_end/InspectorFrontendAPI.js',
            'front_end/InspectorFrontendHostStub.js',
            'front_end/InspectorView.js',
            'front_end/inspector.js',
            'front_end/IsolatedFileSystem.js',
            'front_end/IsolatedFileSystemManager.js',
            'front_end/JavaScriptFormatter.js',
            'front_end/jsdifflib.js',
            'front_end/KeyboardShortcut.js',
            'front_end/Linkifier.js',
            'front_end/LiveEditSupport.js',
            'front_end/NativeBreakpointsSidebarPane.js',
            'front_end/NetworkManager.js',
            'front_end/NetworkLog.js',
            'front_end/NetworkPanelDescriptor.js',
            'front_end/NetworkRequest.js',
            'front_end/NetworkUISourceCodeProvider.js',
            'front_end/InspectElementModeController.js',
            'front_end/Object.js',
            'front_end/ObjectPopoverHelper.js',
            'front_end/ObjectPropertiesSection.js',
            'front_end/OverridesSupport.js',
            'front_end/OverridesView.js',
            'front_end/OverviewGrid.js',
            'front_end/Panel.js',
            'front_end/ParsedURL.js',
            'front_end/Placard.js',
            'front_end/Popover.js',
            'front_end/PresentationConsoleMessageHelper.js',
            'front_end/ProfilesPanelDescriptor.js',
            'front_end/Progress.js',
            'front_end/ProgressIndicator.js',
            'front_end/PropertiesSection.js',
            'front_end/RemoteObject.js',
            'front_end/Resource.js',
            'front_end/ResourceScriptMapping.js',
            'front_end/ResourceTreeModel.js',
            'front_end/ResourceType.js',
            'front_end/ResourceUtils.js',
            'front_end/ResourceView.js',
            'front_end/RuntimeModel.js',
            'front_end/SASSSourceMapping.js',
            'front_end/Script.js',
            'front_end/ScriptFormatter.js',
            'front_end/ScriptFormatterWorker.js',
            'front_end/ScriptSnippetModel.js',
            'front_end/ScriptsPanelDescriptor.js',
            'front_end/SearchController.js',
            'front_end/SettingsScreen.js',
            'front_end/Section.js',
            'front_end/Settings.js',
            'front_end/ShortcutsScreen.js',
            'front_end/ShowMoreDataGridNode.js',
            'front_end/SidebarOverlay.js',
            'front_end/SidebarPane.js',
            'front_end/SidebarView.js',
            'front_end/SidebarTreeElement.js',
            'front_end/SimpleWorkspaceProvider.js',
            'front_end/SnippetStorage.js',
            'front_end/SoftContextMenu.js',
            'front_end/SourceCSSTokenizer.js',
            'front_end/SourceFrame.js',
            'front_end/SourceHTMLTokenizer.js',
            'front_end/SourceJavaScriptTokenizer.js',
            'front_end/SourceMap.js',
            'front_end/SourceMapping.js',
            'front_end/SourceTokenizer.js',
            'front_end/Spectrum.js',
            'front_end/SplitView.js',
            'front_end/StatusBarButton.js',
            'front_end/StylesSourceMapping.js',
            'front_end/SuggestBox.js',
            'front_end/TabbedPane.js',
            'front_end/TestController.js',
            'front_end/TextEditor.js',
            'front_end/TextEditorHighlighter.js',
            'front_end/TextRange.js',
            'front_end/TextEditorModel.js',
            'front_end/TextPrompt.js',
            'front_end/TextUtils.js',
            'front_end/TimelineGrid.js',
            'front_end/TimelineManager.js',
            'front_end/TimelinePanelDescriptor.js',
            'front_end/Toolbar.js',
            'front_end/TracingAgent.js',
            'front_end/treeoutline.js',
            'front_end/UISourceCode.js',
            'front_end/UIString.js',
            'front_end/UIUtils.js',
            'front_end/UserMetrics.js',
            'front_end/utilities.js',
            'front_end/View.js',
            'front_end/ViewportControl.js',
            'front_end/WorkerManager.js',
            'front_end/Workspace.js',
            'front_end/WorkspaceController.js',
            'front_end/dialog.css',
            'front_end/inspector.css',
            'front_end/inspectorSyntaxHighlight.css',
            'front_end/popover.css',
            '<@(devtools_modules_js_files)',
            '<@(devtools_standalone_files)',
        ],
        'devtools_standalone_files': [
            'front_end/auditsPanel.css',
            'front_end/breadcrumbList.css',
            'front_end/breakpointsList.css',
            'front_end/buildSystemOnly.js',
            'front_end/cm/cmdevtools.css',
            'front_end/cm/codemirror.css',
            'front_end/cssNamedFlows.css',
            'front_end/dataGrid.css',
            'front_end/elementsPanel.css',
            'front_end/filteredItemSelectionDialog.css',
            'front_end/flameChart.css',
            'front_end/heapProfiler.css',
            'front_end/helpScreen.css',
            'front_end/indexedDBViews.css',
            'front_end/inspectorCommon.css',
            'front_end/navigatorView.css',
            'front_end/networkLogView.css',
            'front_end/networkPanel.css',
            'front_end/panelEnablerView.css',
            'front_end/profilesPanel.css',
            'front_end/resourceView.css',
            'front_end/resourcesPanel.css',
            'front_end/revisionHistory.css',
            'front_end/scriptsPanel.css',
            'front_end/sidebarPane.css',
            'front_end/spectrum.css',
            'front_end/splitView.css',
            'front_end/tabbedPane.css',
            'front_end/textPrompt.css',
            'front_end/timelinePanel.css',
            'front_end/canvasProfiler.css',
        ],
        'devtools_elements_js_files': [
            'front_end/CSSNamedFlowCollectionsView.js',
            'front_end/CSSNamedFlowView.js',
            'front_end/ElementsPanel.js',
            'front_end/EventListenersSidebarPane.js',
            'front_end/MetricsSidebarPane.js',
            'front_end/PropertiesSidebarPane.js',
            'front_end/StylesSidebarPane.js',
        ],
        'devtools_resources_js_files': [
            'front_end/ApplicationCacheItemsView.js',
            'front_end/DOMStorageItemsView.js',
            'front_end/DatabaseQueryView.js',
            'front_end/DatabaseTableView.js',
            'front_end/DirectoryContentView.js',
            'front_end/FileContentView.js',
            'front_end/FileSystemView.js',
            'front_end/IndexedDBViews.js',
            'front_end/ResourcesPanel.js',
        ],
        'devtools_network_js_files': [
            'front_end/NetworkItemView.js',
            'front_end/RequestCookiesView.js',
            'front_end/RequestHeadersView.js',
            'front_end/RequestHTMLView.js',
            'front_end/RequestJSONView.js',
            'front_end/RequestPreviewView.js',
            'front_end/RequestResponseView.js',
            'front_end/RequestTimingView.js',
            'front_end/RequestView.js',
            'front_end/ResourceWebSocketFrameView.js',
            'front_end/NetworkPanel.js',
        ],
        'devtools_scripts_js_files': [
            'front_end/BreakpointsSidebarPane.js',
            'front_end/CallStackSidebarPane.js',
            'front_end/FilePathScoreFunction.js',
            'front_end/FilteredItemSelectionDialog.js',
            'front_end/JavaScriptSourceFrame.js',
            'front_end/NavigatorOverlayController.js',
            'front_end/NavigatorView.js',
            'front_end/RevisionHistoryView.js',
            'front_end/ScopeChainSidebarPane.js',
            'front_end/ScriptsNavigator.js',
            'front_end/ScriptsPanel.js',
            'front_end/ScriptsSearchScope.js',
            'front_end/StyleSheetOutlineDialog.js',
            'front_end/TabbedEditorContainer.js',
            'front_end/UISourceCodeFrame.js',
            'front_end/WatchExpressionsSidebarPane.js',
            'front_end/WorkersSidebarPane.js',
        ],
        'devtools_timeline_js_files': [
            'front_end/MemoryStatistics.js',
            'front_end/TimelineFrameController.js',
            'front_end/TimelineModel.js',
            'front_end/TimelinePresentationModel.js',
            'front_end/TimelineOverviewPane.js',
            'front_end/TimelinePanel.js',
        ],

        'devtools_profiles_js_files': [
            'front_end/BottomUpProfileDataGridTree.js',
            'front_end/CPUProfileView.js',
            'front_end/FlameChart.js',
            'front_end/HeapSnapshot.js',
            'front_end/HeapSnapshotDataGrids.js',
            'front_end/HeapSnapshotGridNodes.js',
            'front_end/HeapSnapshotLoader.js',
            'front_end/HeapSnapshotProxy.js',
            'front_end/HeapSnapshotView.js',
            'front_end/HeapSnapshotWorkerDispatcher.js',
            'front_end/JSHeapSnapshot.js',
            'front_end/ProfileDataGridTree.js',
            'front_end/ProfilesPanel.js',
            'front_end/ProfileLauncherView.js',
            'front_end/TopDownProfileDataGridTree.js',
            'front_end/CanvasProfileView.js',
        ],

        'devtools_audits_js_files': [
            'front_end/AuditCategories.js',
            'front_end/AuditController.js',
            'front_end/AuditFormatters.js',
            'front_end/AuditLauncherView.js',
            'front_end/AuditResultView.js',
            'front_end/AuditRules.js',
            'front_end/AuditsPanel.js',
        ],

        'devtools_codemirror_js_files': [
            'front_end/CodeMirrorTextEditor.js',
            'front_end/cm/clike.js',
            'front_end/cm/closebrackets.js',
            'front_end/cm/codemirror.js',
            'front_end/cm/coffeescript.js',
            'front_end/cm/comment.js',
            'front_end/cm/css.js',
            'front_end/cm/htmlembedded.js',
            'front_end/cm/htmlmixed.js',
            'front_end/cm/javascript.js',
            'front_end/cm/markselection.js',
            'front_end/cm/matchbrackets.js',
            'front_end/cm/overlay.js',
            'front_end/cm/php.js',
            'front_end/cm/python.js',
            'front_end/cm/shell.js',
            'front_end/cm/xml.js',
        ],

        'devtools_modules_js_files': [
            '<@(devtools_elements_js_files)',
            '<@(devtools_resources_js_files)',
            '<@(devtools_network_js_files)',
            '<@(devtools_scripts_js_files)',
            '<@(devtools_timeline_js_files)',
            '<@(devtools_profiles_js_files)',
            '<@(devtools_audits_js_files)',
            '<@(devtools_codemirror_js_files)',
        ],
        'devtools_uglifyjs_files': [
            'front_end/UglifyJS/parse-js.js',
        ],
        'devtools_image_files': [
            'front_end/Images/addIcon.png',
            'front_end/Images/applicationCache.png',
            'front_end/Images/back.png',
            'front_end/Images/breakpointBorder.png',
            'front_end/Images/breakpoint2.png',
            'front_end/Images/breakpoint2_2x.png',
            'front_end/Images/breakpointConditional2.png',
            'front_end/Images/breakpointConditional2_2x.png',
            'front_end/Images/breakpointConditionalBorder.png',
            'front_end/Images/breakpointConditionalCounterBorder.png',
            'front_end/Images/breakpointCounterBorder.png',
            'front_end/Images/checker.png',
            'front_end/Images/cookie.png',
            'front_end/Images/namedFlowOverflow.png',
            'front_end/Images/database.png',
            'front_end/Images/databaseTable.png',
            'front_end/Images/deleteIcon.png',
            'front_end/Images/domain.png',
            'front_end/Images/forward.png',
            'front_end/Images/fileSystem.png',
            'front_end/Images/frame.png',
            'front_end/Images/glossyHeader.png',
            'front_end/Images/glossyHeaderPressed.png',
            'front_end/Images/glossyHeaderSelected.png',
            'front_end/Images/glossyHeaderSelectedPressed.png',
            'front_end/Images/graphLabelCalloutLeft.png',
            'front_end/Images/graphLabelCalloutRight.png',
            'front_end/Images/indexedDB.png',
            'front_end/Images/indexedDBObjectStore.png',
            'front_end/Images/indexedDBIndex.png',
            'front_end/Images/localStorage.png',
            'front_end/Images/paneAddButtons.png',
            'front_end/Images/paneElementStateButtons.png',
            'front_end/Images/paneFilterButtons.png',
            'front_end/Images/paneRefreshButtons.png',
            'front_end/Images/paneSettingsButtons.png',
            'front_end/Images/popoverArrows.png',
            'front_end/Images/popoverBackground.png',
            'front_end/Images/profileGroupIcon.png',
            'front_end/Images/profileIcon.png',
            'front_end/Images/profileSmallIcon.png',
            'front_end/Images/programCounterBorder.png',
            'front_end/Images/radioDot.png',
            'front_end/Images/regionEmpty.png',
            'front_end/Images/regionFit.png',
            'front_end/Images/regionOverset.png',
            'front_end/Images/resourceCSSIcon.png',
            'front_end/Images/resourceDocumentIcon.png',
            'front_end/Images/resourceDocumentIconSmall.png',
            'front_end/Images/resourceJSIcon.png',
            'front_end/Images/resourcePlainIcon.png',
            'front_end/Images/resourcePlainIconSmall.png',
            'front_end/Images/resourcesTimeGraphIcon.png',
            'front_end/Images/searchSmallBlue.png',
            'front_end/Images/searchSmallBrightBlue.png',
            'front_end/Images/searchSmallGray.png',
            'front_end/Images/searchSmallWhite.png',
            'front_end/Images/searchNext.png',
            'front_end/Images/searchPrev.png',
            'front_end/Images/segment.png',
            'front_end/Images/segmentEnd.png',
            'front_end/Images/segmentHover.png',
            'front_end/Images/segmentHoverEnd.png',
            'front_end/Images/segmentSelected.png',
            'front_end/Images/segmentSelectedEnd.png',
            'front_end/Images/sessionStorage.png',
            'front_end/Images/settingsListRemove.png',
            'front_end/Images/settingsListRemove_2x.png',
            'front_end/Images/spinner.gif',
            'front_end/Images/spinnerActive.gif',
            'front_end/Images/spinnerActiveSelected.gif',
            'front_end/Images/spinnerInactive.gif',
            'front_end/Images/spinnerInactiveSelected.gif',
            'front_end/Images/statusbarButtonGlyphs.png',
            'front_end/Images/statusbarButtonGlyphs2x.png',
            'front_end/Images/statusbarResizerHorizontal.png',
            'front_end/Images/statusbarResizerVertical.png',
            'front_end/Images/thumbActiveHoriz.png',
            'front_end/Images/thumbActiveVert.png',
            'front_end/Images/thumbHoriz.png',
            'front_end/Images/thumbVert.png',
            'front_end/Images/thumbHoverHoriz.png',
            'front_end/Images/thumbHoverVert.png',
            'front_end/Images/timelineHollowPillBlue.png',
            'front_end/Images/timelineHollowPillGray.png',
            'front_end/Images/timelineHollowPillGreen.png',
            'front_end/Images/timelineHollowPillOrange.png',
            'front_end/Images/timelineHollowPillPurple.png',
            'front_end/Images/timelineHollowPillRed.png',
            'front_end/Images/timelineHollowPillYellow.png',
            'front_end/Images/timelinePillBlue.png',
            'front_end/Images/timelinePillGray.png',
            'front_end/Images/timelinePillGreen.png',
            'front_end/Images/timelinePillOrange.png',
            'front_end/Images/timelinePillPurple.png',
            'front_end/Images/timelinePillRed.png',
            'front_end/Images/timelinePillYellow.png',
            'front_end/Images/toolbarItemSelected.png',
            'front_end/Images/trackHoriz.png',
            'front_end/Images/trackVert.png',
        ],
        'devtools_extension_api_files': [
            'front_end/ExtensionAPI.js',
            'front_end/DevToolsExtensionAPI.js'
        ],
    },
    'targets': [
        {
            'target_name': 'devtools_frontend_resources',
            'type': 'none',
            'dependencies': [
                'devtools_html',
                'frontend_protocol_sources',
            ],
            'conditions': [
                ['debug_devtools==0', {
                    'dependencies': ['concatenated_devtools_js',
                                     'concatenated_devtools_elements_js',
                                     'concatenated_devtools_resources_js',
                                     'concatenated_devtools_network_js',
                                     'concatenated_devtools_scripts_js',
                                     'concatenated_devtools_timeline_js',
                                     'concatenated_devtools_profiles_js',
                                     'concatenated_devtools_audits_js',
                                     'concatenated_devtools_codemirror_js',
                                     'concatenated_heap_snapshot_worker_js',
                                     'concatenated_script_formatter_worker_js',
                                     'concatenated_devtools_css'],
                }],
            ],
            'copies': [
                {
                    'destination': '<(PRODUCT_DIR)/resources/inspector',
                    'files': [
                        '<@(devtools_files)',
                        '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js',
                    ],
                    'conditions': [
                        ['debug_devtools==0', {
                            'files/': [['exclude', '\\.(js|css|html)$']],
                        }],
                    ],
                },
                {
                    'destination': '<(PRODUCT_DIR)/resources/inspector/UglifyJS',
                    'files': [
                        '<@(devtools_uglifyjs_files)',
                    ],
                    'conditions': [
                        ['debug_devtools==0', {
                            'files/': [['exclude', '\\.(js|css|html)$']],
                        }],
                    ],
                },
                {
                    'destination': '<(PRODUCT_DIR)/resources/inspector/Images',
                    'files': [
                        '<@(devtools_image_files)',
                    ],
                },
            ],
        },
        {
            'target_name': 'devtools_html',
            'type': 'none',
            'sources': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'],
            'actions': [{
                'action_name': 'devtools_html',
                'script_name': 'scripts/generate_devtools_html.py',
                'input_page': 'front_end/inspector.html',
                'inputs': [
                    '<@(_script_name)',
                    '<@(_input_page)',
                ],
                'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'],
                'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_outputs)', '<@(debug_devtools)'],
            }],
        },
        {
            'target_name': 'devtools_extension_api',
            'type': 'none',
            'actions': [{
                'action_name': 'devtools_html',
                'script_name': 'scripts/generate_devtools_extension_api.py',
                'inputs': [
                    '<@(_script_name)',
                    '<@(devtools_extension_api_files)',
                ],
                'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools_extension_api.js'],
                'action': ['python', '<@(_script_name)', '<@(_outputs)', '<@(devtools_extension_api_files)'],
            }],
        },
        {
            'target_name': 'generate_devtools_grd',
            'type': 'none',
            'dependencies': [
                'devtools_html',
                'devtools_extension_api'
            ],
            'conditions': [
                ['debug_devtools==0', {
                    'dependencies': ['concatenated_devtools_js',
                                     'concatenated_devtools_elements_js',
                                     'concatenated_devtools_resources_js',
                                     'concatenated_devtools_network_js',
                                     'concatenated_devtools_scripts_js',
                                     'concatenated_devtools_timeline_js',
                                     'concatenated_devtools_profiles_js',
                                     'concatenated_devtools_audits_js',
                                     'concatenated_devtools_codemirror_js',
                                     'concatenated_heap_snapshot_worker_js',
                                     'concatenated_script_formatter_worker_js',
                                     'concatenated_devtools_css'],
                    'actions': [{
                        'action_name': 'generate_devtools_grd',
                        'script_name': 'scripts/generate_devtools_grd.py',
                        'input_pages': [
                            '<(PRODUCT_DIR)/resources/inspector/devtools.html',
                            '<(PRODUCT_DIR)/resources/inspector/inspector.js',
                            '<(PRODUCT_DIR)/resources/inspector/ElementsPanel.js',
                            '<(PRODUCT_DIR)/resources/inspector/ResourcesPanel.js',
                            '<(PRODUCT_DIR)/resources/inspector/NetworkPanel.js',
                            '<(PRODUCT_DIR)/resources/inspector/ScriptsPanel.js',
                            '<(PRODUCT_DIR)/resources/inspector/TimelinePanel.js',
                            '<(PRODUCT_DIR)/resources/inspector/ProfilesPanel.js',
                            '<(PRODUCT_DIR)/resources/inspector/AuditsPanel.js',
                            '<(PRODUCT_DIR)/resources/inspector/CodeMirrorTextEditor.js',
                            '<(PRODUCT_DIR)/resources/inspector/HeapSnapshotWorker.js',
                            '<(PRODUCT_DIR)/resources/inspector/ScriptFormatterWorker.js',
                            '<(PRODUCT_DIR)/resources/inspector/inspector.css',
                            '<(PRODUCT_DIR)/resources/inspector/devtools_extension_api.js',
                            '<@(devtools_standalone_files)',
                        ],
                        'images': [
                            '<@(devtools_image_files)',
                        ],
                        'inputs': [
                            '<@(_script_name)',
                            '<@(_input_pages)',
                            '<@(_images)',
                        ],
                        'search_path': [
                            'front_end/Images',
                        ],
                        'outputs': ['<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd'],
                        'action': ['python', '<@(_script_name)', '<@(_input_pages)', '--images', '<@(_search_path)', '--output', '<@(_outputs)'],
                    }],
                },
                {
                    # If we're not concatenating devtools files, we want to
                    # run after the original files have been copied to
                    # <(PRODUCT_DIR)/resources/inspector.
                    'dependencies': ['devtools_frontend_resources'],
                    'actions': [{
                        'action_name': 'generate_devtools_grd',
                        'script_name': 'scripts/generate_devtools_grd.py',
                        'input_pages': [
                            '<@(devtools_files)',
                            '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js',
                            '<(PRODUCT_DIR)/resources/inspector/devtools.html',
                        ],
                        'images': [
                            '<@(devtools_image_files)',
                        ],
                        'inputs': [
                            '<@(_script_name)',
                            '<@(_input_pages)',
                            '<@(_images)',
                        ],
                        'search_path': [
                            'front_end/Images',
                        ],
                        # Note that other files are put under /devtools directory, together with declared devtools_resources.grd
                        'outputs': ['<(SHARED_INTERMEDIATE_DIR)/devtools/devtools_resources.grd'],
                        'action': ['python', '<@(_script_name)', '<@(_input_pages)', '--images', '<@(_search_path)', '--output', '<@(_outputs)'],
                    }],
                }],
            ],
        },
        {
          'target_name': 'frontend_protocol_sources',
          'type': 'none',
          'actions': [
            {
              'action_name': 'generateInspectorProtocolFrontendSources',
              'inputs': [
                # The python script in action below.
                'scripts/CodeGeneratorFrontend.py',
                # Input file for the script.
                'protocol.json',
              ],
              'outputs': [
                '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js',
              ],
              'action': [
                'python',
                'scripts/CodeGeneratorFrontend.py',
                'protocol.json',
                '--output_js_dir', '<(SHARED_INTERMEDIATE_DIR)/blink',
              ],
              'message': 'Generating Inspector protocol frontend sources from protocol.json',
              'msvs_cygwin_shell': 1,
            },
          ]
        },
    ], # targets
    'conditions': [
        ['debug_devtools==0', {
            'targets': [
                {
                    'target_name': 'concatenated_devtools_js',
                    'type': 'none',
                    'dependencies': [
                        'devtools_html',
                        'frontend_protocol_sources'
                    ],
                    'actions': [{
                        'action_name': 'concatenate_devtools_js',
                        'script_name': 'scripts/concatenate_js_files.py',
                        'input_page': 'front_end/inspector.html',
                        'inputs': [
                            '<@(_script_name)',
                            '<@(_input_page)',
                            '<@(devtools_files)',
                            '<(SHARED_INTERMEDIATE_DIR)/blink/InspectorBackendCommands.js'
                        ],
                        'search_path': [
                            'front_end',
                            '<(SHARED_INTERMEDIATE_DIR)/blink',
                        ],
                        'outputs': ['<(PRODUCT_DIR)/resources/inspector/inspector.js'],
                        'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'],
                    }],
                },
                {
                    'target_name': 'concatenated_devtools_elements_js',
                    'type': 'none',
                    'actions': [{
                        'action_name': 'concatenate_devtools_elements_js',
                        'script_name': 'scripts/inline_js_imports.py',
                        'input_file': 'front_end/ElementsPanel.js',
                        'inputs': [
                            '<@(_script_name)',
                            '<@(devtools_elements_js_files)',
                        ],
                        'search_path': 'front_end',
                        'outputs': ['<(PRODUCT_DIR)/resources/inspector/ElementsPanel.js'],
                        'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'],
                    }],
                },
                {
                    'target_name': 'concatenated_devtools_resources_js',
                    'type': 'none',
                    'actions': [{
                        'action_name': 'concatenate_devtools_resources_js',
                        'script_name': 'scripts/inline_js_imports.py',
                        'input_file': 'front_end/ResourcesPanel.js',
                        'inputs': [
                            '<@(_script_name)',
                            '<@(devtools_resources_js_files)',
                        ],
                        'search_path': 'front_end',
                        'outputs': ['<(PRODUCT_DIR)/resources/inspector/ResourcesPanel.js'],
                        'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'],
                    }],
                },
                {
                    'target_name': 'concatenated_devtools_network_js',
                    'type': 'none',
                    'actions': [{
                        'action_name': 'concatenate_devtools_network_js',
                        'script_name': 'scripts/inline_js_imports.py',
                        'input_file': 'front_end/NetworkPanel.js',
                        'inputs': [
                            '<@(_script_name)',
                            '<@(devtools_network_js_files)',
                        ],
                        'search_path': 'front_end',
                        'outputs': ['<(PRODUCT_DIR)/resources/inspector/NetworkPanel.js'],
                        'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'],
                    }],
                },
                {
                    'target_name': 'concatenated_devtools_scripts_js',
                    'type': 'none',
                    'actions': [{
                        'action_name': 'concatenate_devtools_scripts_js',
                        'script_name': 'scripts/inline_js_imports.py',
                        'input_file': 'front_end/ScriptsPanel.js',
                        'inputs': [
                            '<@(_script_name)',
                            '<@(devtools_scripts_js_files)',
                        ],
                        'search_path': 'front_end',
                        'outputs': ['<(PRODUCT_DIR)/resources/inspector/ScriptsPanel.js'],
                        'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'],
                    }],
                },
                {
                    'target_name': 'concatenated_devtools_timeline_js',
                    'type': 'none',
                    'actions': [{
                        'action_name': 'concatenate_devtools_timeline_js',
                        'script_name': 'scripts/inline_js_imports.py',
                        'input_file': 'front_end/TimelinePanel.js',
                        'inputs': [
                            '<@(_script_name)',
                            '<@(devtools_timeline_js_files)',
                        ],
                        'search_path': 'front_end',
                        'outputs': ['<(PRODUCT_DIR)/resources/inspector/TimelinePanel.js'],
                        'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'],
                    }],
                },
                {
                    'target_name': 'concatenated_devtools_profiles_js',
                    'type': 'none',
                    'actions': [{
                        'action_name': 'concatenate_devtools_profiles_js',
                        'script_name': 'scripts/inline_js_imports.py',
                        'input_file': 'front_end/ProfilesPanel.js',
                        'inputs': [
                            '<@(_script_name)',
                            '<@(devtools_profiles_js_files)',
                        ],
                        'search_path': 'front_end',
                        'outputs': ['<(PRODUCT_DIR)/resources/inspector/ProfilesPanel.js'],
                        'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'],
                    }],
                },
                {
                    'target_name': 'concatenated_devtools_audits_js',
                    'type': 'none',
                    'actions': [{
                        'action_name': 'concatenate_devtools_audits_js',
                        'script_name': 'scripts/inline_js_imports.py',
                        'input_file': 'front_end/AuditsPanel.js',
                        'inputs': [
                            '<@(_script_name)',
                            '<@(devtools_audits_js_files)',
                        ],
                        'search_path': 'front_end',
                        'outputs': ['<(PRODUCT_DIR)/resources/inspector/AuditsPanel.js'],
                        'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'],
                    }],
                },
                {
                    'target_name': 'concatenated_devtools_codemirror_js',
                    'type': 'none',
                    'actions': [{
                        'action_name': 'concatenate_devtools_codemirror_js',
                        'script_name': 'scripts/inline_js_imports.py',
                        'input_file': 'front_end/CodeMirrorTextEditor.js',
                        'inputs': [
                            '<@(_script_name)',
                            '<@(devtools_codemirror_js_files)',
                        ],
                        'search_path': 'front_end',
                        'outputs': ['<(PRODUCT_DIR)/resources/inspector/CodeMirrorTextEditor.js'],
                        'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'],
                    }],
                },
                {
                    'target_name': 'concatenated_heap_snapshot_worker_js',
                    'type': 'none',
                    'actions': [{
                        'action_name': 'concatenate_heap_snapshot_worker_js',
                        'script_name': 'scripts/inline_js_imports.py',
                        'input_file': 'front_end/HeapSnapshotWorker.js',
                        'inputs': [
                            '<@(_script_name)',
                            '<@(_input_file)',
                            'front_end/HeapSnapshot.js',
                            'front_end/HeapSnapshotLoader.js',
                            'front_end/HeapSnapshotWorkerDispatcher.js',
                            'front_end/JSHeapSnapshot.js',
                            'front_end/utilities.js',
                        ],
                        'search_path': 'front_end',
                        'outputs': ['<(PRODUCT_DIR)/resources/inspector/HeapSnapshotWorker.js'],
                        'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'],
                    }],
                },
                {
                    'target_name': 'concatenated_script_formatter_worker_js',
                    'type': 'none',
                    'actions': [{
                        'action_name': 'concatenate_script_formatter_worker_js',
                        'script_name': 'scripts/inline_js_imports.py',
                        'input_file': 'front_end/ScriptFormatterWorker.js',
                        'inputs': [
                            '<@(_script_name)',
                            '<@(_input_file)',
                            '<@(devtools_uglifyjs_files)'
                        ],
                        'search_path': 'front_end',
                        'outputs': ['<(PRODUCT_DIR)/resources/inspector/ScriptFormatterWorker.js'],
                        'action': ['python', '<@(_script_name)', '<@(_input_file)', '<@(_search_path)', '<@(_outputs)'],
                    }],
                },
                {
                    'target_name': 'concatenated_devtools_css',
                    'type': 'none',
                    'dependencies': [
                        'devtools_html'
                    ],
                    'actions': [{
                        'action_name': 'concatenate_devtools_css',
                        'script_name': 'scripts/concatenate_css_files.py',
                        'input_page': 'front_end/inspector.html',
                        'inputs': [
                            '<@(_script_name)',
                            '<@(_input_page)',
                            '<@(devtools_files)',
                        ],
                        'search_path': [ 'front_end' ],
                        'outputs': ['<(PRODUCT_DIR)/resources/inspector/inspector.css'],
                        'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'],
                    }],
                    'copies': [{
                        'destination': '<(PRODUCT_DIR)/resources/inspector',
                        'files': [
                            '<@(devtools_standalone_files)',
                        ],
                    }],
                },
            ],
        }],
    ], # conditions
}
