summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/Scripts
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-24 11:24:40 +0100
committerBen Murdoch <benm@google.com>2011-06-02 09:53:15 +0100
commit81bc750723a18f21cd17d1b173cd2a4dda9cea6e (patch)
tree7a9e5ed86ff429fd347a25153107221543909b19 /Source/WebKit2/Scripts
parent94088a6d336c1dd80a1e734af51e96abcbb689a7 (diff)
downloadexternal_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.zip
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.gz
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.bz2
Merge WebKit at r80534: Intial merge by Git
Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61
Diffstat (limited to 'Source/WebKit2/Scripts')
-rwxr-xr-xSource/WebKit2/Scripts/generate-forwarding-headers.pl33
-rw-r--r--Source/WebKit2/Scripts/generate-message-receiver.py3
-rw-r--r--Source/WebKit2/Scripts/generate-messages-header.py3
-rw-r--r--Source/WebKit2/Scripts/webkit2/messages.py7
4 files changed, 30 insertions, 16 deletions
diff --git a/Source/WebKit2/Scripts/generate-forwarding-headers.pl b/Source/WebKit2/Scripts/generate-forwarding-headers.pl
index 738d413..5a53d81 100755
--- a/Source/WebKit2/Scripts/generate-forwarding-headers.pl
+++ b/Source/WebKit2/Scripts/generate-forwarding-headers.pl
@@ -53,6 +53,8 @@ foreach my $prefix (@platformPrefixes) {
foreach (@frameworks) {
$framework = $_;
+ @frameworkHeaders = ();
+ %neededHeaders = ();
find(\&collectNeededHeaders, $incFromRoot);
find(\&collectFameworkHeaderPaths, File::Spec->catfile($srcRoot, $framework));
@@ -86,18 +88,25 @@ sub createForwardingHeadersForFramework {
my $targetDirectory = File::Spec->catfile($outputDirectory, $framework);
mkpath($targetDirectory);
foreach my $header (@frameworkHeaders) {
- my $forwardingHeaderPath = File::Spec->catfile($targetDirectory, basename($header));
- my $expectedIncludeStatement = "#include \"$header\"";
- my $foundIncludeStatement = 0;
- $foundIncludeStatement = <EXISTING_HEADER> if open(EXISTING_HEADER, "<$forwardingHeaderPath");
- chomp($foundIncludeStatement);
- if (! $foundIncludeStatement || $foundIncludeStatement ne $expectedIncludeStatement) {
- print "[Creating forwarding header for $framework/$header]\n";
- open(FORWARDING_HEADER, ">$forwardingHeaderPath") or die "Could not open $forwardingHeaderPath.";
- print FORWARDING_HEADER "$expectedIncludeStatement\n";
- close(FORWARDING_HEADER);
+ my $headerName = basename($header);
+
+ # If we found more headers with the same name, only generate a forwarding header for the current platform
+ if(grep($_ =~ "/$headerName\$", @frameworkHeaders) == 1 || $header =~ "/$platform/" ) {
+ my $forwardingHeaderPath = File::Spec->catfile($targetDirectory, $headerName);
+ my $expectedIncludeStatement = "#include \"$framework/$header\"";
+ my $foundIncludeStatement = 0;
+
+ $foundIncludeStatement = <EXISTING_HEADER> if open(EXISTING_HEADER, "<$forwardingHeaderPath");
+ chomp($foundIncludeStatement);
+
+ if (! $foundIncludeStatement || $foundIncludeStatement ne $expectedIncludeStatement) {
+ print "[Creating forwarding header for $framework/$header]\n";
+ open(FORWARDING_HEADER, ">$forwardingHeaderPath") or die "Could not open $forwardingHeaderPath.";
+ print FORWARDING_HEADER "$expectedIncludeStatement\n";
+ close(FORWARDING_HEADER);
+ }
+
+ close(EXISTING_HEADER);
}
- close(EXISTING_HEADER);
}
}
-
diff --git a/Source/WebKit2/Scripts/generate-message-receiver.py b/Source/WebKit2/Scripts/generate-message-receiver.py
index 7a6f1c9..8fae2f0 100644
--- a/Source/WebKit2/Scripts/generate-message-receiver.py
+++ b/Source/WebKit2/Scripts/generate-message-receiver.py
@@ -33,7 +33,8 @@ def main(argv=None):
argv = sys.argv
input_path = argv[1]
with open(input_path) as input_file:
- print webkit2.messages.generate_message_handler(input_file),
+ # Python 3, change to: print(webkit2.messages.generate_message_handler(input_file), end='')
+ sys.stdout.write(webkit2.messages.generate_message_handler(input_file))
return 0
if __name__ == '__main__':
diff --git a/Source/WebKit2/Scripts/generate-messages-header.py b/Source/WebKit2/Scripts/generate-messages-header.py
index fd888b3..854f0f0 100644
--- a/Source/WebKit2/Scripts/generate-messages-header.py
+++ b/Source/WebKit2/Scripts/generate-messages-header.py
@@ -33,7 +33,8 @@ def main(argv=None):
argv = sys.argv
input_path = argv[1]
with open(input_path) as input_file:
- print webkit2.messages.generate_messages_header(input_file),
+ # Python 3, change to: print(webkit2.messages.generate_messages_header(input_file), end='')
+ sys.stdout.write(webkit2.messages.generate_messages_header(input_file))
return 0
if __name__ == '__main__':
diff --git a/Source/WebKit2/Scripts/webkit2/messages.py b/Source/WebKit2/Scripts/webkit2/messages.py
index 800dc39..1c6ae97 100644
--- a/Source/WebKit2/Scripts/webkit2/messages.py
+++ b/Source/WebKit2/Scripts/webkit2/messages.py
@@ -251,16 +251,19 @@ def message_to_struct_declaration(message):
def struct_or_class(namespace, type):
structs = frozenset([
'WebCore::CompositionUnderline',
+ 'WebCore::GrammarDetail',
'WebCore::KeypressCommand',
'WebCore::PluginInfo',
'WebCore::PrintInfo',
'WebCore::ViewportArguments',
'WebCore::WindowFeatures',
'WebKit::ContextMenuState',
+ 'WebKit::DictionaryPopupInfo',
'WebKit::DrawingAreaInfo',
'WebKit::PlatformPopupMenuData',
'WebKit::PluginProcessCreationParameters',
'WebKit::PrintInfo',
+ 'WebKit::SecurityOriginData',
'WebKit::SelectionState',
'WebKit::TextCheckerState',
'WebKit::WebNavigationDataStore',
@@ -311,7 +314,7 @@ def forward_declarations_and_headers(receiver):
# Include its header instead.
headers.update(headers_for_type(type))
- forward_declarations = '\n'.join([forward_declarations_for_namespace(namespace, types) for (namespace, types) in sorted(types_by_namespace.iteritems())])
+ forward_declarations = '\n'.join([forward_declarations_for_namespace(namespace, types) for (namespace, types) in sorted(types_by_namespace.items())])
headers = ['#include %s\n' % header for header in sorted(headers)]
return (forward_declarations, headers)
@@ -424,7 +427,7 @@ def headers_for_type(type):
'WebCore::CompositionUnderline': '<WebCore/Editor.h>',
'WebCore::KeypressCommand': '<WebCore/KeyboardEvent.h>',
'WebCore::PluginInfo': '<WebCore/PluginData.h>',
- 'WebCore::TextCheckingResult': '<WebCore/EditorClient.h>',
+ 'WebCore::TextCheckingResult': '<WebCore/TextCheckerClient.h>',
'WebKit::WebGestureEvent': '"WebEvent.h"',
'WebKit::WebKeyboardEvent': '"WebEvent.h"',
'WebKit::WebMouseEvent': '"WebEvent.h"',