Changeset 62549 in webkit


Ignore:
Timestamp:
Jul 6, 2010 8:04:35 AM (14 years ago)
Author:
loislo@chromium.org
Message:

2010-07-06 Ilya Tikhonovsky <loislo@chromium.org>

Reviewed by Yury Semikhatsky.

WebInspector: generator part of the patch for bug 40675.
On the way to Remote Debugging we want to support JSON serialization
on both sides of WebInspector transport.
As far as InspectorFrontend class is a simple proxy to WebInspector
it would be better to generate it from an IDL file.
We have generator infrastructure for binding and will reuse it for
new generator.
https://bugs.webkit.org/show_bug.cgi?id=41692

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gyp/scripts/rule_binding.py:
  • WebCore.gypi:
  • WebCore.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/CodeGenerator.pm:
  • bindings/scripts/IDLParser.pm:
  • bindings/scripts/generate-bindings.pl:
  • inspector/CodeGeneratorInspector.pm: Added.
  • inspector/InspectorController.cpp: (WebCore::InspectorController::connectFrontend): (WebCore::InspectorController::startTimelineProfiler):
  • inspector/InspectorController.h:
  • inspector/InspectorFrontend.cpp:
  • inspector/InspectorFrontend.h:
  • inspector/InspectorFrontend2.idl: Added.
  • inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): (WebCore::InspectorTimelineAgent::resetFrontendProxyObject): (WebCore::InspectorTimelineAgent::addRecordToTimeline):
  • inspector/InspectorTimelineAgent.h:
Location:
trunk
Files:
2 added
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r62483 r62549  
     12010-07-06  Ilya Tikhonovsky  <loislo@chromium.org>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        WebInspector: generator part of the patch for bug 40675.
     6        On the way to Remote Debugging we want to support JSON serialization
     7        on both sides of WebInspector transport.
     8        As far as InspectorFrontend class is a simple proxy to WebInspector
     9        it would be better to generate it from an IDL file.
     10        We have generator infrastructure for binding and will reuse it for
     11        new generator.
     12        https://bugs.webkit.org/show_bug.cgi?id=41692
     13
     14        * GNUmakefile.am:
     15
    1162010-07-05  Antti Koivisto  <koivisto@iki.fi>
    217
  • trunk/GNUmakefile.am

    r62387 r62549  
    5858lib_LTLIBRARIES :=
    5959IDL_BINDINGS :=
     60INSPECTOR_INTERFACES :=
    6061TEST_PROGS :=
    6162POFILES :=
  • trunk/WebCore/CMakeLists.txt

    r62502 r62549  
    290290    inspector/InjectedScriptHost.idl
    291291    inspector/InspectorBackend.idl
     292    inspector/InspectorFrontend2.idl
    292293    inspector/InspectorFrontendHost.idl
    293294    inspector/JavaScriptCallFrame.idl
  • trunk/WebCore/ChangeLog

    r62546 r62549  
     12010-07-06  Ilya Tikhonovsky  <loislo@chromium.org>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        WebInspector: generator part of the patch for bug 40675.
     6        On the way to Remote Debugging we want to support JSON serialization
     7        on both sides of WebInspector transport.
     8        As far as InspectorFrontend class is a simple proxy to WebInspector
     9        it would be better to generate it from an IDL file.
     10        We have generator infrastructure for binding and will reuse it for
     11        new generator.
     12        https://bugs.webkit.org/show_bug.cgi?id=41692
     13
     14
     15        * CMakeLists.txt:
     16        * DerivedSources.make:
     17        * GNUmakefile.am:
     18        * WebCore.gyp/WebCore.gyp:
     19        * WebCore.gyp/scripts/rule_binding.py:
     20        * WebCore.gypi:
     21        * WebCore.pri:
     22        * WebCore.vcproj/WebCore.vcproj:
     23        * WebCore.xcodeproj/project.pbxproj:
     24        * bindings/scripts/CodeGenerator.pm:
     25        * bindings/scripts/IDLParser.pm:
     26        * bindings/scripts/generate-bindings.pl:
     27        * inspector/CodeGeneratorInspector.pm: Added.
     28        * inspector/InspectorController.cpp:
     29        (WebCore::InspectorController::connectFrontend):
     30        (WebCore::InspectorController::startTimelineProfiler):
     31        * inspector/InspectorController.h:
     32        * inspector/InspectorFrontend.cpp:
     33        * inspector/InspectorFrontend.h:
     34        * inspector/InspectorFrontend2.idl: Added.
     35        * inspector/InspectorTimelineAgent.cpp:
     36        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
     37        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
     38        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
     39        * inspector/InspectorTimelineAgent.h:
     40
    1412010-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
    242
  • trunk/WebCore/DerivedSources.make

    r62357 r62549  
    471471#
    472472
     473INSPECTOR_CLASSES = InspectorFrontend2
     474
    473475.PHONY : all
    474476
    475 JS_DOM_HEADERS=$(filter-out JSEventListener.h JSEventTarget.h,$(DOM_CLASSES:%=JS%.h))
     477JS_DOM_HEADERS=$(filter-out JSEventListener.h JSEventTarget.h,$(DOM_CLASSES:%=JS%.h) $(INSPECTOR_CLASSES:%=Remote%.h))
    476478
    477479all : \
     
    821823# --------
    822824
    823 # JavaScript bindings
    824 
    825 GENERATE_BINDINGS = perl -I $(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl \
    826     --include dom --include html --include css --include page --include notifications --include xml --include svg --write-dependencies --outputDir .
    827 
    828 GENERATE_BINDINGS_SCRIPTS = \
     825# Common generator things
     826
     827GENERATE_SCRIPTS = \
    829828    bindings/scripts/CodeGenerator.pm \
    830829    bindings/scripts/IDLParser.pm \
    831830    bindings/scripts/IDLStructure.pm \
    832     bindings/scripts/generate-bindings.pl \
    833 #
    834 
    835 JS%.h : %.idl $(GENERATE_BINDINGS_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm
    836         $(GENERATE_BINDINGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS $<
     831    bindings/scripts/generate-bindings.pl
     832
     833generator_script = perl $(addprefix -I $(WebCore)/, $(sort $(dir $(1)))) $(WebCore)/bindings/scripts/generate-bindings.pl
     834
     835# JS bindings generator
     836
     837IDL_INCLUDES = dom html css page notifications xml svg
     838IDL_COMMON_ARGS = $(IDL_INCLUDES:%=--include %) --write-dependencies --outputDir .
     839
     840JS_BINDINGS_SCRIPTS = $(GENERATE_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm
     841
     842JS%.h : %.idl $(JS_BINDINGS_SCRIPTS)
     843        $(call generator_script, $(JS_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS $<
     844
     845# Inspector interfaces generator
     846
     847INSPECTOR_GENERATOR_SCRIPTS = $(GENERATE_SCRIPTS) inspector/CodeGeneratorInspector.pm
     848
     849Remote%.h : %.idl $(INSPECTOR_GENERATOR_SCRIPTS)
     850        $(call generator_script, $(INSPECTOR_GENERATOR_SCRIPTS)) --outputDir .  --defines "LANGUAGE_JAVASCRIPT" --generator Inspector $<
    837851
    838852-include $(JS_DOM_HEADERS:.h=.dep)
     
    939953# Objective-C bindings
    940954
    941 DOM%.h : %.idl $(GENERATE_BINDINGS_SCRIPTS) bindings/scripts/CodeGeneratorObjC.pm bindings/objc/PublicDOMInterfaces.h
    942         $(GENERATE_BINDINGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_OBJECTIVE_C" --generator ObjC $<
     955DOM_BINDINGS_SCRIPTS = $(GENERATE_BINDING_SCRIPTS) bindings/scripts/CodeGeneratorObjC.pm
     956DOM%.h : %.idl $(DOM_BINDINGS_SCRIPTS) bindings/objc/PublicDOMInterfaces.h
     957        $(call generator_script, $(DOM_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_OBJECTIVE_C" --generator ObjC $<
    943958
    944959-include $(OBJC_DOM_HEADERS:.h=.dep)
  • trunk/WebCore/GNUmakefile.am

    r62506 r62549  
    333333        WebCore/xml/XMLSerializer.idl \
    334334        WebCore/xml/XSLTProcessor.idl
     335
     336INSPECTOR_INTERFACES += WebCore/inspector/InspectorFrontend2.idl
    335337
    336338webcoregtk_dom_sources = \
     
    39943996DerivedSources/WebCore/JS%.h: DerivedSources/WebCore/JS%.cpp;
    39953997
     3998DerivedSources/WebCore/Remote%.h: DerivedSources/WebCore/Remote%.cpp;
     3999
    39964000.SECONDARY:
    39974001DerivedSources/WebCore/JS%.cpp: %.idl $(SCRIPTS_BINDINGS) $(WebCore)/bindings/scripts/CodeGeneratorJS.pm
    39984002        $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl $(IDL_PATH:%=--include "%") --outputDir "$(GENSOURCES_WEBCORE)" --defines "LANGUAGE_JAVASCRIPT=1 $(FEATURE_DEFINES)" --generator JS $<
     4003
     4004DerivedSources/WebCore/Remote%.cpp: %.idl $(SCRIPTS_BINDINGS) $(WebCore)/inspector/CodeGeneratorInspector.pm
     4005        $(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts -I$(WebCore)/inspector $(WebCore)/bindings/scripts/generate-bindings.pl $(IDL_PATH:%=--include "%") --outputDir "$(GENSOURCES)" --defines "LANGUAGE_JAVASCRIPT=1 $(FEATURE_DEFINES)" --generator Inspector $<
    39994006
    40004007IDL_BINDINGS_JS_PURE := \
     
    40174024
    40184025webcore_built_nosources += $(patsubst %.idl,DerivedSources/WebCore/JS%.h,$(notdir $(IDL_BINDINGS)))
    4019 
    4020 webcore_built_nosources += $(patsubst %.idl,DerivedSources/WebCore/JS%.cpp,$(notdir $(IDL_BINDINGS_JS)))
     4026webcore_built_nosources += $(patsubst %.idl,DerivedSources/WebCore/Remote%.h,$(notdir $(INSPECTOR_INTERFACES)))
     4027
     4028webcore_built_cpp = $(patsubst %.idl,DerivedSources/WebCore/JS%.cpp,$(notdir $(IDL_BINDINGS_JS)))
     4029webcore_built_cpp += $(patsubst %.idl,DerivedSources/WebCore/Remote%.cpp,$(notdir $(INSPECTOR_INTERFACES)))
     4030webcore_built_nosources += $(webcore_built_cpp)
    40214031
    40224032webcore_built_objects = := $(patsubst %.cpp,%.lo,$(webcore_built_nosources))
     
    40264036$(webcore_built_objects): AM_CXXFLAGS+=$(libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CXXFLAGS)
    40274037
    4028 libWebCoreJS_objects := $(patsubst %.idl,DerivedSources/WebCore/JS%.lo,$(notdir $(IDL_BINDINGS_JS)))
    4029 
    4030 libWebCoreJS_depfiles := $(patsubst %.idl,DerivedSources/WebCore/$(DEPDIR)/JS%.Plo,$(notdir $(IDL_BINDINGS_JS)))
     4038libWebCoreJS_objects := $(patsubst %.cpp,%.lo,$(webcore_built_cpp))
     4039
     4040libWebCoreJS_depfiles := $(patsubst %.cpp,DerivedSources/WebCore/$(DEPDIR)/%.Plo,$(notdir $(webcore_built_cpp)))
    40314041
    40324042# Older automake versions (1.7) place Plo files in a different place:
  • trunk/WebCore/WebCore.gyp/WebCore.gyp

    r62219 r62549  
    455455        },
    456456        {
     457          'action_name': 'InspectorFrontend2',
     458          'inputs': [
     459            '../bindings/scripts/generate-bindings.pl',
     460            '../bindings/scripts/CodeGenerator.pm',
     461            '../bindings/scripts/IDLParser.pm',
     462            '../bindings/scripts/IDLStructure.pm',
     463            '../inspector/CodeGeneratorInspector.pm',
     464            '../inspector/InspectorFrontend2.idl',
     465          ],
     466          'outputs': [
     467            '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings/RemoteInspectorFrontend2.cpp',
     468            '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/RemoteInspectorFrontend2.h',
     469          ],
     470          'variables': {
     471            'generator_include_dirs': [
     472            ],
     473          },
     474          'action': [
     475            'python',
     476            'scripts/rule_binding.py',
     477            '../inspector/InspectorFrontend2.idl',
     478            '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings',
     479            '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings',
     480            '--',
     481            '<@(_inputs)',
     482            '--',
     483            '--defines', 'LANGUAGE_JAVASCRIPT',
     484            '--prefix', 'Remote',
     485            '--generator', 'Inspector',
     486            '<@(generator_include_dirs)'
     487          ],
     488          'message': 'Generating InspectorFrontend2 class from InspectorFrontend2.idl',
     489        },
     490        {
    457491          'action_name': 'XMLNames',
    458492          'inputs': [
     
    656690        '<(SHARED_INTERMEDIATE_DIR)/webkit/CSSGrammar.cpp',
    657691        '<(SHARED_INTERMEDIATE_DIR)/webkit/XPathGrammar.cpp',
     692
     693        # Additional .cpp files from the webcore_inspector_sources list.
     694        '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings/RemoteInspectorFrontend2.cpp',
    658695      ],
    659696      'conditions': [
  • trunk/WebCore/WebCore.gyp/scripts/rule_binding.py

    r50480 r62549  
    9696            includeDirs.append(includeDir)
    9797
     98    if '--prefix' in options:
     99        prefixIndex = options.index('--prefix')
     100    else:
     101        prefixIndex = options.index('--generator')
     102
     103    if prefixIndex + 1 < len(options):
     104        prefix = options[prefixIndex + 1]
     105
    98106    # The defines come in as one flat string. Split it up into distinct arguments.
    99107    if '--defines' in options:
     
    123131        inputBasename = os.path.basename(input)
    124132        (root, ext) = os.path.splitext(inputBasename)
    125         hname = 'V8%s.h' % root
     133        hname = '%s%s.h' % (prefix, root)
    126134        hsrc = os.path.join(cppdir, hname)
    127135        hdst = os.path.join(hdir, hname)
  • trunk/WebCore/WebCore.gypi

    r62502 r62549  
    277277            'xml/XPathResult.idl',
    278278            'xml/XSLTProcessor.idl',
     279        ],
     280        'webcore_inspector_idl_files': [
     281            'inspector/InspectorFrontend2.idl',
    279282        ],
    280283        'webcore_svg_bindings_idl_files': [
  • trunk/WebCore/WebCore.pri

    r62483 r62549  
    653653    xml/XSLTProcessor.idl
    654654
     655INSPECTOR_INTERFACES = inspector/InspectorFrontend2.idl
     656
    655657contains(DEFINES, ENABLE_MATHML=1) {
    656658    mathmlnames.output = $${WC_GENERATED_SOURCES_DIR}/MathMLNames.cpp
     
    718720addExtraCompiler(idl)
    719721
     722# GENERATOR 2: inspector idl compiler
     723inspectorIDL.output = $${WC_GENERATED_SOURCES_DIR}/Remote${QMAKE_FILE_BASE}.cpp
     724inspectorIDL.input = INSPECTOR_INTERFACES
     725inspectorIDL.wkScript = $$PWD/bindings/scripts/generate-bindings.pl
     726inspectorIDL.commands = perl -I$$PWD/bindings/scripts -I$$PWD/inspector $$inspectorIDL.wkScript --defines \"$${FEATURE_DEFINES_JAVASCRIPT}\" --generator Inspector --outputDir $$WC_GENERATED_SOURCES_DIR --preprocessor \"$${QMAKE_MOC} -E\" ${QMAKE_FILE_NAME}
     727inspectorIDL.depends = $$PWD/bindings/scripts/CodeGenerator.pm \
     728              $$PWD/inspector/CodeGeneratorInspector.pm \
     729              $$PWD/bindings/scripts/IDLParser.pm \
     730              $$PWD/bindings/scripts/IDLStructure.pm \
     731              $$PWD/bindings/scripts/InFilesParser.pm
     732addExtraCompiler(inspectorIDL)
     733
    720734# GENERATOR 3: tokenizer (flex)
    721735tokenizer.output = $${WC_GENERATED_SOURCES_DIR}/${QMAKE_FILE_BASE}.cpp
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r62502 r62549  
    2074620746                        </File>
    2074720747                        <File
     20748                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\RemoteInspectorFrontend2.cpp"
     20749                                >
     20750                        </File>
     20751                        <File
     20752                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\RemoteInspectorFrontend2.h"
     20753                                >
     20754                        </File>
     20755                        <File
    2074820756                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WMLElementFactory.cpp"
    2074920757                                >
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r62502 r62549  
    10201020                4F3289B511A42AAB005ABE7E /* InspectorValues.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F3289B311A42AAB005ABE7E /* InspectorValues.cpp */; };
    10211021                4F3289B611A42AAB005ABE7E /* InspectorValues.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F3289B411A42AAB005ABE7E /* InspectorValues.h */; settings = {ATTRIBUTES = (Private, ); }; };
     1022                4F4F5FFB11CBD2E100A186BF /* RemoteInspectorFrontend2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4F5FFA11CBD2D200A186BF /* RemoteInspectorFrontend2.cpp */; };
    10221023                4FD8D0F2119C718B002FA825 /* ScriptGCEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FD8D0F0119C718B002FA825 /* ScriptGCEvent.cpp */; };
    10231024                4FD8D0F3119C718B002FA825 /* ScriptGCEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD8D0F1119C718B002FA825 /* ScriptGCEvent.h */; };
     
    67176718                4F3289B311A42AAB005ABE7E /* InspectorValues.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorValues.cpp; sourceTree = "<group>"; };
    67186719                4F3289B411A42AAB005ABE7E /* InspectorValues.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorValues.h; sourceTree = "<group>"; };
     6720                4F4F5FFA11CBD2D200A186BF /* RemoteInspectorFrontend2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteInspectorFrontend2.cpp; sourceTree = "<group>"; };
     6721                4F4F5FFC11CBD30100A186BF /* RemoteInspectorFrontend2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteInspectorFrontend2.h; sourceTree = "<group>"; };
    67196722                4FD8D0F0119C718B002FA825 /* ScriptGCEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptGCEvent.cpp; sourceTree = "<group>"; };
    67206723                4FD8D0F1119C718B002FA825 /* ScriptGCEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptGCEvent.h; sourceTree = "<group>"; };
     
    1133411337                                9FA37EF81172FD9300C4CD55 /* JSScriptProfileNode.cpp */,
    1133511338                                9FA37EF91172FD9300C4CD55 /* JSScriptProfileNode.h */,
     11339                                4F4F5FFA11CBD2D200A186BF /* RemoteInspectorFrontend2.cpp */,
     11340                                4F4F5FFC11CBD30100A186BF /* RemoteInspectorFrontend2.h */,
    1133611341                        );
    1133711342                        name = Inspector;
     
    2204122046                                97DD4D860FDF4D6E00ECF9A4 /* XSSAuditor.cpp in Sources */,
    2204222047                                B885E8D411E06DD2009FFBF4 /* InspectorApplicationCacheAgent.cpp in Sources */,
     22048                                4F4F5FFB11CBD2E100A186BF /* RemoteInspectorFrontend2.cpp in Sources */,
    2204322049                        );
    2204422050                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebCore/bindings/scripts/CodeGenerator.pm

    r61413 r62549  
    8484    $preprocessor = shift;
    8585    $writeDependencies = shift;
     86    $verbose = shift;
    8687
    8788    bless($reference, $object);
     
    104105
    105106    my $ifaceName = "CodeGenerator" . $useGenerator;
     107    require $ifaceName . ".pm";
    106108
    107109    # Dynamically load external code generation perl module
    108     require $ifaceName . ".pm";
    109     $codeGenerator = $ifaceName->new($object, $useOutputDir, $useLayerOnTop, $preprocessor, $writeDependencies);
     110    $codeGenerator = $ifaceName->new($object, $useOutputDir, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose);
    110111    unless (defined($codeGenerator)) {
    111112        my $classes = $useDocument->classes;
  • trunk/WebCore/bindings/scripts/IDLParser.pm

    r61022 r62549  
    260260
    261261        foreach my $line (@interfaceMethods) {
    262             if ($line =~ /attribute/) {
     262            if ($line =~ /\Wattribute\W/) {
    263263                $line =~ /$IDLStructure::interfaceAttributeSelector/;
    264264
  • trunk/WebCore/bindings/scripts/generate-bindings.pl

    r56344 r62549  
    4242my $generator;
    4343my $defines;
     44my $prefix;
    4445my $preprocessor;
    4546my $writeDependencies;
     47my $verbose;
    4648
    4749GetOptions('include=s@' => \@idlDirectories,
     
    4951           'generator=s' => \$generator,
    5052           'defines=s' => \$defines,
     53           'prefix=s' => \$prefix,
    5154           'preprocessor=s' => \$preprocessor,
     55           'verbose' => \$verbose,
    5256           'write-dependencies' => \$writeDependencies);
    5357
     
    5559
    5660die('Must specify input file.') unless defined($idlFile);
    57 die('Must specify IDL search path.') unless @idlDirectories;
    5861die('Must specify generator') unless defined($generator);
    5962die('Must specify output directory.') unless defined($outputDirectory);
    6063die('Must specify defines') unless defined($defines);
    6164
     65if ($verbose) {
     66    print "$generator: $idlFile\n";
     67}
    6268$defines =~ s/^\s+|\s+$//g; # trim whitespace
    6369
    6470# Parse the given IDL file.
    65 my $parser = IDLParser->new(1);
     71my $parser = IDLParser->new(!$verbose);
    6672my $document = $parser->Parse($idlFile, $defines, $preprocessor);
    6773
    6874# Generate desired output for given IDL file.
    69 my $codeGen = CodeGenerator->new(\@idlDirectories, $generator, $outputDirectory, 0, $preprocessor, $writeDependencies);
     75my $codeGen = CodeGenerator->new(\@idlDirectories, $generator, $outputDirectory, 0, $preprocessor, $writeDependencies, $verbose);
    7076$codeGen->ProcessDocument($document, $defines);
  • trunk/WebCore/inspector/InspectorController.cpp

    r62535 r62549  
    6969#include "ProgressTracker.h"
    7070#include "Range.h"
     71#include "RemoteInspectorFrontend2.h"
    7172#include "RenderInline.h"
    7273#include "ResourceRequest.h"
     
    486487    releaseFrontendLifetimeAgents();
    487488    m_frontend = new InspectorFrontend(webInspector, m_client);
     489    m_frontend2 = new InspectorFrontend2(m_client);
    488490    m_domAgent = InspectorDOMAgent::create(m_cssStore.get(), m_frontend.get());
    489491    if (m_timelineAgent)
    490         m_timelineAgent->resetFrontendProxyObject(m_frontend.get());
     492        m_timelineAgent->resetFrontendProxyObject(m_frontend2.get());
    491493
    492494    // Initialize Web Inspector title.
     
    11621164        return;
    11631165
    1164     m_timelineAgent = new InspectorTimelineAgent(m_frontend.get());
     1166    m_timelineAgent = new InspectorTimelineAgent(m_frontend2.get());
    11651167    if (m_frontend)
    11661168        m_frontend->timelineProfilerWasStarted();
  • trunk/WebCore/inspector/InspectorController.h

    r62535 r62549  
    7070class InspectorDatabaseResource;
    7171class InspectorFrontend;
     72class InspectorFrontend2;
    7273class InspectorFrontendClient;
    7374class InspectorResource;
     
    344345    bool m_openingFrontend;
    345346    OwnPtr<InspectorFrontend> m_frontend;
     347    OwnPtr<InspectorFrontend2> m_frontend2;
    346348    RefPtr<InspectorDOMAgent> m_domAgent;
    347349    OwnPtr<InspectorCSSStore> m_cssStore;
  • trunk/WebCore/inspector/InspectorFrontend.cpp

    r62542 r62549  
    298298}
    299299
    300 void InspectorFrontend::addRecordToTimeline(const RefPtr<InspectorObject>& record)
    301 {
    302     RefPtr<InspectorArray> arguments = InspectorArray::create();
    303     arguments->pushString("addRecordToTimeline");
    304     arguments->push(record);
    305     m_inspectorClient->sendMessageToFrontend(arguments->toJSONString());
    306 }
    307 
    308300#if ENABLE(JAVASCRIPT_DEBUGGER)
    309301void InspectorFrontend::attachDebuggerWhenShown()
  • trunk/WebCore/inspector/InspectorFrontend.h

    r62542 r62549  
    172172        void timelineProfilerWasStarted();
    173173        void timelineProfilerWasStopped();
    174         void addRecordToTimeline(const RefPtr<InspectorObject>& record);
    175174
    176175#if ENABLE(WORKERS)
  • trunk/WebCore/inspector/InspectorTimelineAgent.cpp

    r62542 r62549  
    3535
    3636#include "Event.h"
    37 #include "InspectorFrontend.h"
    3837#include "IntRect.h"
     38#include "RemoteInspectorFrontend2.h"
    3939#include "ResourceRequest.h"
    4040#include "ResourceResponse.h"
     
    4747int InspectorTimelineAgent::s_instanceCount = 0;
    4848
    49 InspectorTimelineAgent::InspectorTimelineAgent(InspectorFrontend* frontend)
     49InspectorTimelineAgent::InspectorTimelineAgent(InspectorFrontend2* frontend)
    5050    : m_frontend(frontend)
    5151{
     
    280280}
    281281
    282 void InspectorTimelineAgent::resetFrontendProxyObject(InspectorFrontend* frontend)
     282void InspectorTimelineAgent::resetFrontendProxyObject(InspectorFrontend2* frontend)
    283283{
    284284    ASSERT(frontend);
  • trunk/WebCore/inspector/InspectorTimelineAgent.h

    r62542 r62549  
    4343namespace WebCore {
    4444class Event;
    45 class InspectorFrontend;
     45class InspectorFrontend2;
    4646class IntRect;
    4747class ResourceRequest;
     
    7575class InspectorTimelineAgent : ScriptGCEventListener, public Noncopyable {
    7676public:
    77     InspectorTimelineAgent(InspectorFrontend* frontend);
     77    InspectorTimelineAgent(InspectorFrontend2* frontend);
    7878    ~InspectorTimelineAgent();
    7979
    8080    void reset();
    81     void resetFrontendProxyObject(InspectorFrontend*);
     81    void resetFrontendProxyObject(InspectorFrontend2*);
    8282
    8383    // Methods called from WebCore.
     
    153153    void pushGCEventRecords();
    154154
    155     InspectorFrontend* m_frontend;
     155    InspectorFrontend2* m_frontend;
    156156
    157157    Vector<TimelineRecordEntry> m_recordStack;
Note: See TracChangeset for help on using the changeset viewer.