Diff
Modified: trunk/Source/WebCore/ChangeLog (135425 => 135426)
--- trunk/Source/WebCore/ChangeLog 2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/ChangeLog 2012-11-21 20:29:21 UTC (rev 135426)
@@ -1,3 +1,39 @@
+2012-11-21 Kentaro Hara <[email protected]>
+
+ Remove $outputDir and $outputHeadersDir from global variables of code generators
+ https://bugs.webkit.org/show_bug.cgi?id=102492
+
+ Reviewed by Adam Barth.
+
+ $outputDir and $outputHeadersDir are used in WriteData() only.
+ We don't need to use global variables for them.
+
+ No tests. No change in behavior.
+
+ * bindings/scripts/CodeGenerator.pm:
+ (ProcessDocument):
+ (FileNamePrefix):
+ * bindings/scripts/CodeGeneratorCPP.pm:
+ (new):
+ (GenerateInterface):
+ (WriteData):
+ * bindings/scripts/CodeGeneratorGObject.pm:
+ (new):
+ (WriteData):
+ (GenerateInterface):
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (new):
+ (GenerateInterface):
+ (WriteData):
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ (new):
+ (GenerateInterface):
+ (WriteData):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (new):
+ (GenerateInterface):
+ (WriteData):
+
2012-11-21 Joshua Bell <[email protected]>
Remove IDBDatabaseException
Modified: trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm (135425 => 135426)
--- trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm 2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm 2012-11-21 20:29:21 UTC (rev 135426)
@@ -124,7 +124,7 @@
require $ifaceName . ".pm";
# Dynamically load external code generation perl module
- $codeGenerator = $ifaceName->new($object, $useOutputDir, $useOutputHeadersDir, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose, $targetIdlFilePath);
+ $codeGenerator = $ifaceName->new($object, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose, $targetIdlFilePath);
unless (defined($codeGenerator)) {
my $interfaces = $useDocument->interfaces;
foreach my $interface (@$interfaces) {
@@ -137,6 +137,7 @@
foreach my $interface (@$interfaces) {
print "Generating $useGenerator bindings code for IDL interface \"" . $interface->name . "\"...\n" if $verbose;
$codeGenerator->GenerateInterface($interface, $defines);
+ $codeGenerator->WriteData($interface, $useOutputDir, $useOutputHeadersDir);
}
}
@@ -148,7 +149,7 @@
require $ifaceName . ".pm";
# Dynamically load external code generation perl module
- $codeGenerator = $ifaceName->new($object, $useOutputDir, $useOutputHeadersDir, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose);
+ $codeGenerator = $ifaceName->new($object, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose);
return $codeGenerator->FileNamePrefix();
}
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorCPP.pm (135425 => 135426)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorCPP.pm 2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorCPP.pm 2012-11-21 20:29:21 UTC (rev 135426)
@@ -28,7 +28,6 @@
use constant FileNamePrefix => "WebDOM";
# Global Variables
-my $outputDir = "";
my @headerContentHeader = ();
my @headerContent = ();
@@ -96,8 +95,6 @@
my $reference = { };
$codeGenerator = shift;
- $outputDir = shift;
- shift; # $outputHeadersDir
shift; # $useLayerOnTop
shift; # $preprocessor
shift; # $writeDependencies
@@ -116,12 +113,8 @@
my $className = GetClassName($name);
my $parentClassName = "WebDOM" . GetParentImplClassName($interface);
- # Start actual generation.
$object->GenerateHeader($interface);
$object->GenerateImplementation($interface);
-
- # Write changes.
- $object->WriteData(FileNamePrefix . $name);
}
sub GetClassName
@@ -935,15 +928,17 @@
push(@implContent, "\n#endif // ${conditionalString}\n") if $conditionalString;
}
-# Internal helper
sub WriteData
{
my $object = shift;
- my $name = shift;
+ my $dataNode = shift;
+ my $outputDir = shift;
# Open files for writing...
- my $headerFileName = "$outputDir/" . $name . ".h";
- my $implFileName = "$outputDir/" . $name . ".cpp";
+ my $name = $dataNode->name;
+ my $prefix = FileNamePrefix;
+ my $headerFileName = "$outputDir/$prefix$name.h";
+ my $implFileName = "$outputDir/$prefix$name.cpp";
# Update a .h file if the contents are changed.
my $contents = join "", @headerContentHeader;
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm (135425 => 135426)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm 2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm 2012-11-21 20:29:21 UTC (rev 135426)
@@ -45,8 +45,6 @@
my $reference = { };
$codeGenerator = shift;
- $outputDir = shift;
- mkdir $outputDir;
bless($reference, $object);
}
@@ -1316,10 +1314,11 @@
$object->GenerateEndHeader();
}
-# Internal helper
sub WriteData {
my $object = shift;
my $interface = shift;
+ my $outputDir = shift;
+ mkdir $outputDir;
# Write a private header.
my $interfaceName = $interface->name;
@@ -1433,7 +1432,6 @@
$className = GetClassName($interface->name);
$object->Generate($interface);
- $object->WriteData($interface);
}
1;
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (135425 => 135426)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2012-11-21 20:29:21 UTC (rev 135426)
@@ -32,7 +32,6 @@
my $codeGenerator;
-my $outputDir = "";
my $writeDependencies = 0;
my @headerContentHeader = ();
@@ -77,8 +76,6 @@
my $reference = { };
$codeGenerator = shift;
- $outputDir = shift;
- shift; # $outputHeadersDir
shift; # $useLayerOnTop
shift; # $preprocessor
$writeDependencies = shift;
@@ -108,8 +105,6 @@
$object->GenerateHeader($interface);
$object->GenerateImplementation($interface);
}
-
- $object->WriteData($interface);
}
sub GenerateAttributeEventListenerCall
@@ -3535,11 +3530,11 @@
return $hash;
}
-# Internal helper
sub WriteData
{
my $object = shift;
my $interface = shift;
+ my $outputDir = shift;
my $name = $interface->name;
my $prefix = FileNamePrefix;
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm (135425 => 135426)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm 2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm 2012-11-21 20:29:21 UTC (rev 135426)
@@ -29,7 +29,6 @@
use constant FileNamePrefix => "DOM";
# Global Variables
-my $outputDir = "";
my $writeDependencies = 0;
my %publicInterfaces = ();
my $newPublicClass = 0;
@@ -195,8 +194,6 @@
my $reference = { };
$codeGenerator = shift;
- $outputDir = shift;
- shift; # $outputHeadersDir
shift; # $useLayerOnTop
shift; # $preprocessor
$writeDependencies = shift;
@@ -286,9 +283,6 @@
$object->GenerateHeader($interface);
$object->GenerateImplementation($interface) unless $noImpl;
- # Write changes.
- $object->WriteData(FileNamePrefix . $name);
-
# Check for missing public API
if (keys %publicInterfaces > 0) {
my $missing = join("\n", keys %publicInterfaces);
@@ -1752,14 +1746,17 @@
sub WriteData
{
my $object = shift;
- my $name = shift;
+ my $dataNode = shift;
+ my $outputDir = shift;
# Open files for writing...
- my $headerFileName = "$outputDir/" . $name . ".h";
- my $privateHeaderFileName = "$outputDir/" . $name . "Private.h";
- my $implFileName = "$outputDir/" . $name . ".mm";
- my $internalHeaderFileName = "$outputDir/" . $name . "Internal.h";
- my $depsFileName = "$outputDir/" . $name . ".dep";
+ my $name = $dataNode->name;
+ my $prefix = FileNamePrefix;
+ my $headerFileName = "$outputDir/$prefix$name.h";
+ my $privateHeaderFileName = "$outputDir/$prefix${name}Private.h";
+ my $implFileName = "$outputDir/$prefix$name.mm";
+ my $internalHeaderFileName = "$outputDir/$prefix${name}Internal.h";
+ my $depsFileName = "$outputDir/$prefix$name.dep";
# Write public header.
my $contents = join "", @headerContentHeader;
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm (135425 => 135426)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm 2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm 2012-11-21 20:29:21 UTC (rev 135426)
@@ -32,8 +32,6 @@
my $codeGenerator;
-my $outputDir = "";
-my $outputHeadersDir = "";
my @headerContent = ();
my @implContentHeader = ();
@@ -72,8 +70,6 @@
my $reference = { };
$codeGenerator = shift;
- $outputDir = shift;
- $outputHeadersDir = shift;
bless($reference, $object);
return $reference;
@@ -92,8 +88,6 @@
$object->GenerateHeader($interface);
$object->GenerateImplementation($interface);
}
-
- $object->WriteData($interface);
}
sub AddToImplIncludes
@@ -4139,11 +4133,12 @@
return "toV8($value$getCreationContextArg$getIsolateArg)";
}
-# Internal helper
sub WriteData
{
my $object = shift;
my $interface = shift;
+ my $outputDir = shift;
+ my $outputHeadersDir = shift;
my $name = $interface->name;
my $prefix = FileNamePrefix;
Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm (135425 => 135426)
--- trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm 2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm 2012-11-21 20:29:21 UTC (rev 135426)
@@ -30,11 +30,10 @@
sub new
{
- my ($class, $codeGenerator, $outputDir, $outputHeaderDir, $layerOnTop, $preprocessor, $writeDependencies, $verbose, $idlFilePath) = @_;
+ my ($class, $codeGenerator, $layerOnTop, $preprocessor, $writeDependencies, $verbose, $idlFilePath) = @_;
my $reference = {
codeGenerator => $codeGenerator,
- outputDir => $outputDir,
idlFilePath => $idlFilePath,
};
@@ -42,25 +41,21 @@
return $reference;
}
-sub GenerateModule
+sub GenerateInterface
{
}
-sub GenerateInterface
+sub WriteData
{
- my ($self, $interface, $defines) = @_;
+ my ($self, $interface, $outputDir) = @_;
foreach my $file ($self->_generateHeaderFile($interface), $self->_generateImplementationFile($interface)) {
- open(FILE, ">", File::Spec->catfile($$self{outputDir}, $$file{name})) or die "Failed to open $$file{name} for writing: $!";
+ open(FILE, ">", File::Spec->catfile($outputDir, $$file{name})) or die "Failed to open $$file{name} for writing: $!";
print FILE @{$$file{contents}};
close(FILE) or die "Failed to close $$file{name} after writing: $!";
}
}
-sub finish
-{
-}
-
sub _className
{
my ($idlType) = @_;