#
# 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/DefaultTextEditor.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/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/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/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/nativeMemoryProfiler.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/textEditor.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/NativeMemoryGraph.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/CSSSelectorProfileView.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/NativeHeapSnapshot.js',
            'front_end/NativeMemorySnapshotView.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/toolbarIcons.png',
            'front_end/Images/toolbarIconsSmall.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)/webkit/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)/webkit/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)/webkit/InspectorBackendCommands.js',
              ],
              'action': [
                'python',
                'scripts/CodeGeneratorFrontend.py',
                'protocol.json',
                '--output_js_dir', '<(SHARED_INTERMEDIATE_DIR)/webkit',
              ],
              '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)/webkit/InspectorBackendCommands.js'
                        ],
                        'search_path': [
                            'front_end',
                            '<(SHARED_INTERMEDIATE_DIR)/webkit',
                        ],
                        '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)', 'true'],
                    }],
                },
                {
                    '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
}
