Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Side by Side Diff: third_party/WebKit/WebCore/bindings/scripts/CodeGeneratorObjC.pm

Issue 21165: Revert the merge. Mac build is mysteriously broken. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # 1 #
2 # Copyright (C) 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> 2 # Copyright (C) 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org>
3 # Copyright (C) 2006 Anders Carlsson <andersca@mac.com> 3 # Copyright (C) 2006 Anders Carlsson <andersca@mac.com>
4 # Copyright (C) 2006, 2007 Samuel Weinig <sam@webkit.org> 4 # Copyright (C) 2006, 2007 Samuel Weinig <sam@webkit.org>
5 # Copyright (C) 2006 Alexey Proskuryakov <ap@webkit.org> 5 # Copyright (C) 2006 Alexey Proskuryakov <ap@webkit.org>
6 # Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 6 # Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
7 # 7 #
8 # This library is free software; you can redistribute it and/or 8 # This library is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU Library General Public 9 # modify it under the terms of the GNU Library General Public
10 # License as published by the Free Software Foundation; either 10 # License as published by the Free Software Foundation; either
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 338
339 sub GetParentImplClassName 339 sub GetParentImplClassName
340 { 340 {
341 my $dataNode = shift; 341 my $dataNode = shift;
342 342
343 return "Object" if @{$dataNode->parents} eq 0; 343 return "Object" if @{$dataNode->parents} eq 0;
344 344
345 my $parent = $codeGenerator->StripModule($dataNode->parents(0)); 345 my $parent = $codeGenerator->StripModule($dataNode->parents(0));
346 346
347 # special cases 347 # special cases
348 return "Node" if $parent eq "EventTargetNode";
348 return "Object" if $parent eq "HTMLCollection"; 349 return "Object" if $parent eq "HTMLCollection";
349 350
350 return $parent; 351 return $parent;
351 } 352 }
352 353
353 sub GetParentAndProtocols 354 sub GetParentAndProtocols
354 { 355 {
355 my $dataNode = shift; 356 my $dataNode = shift;
356 my $numParents = @{$dataNode->parents}; 357 my $numParents = @{$dataNode->parents};
357 358
358 my $parent = ""; 359 my $parent = "";
359 my @protocols = (); 360 my @protocols = ();
360 if ($numParents eq 0) { 361 if ($numParents eq 0) {
361 if ($isProtocol) { 362 if ($isProtocol) {
362 push(@protocols, "NSObject"); 363 push(@protocols, "NSObject");
363 push(@protocols, "NSCopying") if $dataNode->name eq "EventTarget"; 364 push(@protocols, "NSCopying") if $dataNode->name eq "EventTarget";
364 } else { 365 } else {
365 $parent = "DOMObject"; 366 $parent = "DOMObject";
366 } 367 }
367 } elsif ($numParents eq 1) { 368 } elsif ($numParents eq 1) {
368 my $parentName = $codeGenerator->StripModule($dataNode->parents(0)); 369 my $parentName = $codeGenerator->StripModule($dataNode->parents(0));
369 if ($isProtocol) { 370 if ($isProtocol) {
370 die "Parents of protocols must also be protocols." unless IsProtocol Type($parentName); 371 die "Parents of protocols must also be protocols." unless IsProtocol Type($parentName);
371 push(@protocols, "DOM" . $parentName); 372 push(@protocols, "DOM" . $parentName);
372 } else { 373 } else {
373 if (IsProtocolType($parentName)) { 374 if (IsProtocolType($parentName)) {
374 push(@protocols, "DOM" . $parentName); 375 push(@protocols, "DOM" . $parentName);
376 } elsif ($parentName eq "EventTargetNode") {
377 $parent = "DOMNode";
375 } elsif ($parentName eq "HTMLCollection") { 378 } elsif ($parentName eq "HTMLCollection") {
376 $parent = "DOMObject"; 379 $parent = "DOMObject";
377 } else { 380 } else {
378 $parent = "DOM" . $parentName; 381 $parent = "DOM" . $parentName;
379 } 382 }
380 } 383 }
381 } else { 384 } else {
382 my @parents = @{$dataNode->parents}; 385 my @parents = @{$dataNode->parents};
383 my $firstParent = $codeGenerator->StripModule(shift(@parents)); 386 my $firstParent = $codeGenerator->StripModule(shift(@parents));
384 if (IsProtocolType($firstParent)) { 387 if (IsProtocolType($firstParent)) {
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 # put into the form "_fooBar" for type FooBar. 500 # put into the form "_fooBar" for type FooBar.
498 return "_" . $typeGetter; 501 return "_" . $typeGetter;
499 } 502 }
500 503
501 sub GetObjCTypeGetter 504 sub GetObjCTypeGetter
502 { 505 {
503 my $argName = shift; 506 my $argName = shift;
504 my $type = $codeGenerator->StripModule(shift); 507 my $type = $codeGenerator->StripModule(shift);
505 508
506 return $argName if $codeGenerator->IsPrimitiveType($type) or $codeGenerator- >IsStringType($type) or IsNativeObjCType($type); 509 return $argName if $codeGenerator->IsPrimitiveType($type) or $codeGenerator- >IsStringType($type) or IsNativeObjCType($type);
507 return $argName . "Node" if $type eq "EventTarget"; 510 return $argName . "EventTarget" if $type eq "EventTarget";
508 return "static_cast<WebCore::Range::CompareHow>($argName)" if $type eq "Comp areHow"; 511 return "static_cast<WebCore::Range::CompareHow>($argName)" if $type eq "Comp areHow";
509 return "static_cast<WebCore::SVGPaint::SVGPaintType>($argName)" if $type eq "SVGPaintType"; 512 return "static_cast<WebCore::SVGPaint::SVGPaintType>($argName)" if $type eq "SVGPaintType";
510 513
511 my $typeGetterMethodName = GetObjCTypeGetterName($type); 514 my $typeGetterMethodName = GetObjCTypeGetterName($type);
512 515
513 return "WTF::getPtr(nativeEventListener)" if $type eq "EventListener"; 516 return "WTF::getPtr(nativeEventListener)" if $type eq "EventListener";
514 return "WTF::getPtr(nativeNodeFilter)" if $type eq "NodeFilter"; 517 return "WTF::getPtr(nativeNodeFilter)" if $type eq "NodeFilter";
515 return "WTF::getPtr(nativeResolver)" if $type eq "XPathNSResolver"; 518 return "WTF::getPtr(nativeResolver)" if $type eq "XPathNSResolver";
516 return "[$argName $typeGetterMethodName]"; 519 return "[$argName $typeGetterMethodName]";
517 } 520 }
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 return; 616 return;
614 } 617 }
615 618
616 if ($type eq "DOMImplementation") { 619 if ($type eq "DOMImplementation") {
617 $implIncludes{"DOMImplementationFront.h"} = 1; 620 $implIncludes{"DOMImplementationFront.h"} = 1;
618 $implIncludes{"DOM$type.h"} = 1; 621 $implIncludes{"DOM$type.h"} = 1;
619 return; 622 return;
620 } 623 }
621 624
622 if ($type eq "EventTarget") { 625 if ($type eq "EventTarget") {
623 $implIncludes{"Node.h"} = 1; 626 $implIncludes{"EventTargetNode.h"} = 1;
624 $implIncludes{"DOM$type.h"} = 1; 627 $implIncludes{"DOM$type.h"} = 1;
625 return; 628 return;
626 } 629 }
627 630
628 if ($codeGenerator->IsSVGAnimatedType($type)) { 631 if ($codeGenerator->IsSVGAnimatedType($type)) {
629 $implIncludes{"SVGAnimatedTemplate.h"} = 1; 632 $implIncludes{"SVGAnimatedTemplate.h"} = 1;
630 $implIncludes{"DOM$type.h"} = 1; 633 $implIncludes{"DOM$type.h"} = 1;
631 return; 634 return;
632 } 635 }
633 636
(...skipping 762 matching lines...) Expand 10 before | Expand all | Expand 10 after
1396 push(@functionContent, " nativeResolver = WTF::getPtr (customResolver);\n"); 1399 push(@functionContent, " nativeResolver = WTF::getPtr (customResolver);\n");
1397 push(@functionContent, " }\n"); 1400 push(@functionContent, " }\n");
1398 push(@functionContent, " }\n"); 1401 push(@functionContent, " }\n");
1399 } 1402 }
1400 1403
1401 # special case the EventTarget 1404 # special case the EventTarget
1402 if (defined $needsCustom{"EventTarget"}) { 1405 if (defined $needsCustom{"EventTarget"}) {
1403 my $paramName = $needsCustom{"EventTarget"}; 1406 my $paramName = $needsCustom{"EventTarget"};
1404 push(@functionContent, " DOMNode* ${paramName}ObjC = $paramNa me;\n"); 1407 push(@functionContent, " DOMNode* ${paramName}ObjC = $paramNa me;\n");
1405 push(@functionContent, " WebCore::Node* ${paramName}Node = [$ {paramName}ObjC _node];\n"); 1408 push(@functionContent, " WebCore::Node* ${paramName}Node = [$ {paramName}ObjC _node];\n");
1409 push(@functionContent, " WebCore::EventTargetNode* ${paramNam e}EventTarget = (${paramName}Node && ${paramName}Node->isEventTargetNode()) ? st atic_cast<WebCore::EventTargetNode*>(${paramName}Node) : 0;\n\n");
1406 $implIncludes{"DOMNode.h"} = 1; 1410 $implIncludes{"DOMNode.h"} = 1;
1407 $implIncludes{"Node.h"} = 1; 1411 $implIncludes{"Node.h"} = 1;
1408 } 1412 }
1409 1413
1410 if ($function->signature->extendedAttributes->{"UsesView"}) { 1414 if ($function->signature->extendedAttributes->{"UsesView"}) {
1411 push(@functionContent, " WebCore::DOMWindow* dv = $caller->de faultView();\n"); 1415 push(@functionContent, " WebCore::DOMWindow* dv = $caller->de faultView();\n");
1412 push(@functionContent, " if (!dv)\n"); 1416 push(@functionContent, " if (!dv)\n");
1413 push(@functionContent, " return nil;\n"); 1417 push(@functionContent, " return nil;\n");
1414 $implIncludes{"DOMWindow.h"} = 1; 1418 $implIncludes{"DOMWindow.h"} = 1;
1415 $caller = "dv"; 1419 $caller = "dv";
1416 } 1420 }
1417 1421
1422 if ($function->signature->extendedAttributes->{"EventTargetNodeCast" }) {
1423 if ($dataNode->name =~ /^SVG/) {
1424 $caller = "static_cast<WebCore::SVGElementInstance*>($caller )";
1425 } else {
1426 push(@functionContent, " if (!$caller->isEventTargetNode( ))\n");
1427 $caller = "WebCore::EventTargetNodeCast($caller)";
1428 push(@functionContent, " WebCore::raiseDOMException(D OM_NOT_SUPPORTED_ERR);\n");
1429 }
1430 }
1431
1418 # special case the EventListener 1432 # special case the EventListener
1419 if (defined $needsCustom{"EventListener"}) { 1433 if (defined $needsCustom{"EventListener"}) {
1420 my $paramName = $needsCustom{"EventListener"}; 1434 my $paramName = $needsCustom{"EventListener"};
1421 push(@functionContent, " RefPtr<WebCore::EventListener> nativ eEventListener = WebCore::ObjCEventListener::wrap($paramName);\n"); 1435 push(@functionContent, " RefPtr<WebCore::EventListener> nativ eEventListener = WebCore::ObjCEventListener::wrap($paramName);\n");
1422 } 1436 }
1423 1437
1424 # special case the NodeFilter 1438 # special case the NodeFilter
1425 if (defined $needsCustom{"NodeFilter"}) { 1439 if (defined $needsCustom{"NodeFilter"}) {
1426 my $paramName = $needsCustom{"NodeFilter"}; 1440 my $paramName = $needsCustom{"NodeFilter"};
1427 push(@functionContent, " RefPtr<WebCore::NodeFilter> nativeNo deFilter;\n"); 1441 push(@functionContent, " RefPtr<WebCore::NodeFilter> nativeNo deFilter;\n");
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
1708 1722
1709 print INTERNAL_HEADER @internalHeaderContent; 1723 print INTERNAL_HEADER @internalHeaderContent;
1710 1724
1711 close(INTERNAL_HEADER); 1725 close(INTERNAL_HEADER);
1712 1726
1713 @internalHeaderContent = (); 1727 @internalHeaderContent = ();
1714 } 1728 }
1715 } 1729 }
1716 1730
1717 1; 1731 1;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698