Changeset 220370 in webkit
- Timestamp:
- Aug 7, 2017 4:55:36 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 8 added
- 36 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r220350 r220370 1 2017-08-07 Devin Rousso <drousso@apple.com> 2 3 Web Inspector: Preview Canvas path when viewing a recording 4 https://bugs.webkit.org/show_bug.cgi?id=174967 5 6 Reviewed by Brian Burg. 7 8 * fast/canvas/2d.currentPoint-expected.txt: Added. 9 * fast/canvas/2d.currentPoint.html: Added. 10 * fast/canvas/2d.getPath.modification-expected.txt: Added. 11 * fast/canvas/2d.getPath.modification.html: Added. 12 * fast/canvas/2d.getPath.newobject-expected.txt: Added. 13 * fast/canvas/2d.getPath.newobject.html: Added. 14 * fast/canvas/2d.setPath-expected.txt: Added. 15 * fast/canvas/2d.setPath.html: Added. 16 17 * inspector/canvas/recording-2d-expected.txt: 18 * inspector/canvas/recording-2d.html: 19 Updated for additional deduplication in InitialState. 20 1 21 2017-08-07 Ryan Haddad <ryanhaddad@apple.com> 2 22 -
trunk/LayoutTests/inspector/canvas/recording-2d-expected.txt
r220188 r220370 20 20 ], 21 21 "globalAlpha": 1, 22 "globalCompositeOperation": "source-over",22 "globalCompositeOperation": 0, 23 23 "lineWidth": 1, 24 "lineCap": "butt",25 "lineJoin": "miter",24 "lineCap": 1, 25 "lineJoin": 2, 26 26 "miterLimit": 10, 27 27 "shadowOffsetX": 0, 28 28 "shadowOffsetY": 0, 29 29 "shadowBlur": 0, 30 "shadowColor": "rgba(0, 0, 0, 0)",30 "shadowColor": 3, 31 31 "setLineDash": [ 32 32 [] 33 33 ], 34 34 "lineDashOffset": 0, 35 "font": "10px sans-serif",36 "textAlign": "start",37 "textBaseline": "alphabetic",38 "direction": "ltr",39 "strokeStyle": 0,40 "fillStyle": 0,35 "font": 4, 36 "textAlign": 5, 37 "textBaseline": 6, 38 "direction": 7, 39 "strokeStyle": 8, 40 "fillStyle": 8, 41 41 "imageSmoothingEnabled": true, 42 "imageSmoothingQuality": "low" 42 "imageSmoothingQuality": 9, 43 "setPath": [ 44 10 45 ] 43 46 }, 44 47 "content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAAtJREFUCB1jYEAHAAASAAGAFMrMAAAAAElFTkSuQmCC" … … 48 51 "actions": [ 49 52 [ 50 1 ,53 11, 51 54 [ 52 55 1, … … 58 61 ], 59 62 [ 60 4,61 6,62 7,63 9,64 11,65 63 13, 64 15, 66 65 16, 67 66 18, 68 20 69 ] 70 ], 71 [ 72 1, 67 20, 68 22, 69 25, 70 27, 71 29 72 ] 73 ], 74 [ 75 11, 73 76 [ 74 77 6, … … 80 83 ], 81 84 [ 82 21, 83 6, 85 30, 86 15, 87 31, 88 18, 89 20, 84 90 22, 85 9, 86 11, 87 13, 88 16, 89 18, 90 20 91 25, 92 27, 93 29 91 94 ] 92 95 ] … … 95 98 ], 96 99 "data": [ 100 "source-over", 101 "butt", 102 "miter", 103 "rgba(0, 0, 0, 0)", 104 "10px sans-serif", 105 "start", 106 "alphabetic", 107 "ltr", 97 108 "#000000", 109 "low", 110 "", 98 111 "arc", 99 "",100 112 "inspector/canvas/recording-2d.html", 101 113 [ 102 2,103 3,104 58,114 10, 115 12, 116 77, 105 117 42 106 118 ], 107 119 "ignoreException", 108 120 [ 109 5,110 3,111 4 5,121 14, 122 12, 123 48, 112 124 10 113 125 ], 114 126 [ 115 2,116 3,117 58,127 10, 128 12, 129 77, 118 130 28 119 131 ], 120 132 "f", 121 133 [ 122 8,123 3,124 3 78,134 17, 135 12, 136 399, 125 137 24 126 138 ], 127 139 "performActions", 128 140 [ 129 1 0,130 3,131 382,141 19, 142 12, 143 403, 132 144 6 133 145 ], 134 146 "global code", 135 147 [ 136 12,137 2,148 21, 149 10, 138 150 1, 139 151 15 … … 142 154 "[native code]", 143 155 [ 144 14,145 15,156 23, 157 24, 146 158 0, 147 159 0 … … 149 161 "_evaluateOn", 150 162 [ 151 17,152 2,163 26, 164 10, 153 165 128, 154 166 29 … … 156 168 "_evaluateAndWrap", 157 169 [ 158 19,159 2,170 28, 171 10, 160 172 122, 161 173 108 162 174 ], 163 175 [ 164 2,165 3,166 59,176 10, 177 12, 178 78, 167 179 42 168 180 ], 169 181 [ 170 2,171 3,172 59,182 10, 183 12, 184 78, 173 185 28 174 186 ] … … 193 205 ], 194 206 "globalAlpha": 1, 195 "globalCompositeOperation": "source-over",207 "globalCompositeOperation": 0, 196 208 "lineWidth": 1, 197 "lineCap": "butt",198 "lineJoin": "miter",209 "lineCap": 1, 210 "lineJoin": 2, 199 211 "miterLimit": 10, 200 212 "shadowOffsetX": 0, 201 213 "shadowOffsetY": 0, 202 214 "shadowBlur": 0, 203 "shadowColor": "rgba(0, 0, 0, 0)",215 "shadowColor": 3, 204 216 "setLineDash": [ 205 217 [] 206 218 ], 207 219 "lineDashOffset": 0, 208 "font": "10px sans-serif",209 "textAlign": "start",210 "textBaseline": "alphabetic",211 "direction": "ltr",212 "strokeStyle": 0,213 "fillStyle": 0,220 "font": 4, 221 "textAlign": 5, 222 "textBaseline": 6, 223 "direction": 7, 224 "strokeStyle": 8, 225 "fillStyle": 8, 214 226 "imageSmoothingEnabled": true, 215 "imageSmoothingQuality": "low" 227 "imageSmoothingQuality": 9, 228 "setPath": [ 229 10 230 ] 216 231 }, 217 232 "content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAAtJREFUCB1jYEAHAAASAAGAFMrMAAAAAElFTkSuQmCC" … … 221 236 "actions": [ 222 237 [ 223 1 ,238 11, 224 239 [ 225 240 1, … … 231 246 ], 232 247 [ 233 4,234 6,235 7,236 9,237 11,238 248 13, 249 15, 239 250 16, 240 251 18, 241 20 242 ] 243 ], 244 [ 245 1, 252 20, 253 22, 254 25, 255 27, 256 29 257 ] 258 ], 259 [ 260 11, 246 261 [ 247 262 6, … … 253 268 ], 254 269 [ 255 21, 256 6, 270 30, 271 15, 272 31, 273 18, 274 20, 257 275 22, 258 9, 259 11, 260 13, 261 16, 262 18, 263 20 264 ] 265 ] 266 ] 267 }, 268 { 269 "actions": [ 270 [ 271 23, 276 25, 277 27, 278 29 279 ] 280 ] 281 ] 282 }, 283 { 284 "actions": [ 285 [ 286 32, 272 287 [ 273 288 1, … … 278 293 ], 279 294 [ 280 24,281 6,282 25,283 9284 ] 285 ] 286 ] 287 }, 288 { 289 "actions": [ 290 [ 291 26,295 33, 296 15, 297 34, 298 18 299 ] 300 ] 301 ] 302 }, 303 { 304 "actions": [ 305 [ 306 35, 292 307 [], 293 308 [ 294 27,295 9296 ] 297 ] 298 ] 299 }, 300 { 301 "actions": [ 302 [ 303 28,309 36, 310 18 311 ] 312 ] 313 ] 314 }, 315 { 316 "actions": [ 317 [ 318 37, 304 319 [ 305 320 1, … … 311 326 ], 312 327 [ 313 29,314 9315 ] 316 ] 317 ] 318 }, 319 { 320 "actions": [ 321 [ 322 3 0,328 38, 329 18 330 ] 331 ] 332 ] 333 }, 334 { 335 "actions": [ 336 [ 337 39, 323 338 [], 324 339 [ 325 31,326 9327 ] 328 ] 329 ] 330 }, 331 { 332 "actions": [ 333 [ 334 32,340 40, 341 18 342 ] 343 ] 344 ] 345 }, 346 { 347 "actions": [ 348 [ 349 41, 335 350 [ 336 351 1, … … 340 355 ], 341 356 [ 342 33,343 9344 ] 345 ] 346 ] 347 }, 348 { 349 "actions": [ 350 [ 351 34,357 42, 358 18 359 ] 360 ] 361 ] 362 }, 363 { 364 "actions": [ 365 [ 366 43, 352 367 [], 353 368 [ 354 35,355 9356 ]357 ]358 ]359 },360 {361 "actions": [362 [363 36,364 [365 37366 ],367 [368 38,369 9370 ]371 ],372 [373 36,374 [375 39376 ],377 [378 40,379 9380 ]381 ],382 [383 36,384 [385 41,386 37387 ],388 [389 42,390 9391 ]392 ],393 [394 36,395 [396 43,397 39398 ],399 [400 369 44, 401 9370 18 402 371 ] 403 372 ] … … 408 377 [ 409 378 45, 379 [ 380 46 381 ], 382 [ 383 47, 384 18 385 ] 386 ], 387 [ 388 45, 389 [ 390 48 391 ], 392 [ 393 49, 394 18 395 ] 396 ], 397 [ 398 45, 399 [ 400 50, 401 46 402 ], 403 [ 404 51, 405 18 406 ] 407 ], 408 [ 409 45, 410 [ 411 52, 412 48 413 ], 414 [ 415 53, 416 18 417 ] 418 ] 419 ] 420 }, 421 { 422 "actions": [ 423 [ 424 54, 410 425 [], 411 426 [ 412 46,413 9414 ] 415 ] 416 ] 417 }, 418 { 419 "actions": [ 420 [ 421 47,427 55, 428 18 429 ] 430 ] 431 ] 432 }, 433 { 434 "actions": [ 435 [ 436 56, 422 437 [], 423 438 [ 424 48,425 9426 ] 427 ] 428 ] 429 }, 430 { 431 "actions": [ 432 [ 433 49,434 [ 435 5 0436 ], 437 [ 438 51,439 6,440 52,441 9442 ] 443 ], 444 [ 445 49,439 57, 440 18 441 ] 442 ] 443 ] 444 }, 445 { 446 "actions": [ 447 [ 448 58, 449 [ 450 59 451 ], 452 [ 453 60, 454 15, 455 61, 456 18 457 ] 458 ], 459 [ 460 58, 446 461 [ 447 462 2, … … 449 464 ], 450 465 [ 451 53,452 6,453 54,454 9455 ] 456 ] 457 ] 458 }, 459 { 460 "actions": [ 461 [ 462 55,466 62, 467 15, 468 63, 469 18 470 ] 471 ] 472 ] 473 }, 474 { 475 "actions": [ 476 [ 477 64, 463 478 [ 464 479 1, … … 468 483 ], 469 484 [ 470 56,471 6,472 57,473 9474 ]475 ]476 ]477 },478 {479 "actions": [480 [481 58,482 [483 59,484 60485 ],486 [487 61,488 6,489 62,490 9491 ]492 ],493 [494 58,495 [496 63,497 64498 ],499 [500 485 65, 501 6,486 15, 502 487 66, 503 9 504 ] 505 ], 506 [ 507 58, 508 [ 509 67, 510 68 511 ], 512 [ 513 69, 514 6, 488 18 489 ] 490 ] 491 ] 492 }, 493 { 494 "actions": [ 495 [ 496 67, 497 [ 498 68, 499 69 500 ], 501 [ 515 502 70, 516 9 517 ] 518 ] 519 ] 520 }, 521 { 522 "actions": [ 523 [ 524 71, 503 15, 504 71, 505 18 506 ] 507 ], 508 [ 509 67, 510 [ 511 72, 512 73 513 ], 514 [ 515 74, 516 15, 517 75, 518 18 519 ] 520 ], 521 [ 522 67, 523 [ 524 76, 525 77 526 ], 527 [ 528 78, 529 15, 530 79, 531 18 532 ] 533 ] 534 ] 535 }, 536 { 537 "actions": [ 538 [ 539 80, 525 540 [ 526 541 1, … … 532 547 ], 533 548 [ 534 72,535 6,536 73,537 9538 ] 539 ] 540 ] 541 }, 542 { 543 "actions": [ 544 [ 545 74,549 81, 550 15, 551 82, 552 18 553 ] 554 ] 555 ] 556 }, 557 { 558 "actions": [ 559 [ 560 83, 546 561 [], 547 562 [ 548 75,549 9550 ] 551 ], 552 [ 553 74,554 [ 555 76556 ], 557 [ 558 77,559 9560 ] 561 ] 562 ] 563 }, 564 { 565 "actions": [ 566 [ 567 78,568 [ 569 79570 ], 571 [ 572 8 0,573 9574 ] 575 ], 576 [ 577 78,578 [ 579 41,580 79581 ], 582 [ 583 81,584 9585 ] 586 ] 587 ] 588 }, 589 { 590 "actions": [ 591 [ 592 82,593 [ 594 59,563 84, 564 18 565 ] 566 ], 567 [ 568 83, 569 [ 570 85 571 ], 572 [ 573 86, 574 18 575 ] 576 ] 577 ] 578 }, 579 { 580 "actions": [ 581 [ 582 87, 583 [ 584 88 585 ], 586 [ 587 89, 588 18 589 ] 590 ], 591 [ 592 87, 593 [ 594 50, 595 88 596 ], 597 [ 598 90, 599 18 600 ] 601 ] 602 ] 603 }, 604 { 605 "actions": [ 606 [ 607 91, 608 [ 609 68, 595 610 1, 596 611 2 597 612 ], 598 613 [ 599 83,600 6,601 84,602 9603 ] 604 ], 605 [ 606 82,607 [ 608 63,614 92, 615 15, 616 93, 617 18 618 ] 619 ], 620 [ 621 91, 622 [ 623 72, 609 624 3, 610 625 4 611 626 ], 612 627 [ 613 85,614 6,615 86,616 9617 ] 618 ], 619 [ 620 82,621 [ 622 67,628 94, 629 15, 630 95, 631 18 632 ] 633 ], 634 [ 635 91, 636 [ 637 76, 623 638 5, 624 639 6 625 640 ], 626 641 [ 627 87,628 6,629 88,630 9631 ] 632 ], 633 [ 634 82,635 [ 636 59,642 96, 643 15, 644 97, 645 18 646 ] 647 ], 648 [ 649 91, 650 [ 651 68, 637 652 7, 638 653 8, … … 641 656 ], 642 657 [ 643 89,644 6,645 9 0,646 9647 ] 648 ], 649 [ 650 82,651 [ 652 63,658 98, 659 15, 660 99, 661 18 662 ] 663 ], 664 [ 665 91, 666 [ 667 72, 653 668 11, 654 669 12, … … 657 672 ], 658 673 [ 659 91,660 6,661 92,662 9663 ] 664 ], 665 [ 666 82,667 [ 668 67,674 100, 675 15, 676 101, 677 18 678 ] 679 ], 680 [ 681 91, 682 [ 683 76, 669 684 15, 670 685 16, … … 673 688 ], 674 689 [ 675 93,676 6,677 94,678 9679 ] 680 ], 681 [ 682 82,683 [ 684 59,690 102, 691 15, 692 103, 693 18 694 ] 695 ], 696 [ 697 91, 698 [ 699 68, 685 700 19, 686 701 20, … … 693 708 ], 694 709 [ 695 95,696 6,697 96,698 9699 ] 700 ], 701 [ 702 82,703 [ 704 63,710 104, 711 15, 712 105, 713 18 714 ] 715 ], 716 [ 717 91, 718 [ 719 72, 705 720 27, 706 721 28, … … 713 728 ], 714 729 [ 715 97,716 6,717 98,718 9719 ] 720 ], 721 [ 722 82,723 [ 724 67,730 106, 731 15, 732 107, 733 18 734 ] 735 ], 736 [ 737 91, 738 [ 739 76, 725 740 35, 726 741 36, … … 733 748 ], 734 749 [ 735 99,736 6,737 10 0,738 9739 ] 740 ] 741 ] 742 }, 743 { 744 "actions": [ 745 [ 746 1 01,747 [ 748 59,750 108, 751 15, 752 109, 753 18 754 ] 755 ] 756 ] 757 }, 758 { 759 "actions": [ 760 [ 761 110, 762 [ 763 68, 749 764 1, 750 765 2, … … 755 770 7, 756 771 8, 757 2758 ], 759 [ 760 1 02,761 9762 ] 763 ], 764 [ 765 1 01,766 [ 767 59,772 10 773 ], 774 [ 775 111, 776 18 777 ] 778 ], 779 [ 780 110, 781 [ 782 68, 768 783 9, 769 784 10, … … 774 789 15, 775 790 16, 776 76777 ], 778 [ 779 1 03,780 9781 ] 782 ] 783 ] 784 }, 785 { 786 "actions": [ 787 [ 788 1 04,791 85 792 ], 793 [ 794 112, 795 18 796 ] 797 ] 798 ] 799 }, 800 { 801 "actions": [ 802 [ 803 113, 789 804 [ 790 805 1, … … 798 813 ], 799 814 [ 800 1 05,801 6,802 1 06,803 9804 ] 805 ], 806 [ 807 1 04,815 114, 816 15, 817 115, 818 18 819 ] 820 ], 821 [ 822 113, 808 823 [ 809 824 8, … … 817 832 ], 818 833 [ 819 1 07,820 6,821 1 08,822 9823 ] 824 ] 825 ] 826 }, 827 { 828 "actions": [ 829 [ 830 1 09,831 [ 832 37833 ], 834 [ 835 11 0,836 9837 ] 838 ], 839 [ 840 1 09,841 [ 842 39843 ], 844 [ 845 1 11,846 9847 ] 848 ], 849 [ 850 1 09,851 [ 852 41,853 37854 ], 855 [ 856 1 12,857 9858 ] 859 ], 860 [ 861 1 09,862 [ 863 43,864 39865 ], 866 [ 867 1 13,868 9869 ] 870 ] 871 ] 872 }, 873 { 874 "actions": [ 875 [ 876 1 14,834 116, 835 15, 836 117, 837 18 838 ] 839 ] 840 ] 841 }, 842 { 843 "actions": [ 844 [ 845 118, 846 [ 847 46 848 ], 849 [ 850 119, 851 18 852 ] 853 ], 854 [ 855 118, 856 [ 857 48 858 ], 859 [ 860 120, 861 18 862 ] 863 ], 864 [ 865 118, 866 [ 867 50, 868 46 869 ], 870 [ 871 121, 872 18 873 ] 874 ], 875 [ 876 118, 877 [ 878 52, 879 48 880 ], 881 [ 882 122, 883 18 884 ] 885 ] 886 ] 887 }, 888 { 889 "actions": [ 890 [ 891 123, 877 892 [ 878 893 1, … … 882 897 ], 883 898 [ 884 1 15,885 9886 ] 887 ] 888 ] 889 }, 890 { 891 "actions": [ 892 [ 893 1 16,899 124, 900 18 901 ] 902 ] 903 ] 904 }, 905 { 906 "actions": [ 907 [ 908 125, 894 909 [], 895 910 [ 896 1 17,897 9898 ] 899 ], 900 [ 901 1 16,902 [ 903 76904 ], 905 [ 906 1 18,907 9908 ] 909 ], 910 [ 911 1 16,912 [ 913 12 0914 ], 915 [ 916 1 21,917 9918 ] 919 ], 920 [ 921 1 16,922 [ 923 1 23924 ], 925 [ 926 1 24,927 9928 ] 929 ], 930 [ 931 1 16,932 [ 933 1 28934 ], 935 [ 936 1 29,937 9938 ] 939 ] 940 ] 941 }, 942 { 943 "actions": [ 944 [ 945 13 0,946 [ 947 6 0,911 126, 912 18 913 ] 914 ], 915 [ 916 125, 917 [ 918 85 919 ], 920 [ 921 127, 922 18 923 ] 924 ], 925 [ 926 125, 927 [ 928 129 929 ], 930 [ 931 130, 932 18 933 ] 934 ], 935 [ 936 125, 937 [ 938 132 939 ], 940 [ 941 133, 942 18 943 ] 944 ], 945 [ 946 125, 947 [ 948 137 949 ], 950 [ 951 138, 952 18 953 ] 954 ] 955 ] 956 }, 957 { 958 "actions": [ 959 [ 960 139, 961 [ 962 69, 948 963 1, 949 964 2 950 965 ], 951 966 [ 952 1 31,953 9954 ] 955 ], 956 [ 957 13 0,958 [ 959 64,967 140, 968 18 969 ] 970 ], 971 [ 972 139, 973 [ 974 73, 960 975 3, 961 976 4, … … 963 978 ], 964 979 [ 965 1 32,966 9967 ] 968 ] 969 ] 970 }, 971 { 972 "actions": [ 973 [ 974 1 33,980 141, 981 18 982 ] 983 ] 984 ] 985 }, 986 { 987 "actions": [ 988 [ 989 142, 975 990 [], 976 991 [ 977 1 34,978 9979 ] 980 ], 981 [ 982 1 33,983 [ 984 76985 ], 986 [ 987 1 35,988 9989 ] 990 ] 991 ] 992 }, 993 { 994 "actions": [ 995 [ 996 1 36,992 143, 993 18 994 ] 995 ], 996 [ 997 142, 998 [ 999 85 1000 ], 1001 [ 1002 144, 1003 18 1004 ] 1005 ] 1006 ] 1007 }, 1008 { 1009 "actions": [ 1010 [ 1011 145, 997 1012 [ 998 1013 1, … … 1002 1017 ], 1003 1018 [ 1004 1 37,1005 6,1006 1 38,1007 91008 ] 1009 ] 1010 ] 1011 }, 1012 { 1013 "actions": [ 1014 [ 1015 1 39,1019 146, 1020 15, 1021 147, 1022 18 1023 ] 1024 ] 1025 ] 1026 }, 1027 { 1028 "actions": [ 1029 [ 1030 148, 1016 1031 [], 1017 1032 [ 1018 14 0,1019 91020 ] 1021 ] 1022 ] 1023 }, 1024 { 1025 "actions": [ 1026 [ 1027 1 41,1033 149, 1034 18 1035 ] 1036 ] 1037 ] 1038 }, 1039 { 1040 "actions": [ 1041 [ 1042 150, 1028 1043 [], 1029 1044 [ 1030 142,1031 91032 ]1033 ]1034 ]1035 },1036 {1037 "actions": [1038 [1039 143,1040 [],1041 [1042 144,1043 91044 ]1045 ],1046 [1047 143,1048 [1049 01050 ],1051 [1052 145,1053 91054 ]1055 ]1056 ]1057 },1058 {1059 "actions": [1060 [1061 146,1062 [],1063 [1064 147,1065 91066 ]1067 ],1068 [1069 146,1070 [1071 761072 ],1073 [1074 148,1075 91076 ]1077 ]1078 ]1079 },1080 {1081 "actions": [1082 [1083 149,1084 [],1085 [1086 150,1087 91088 ]1089 ],1090 [1091 149,1092 [1093 11094 ],1095 [1096 1045 151, 1097 91046 18 1098 1047 ] 1099 1048 ] … … 1107 1056 [ 1108 1057 153, 1058 18 1059 ] 1060 ], 1061 [ 1062 152, 1063 [ 1064 0 1065 ], 1066 [ 1067 154, 1068 18 1069 ] 1070 ] 1071 ] 1072 }, 1073 { 1074 "actions": [ 1075 [ 1076 155, 1077 [], 1078 [ 1079 156, 1080 18 1081 ] 1082 ], 1083 [ 1084 155, 1085 [ 1086 85 1087 ], 1088 [ 1089 157, 1090 18 1091 ] 1092 ] 1093 ] 1094 }, 1095 { 1096 "actions": [ 1097 [ 1098 158, 1099 [], 1100 [ 1101 159, 1102 18 1103 ] 1104 ], 1105 [ 1106 158, 1107 [ 1108 1 1109 ], 1110 [ 1111 160, 1112 18 1113 ] 1114 ] 1115 ] 1116 }, 1117 { 1118 "actions": [ 1119 [ 1120 161, 1121 [], 1122 [ 1123 162, 1124 18 1125 ] 1126 ], 1127 [ 1128 161, 1129 [ 1109 1130 9 1110 ] 1111 ], 1112 [ 1113 152, 1114 [ 1115 154 1116 ], 1117 [ 1118 155, 1119 9 1120 ] 1121 ] 1122 ] 1123 }, 1124 { 1125 "actions": [ 1126 [ 1127 156, 1128 [ 1129 41, 1131 ], 1132 [ 1133 163, 1134 18 1135 ] 1136 ] 1137 ] 1138 }, 1139 { 1140 "actions": [ 1141 [ 1142 164, 1143 [ 1144 50, 1130 1145 5, 1131 1146 6, 1132 371133 ], 1134 [ 1135 1 57,1136 91137 ] 1138 ], 1139 [ 1140 1 56,1141 [ 1142 43,1147 46 1148 ], 1149 [ 1150 165, 1151 18 1152 ] 1153 ], 1154 [ 1155 164, 1156 [ 1157 52, 1143 1158 7, 1144 1159 8, 1145 391146 ], 1147 [ 1148 1 58,1149 91150 ] 1151 ], 1152 [ 1153 1 56,1160 48 1161 ], 1162 [ 1163 166, 1164 18 1165 ] 1166 ], 1167 [ 1168 164, 1154 1169 [ 1155 1170 9, 1156 1171 10, 1157 371158 ], 1159 [ 1160 1 59,1161 91162 ] 1163 ], 1164 [ 1165 1 56,1172 46 1173 ], 1174 [ 1175 167, 1176 18 1177 ] 1178 ], 1179 [ 1180 164, 1166 1181 [ 1167 1182 11, 1168 1183 12, 1169 391170 ], 1171 [ 1172 16 0,1173 91174 ] 1175 ] 1176 ] 1177 }, 1178 { 1179 "actions": [ 1180 [ 1181 16 1,1182 [ 1183 41,1184 48 1185 ], 1186 [ 1187 168, 1188 18 1189 ] 1190 ] 1191 ] 1192 }, 1193 { 1194 "actions": [ 1195 [ 1196 169, 1197 [ 1198 50, 1184 1199 3, 1185 1200 4 1186 1201 ], 1187 1202 [ 1188 1 62,1189 91190 ] 1191 ], 1192 [ 1193 16 1,1203 170, 1204 18 1205 ] 1206 ], 1207 [ 1208 169, 1194 1209 [ 1195 1210 5, … … 1197 1212 ], 1198 1213 [ 1199 1 63,1200 91201 ] 1202 ] 1203 ] 1204 }, 1205 { 1206 "actions": [ 1207 [ 1208 1 64,1214 171, 1215 18 1216 ] 1217 ] 1218 ] 1219 }, 1220 { 1221 "actions": [ 1222 [ 1223 172, 1209 1224 [], 1210 1225 [ 1211 1 65,1212 91213 ] 1214 ], 1215 [ 1216 1 64,1217 [ 1218 761219 ], 1220 [ 1221 1 66,1222 91223 ] 1224 ] 1225 ] 1226 }, 1227 { 1228 "actions": [ 1229 [ 1230 1 67,1226 173, 1227 18 1228 ] 1229 ], 1230 [ 1231 172, 1232 [ 1233 85 1234 ], 1235 [ 1236 174, 1237 18 1238 ] 1239 ] 1240 ] 1241 }, 1242 { 1243 "actions": [ 1244 [ 1245 175, 1231 1246 [], 1232 1247 [ 1233 1 68,1234 91235 ] 1236 ], 1237 [ 1238 1 67,1248 176, 1249 18 1250 ] 1251 ], 1252 [ 1253 175, 1239 1254 [ 1240 1255 1 1241 1256 ], 1242 1257 [ 1243 1 69,1244 91245 ] 1246 ] 1247 ] 1248 }, 1249 { 1250 "actions": [ 1251 [ 1252 17 0,1258 177, 1259 18 1260 ] 1261 ] 1262 ] 1263 }, 1264 { 1265 "actions": [ 1266 [ 1267 178, 1253 1268 [], 1254 1269 [ 1255 17 1,1256 91257 ] 1258 ], 1259 [ 1260 17 0,1261 [ 1262 761263 ], 1264 [ 1265 1 72,1266 91267 ] 1268 ] 1269 ] 1270 }, 1271 { 1272 "actions": [ 1273 [ 1274 1 73,1270 179, 1271 18 1272 ] 1273 ], 1274 [ 1275 178, 1276 [ 1277 85 1278 ], 1279 [ 1280 180, 1281 18 1282 ] 1283 ] 1284 ] 1285 }, 1286 { 1287 "actions": [ 1288 [ 1289 181, 1275 1290 [ 1276 1291 1, … … 1278 1293 ], 1279 1294 [ 1280 1 74,1281 91282 ] 1283 ] 1284 ] 1285 }, 1286 { 1287 "actions": [ 1288 [ 1289 1 75,1295 182, 1296 18 1297 ] 1298 ] 1299 ] 1300 }, 1301 { 1302 "actions": [ 1303 [ 1304 183, 1290 1305 [], 1291 1306 [ 1292 1 76,1293 91294 ] 1295 ], 1296 [ 1297 1 75,1307 184, 1308 18 1309 ] 1310 ], 1311 [ 1312 183, 1298 1313 [ 1299 1314 1 1300 1315 ], 1301 1316 [ 1302 1 77,1303 91304 ] 1305 ] 1306 ] 1307 }, 1308 { 1309 "actions": [ 1310 [ 1311 1 78,1312 [ 1313 761314 ], 1315 [ 1316 1 79,1317 91318 ] 1319 ] 1320 ] 1321 }, 1322 { 1323 "actions": [ 1324 [ 1325 18 0,1317 185, 1318 18 1319 ] 1320 ] 1321 ] 1322 }, 1323 { 1324 "actions": [ 1325 [ 1326 186, 1327 [ 1328 85 1329 ], 1330 [ 1331 187, 1332 18 1333 ] 1334 ] 1335 ] 1336 }, 1337 { 1338 "actions": [ 1339 [ 1340 188, 1326 1341 [], 1327 1342 [ 1328 18 1,1329 91330 ] 1331 ], 1332 [ 1333 18 0,1343 189, 1344 18 1345 ] 1346 ], 1347 [ 1348 188, 1334 1349 [ 1335 1350 1 1336 1351 ], 1337 1352 [ 1338 1 82,1339 91340 ] 1341 ] 1342 ] 1343 }, 1344 { 1345 "actions": [ 1346 [ 1347 1 83,1353 190, 1354 18 1355 ] 1356 ] 1357 ] 1358 }, 1359 { 1360 "actions": [ 1361 [ 1362 191, 1348 1363 [ 1349 1364 1, … … 1351 1366 ], 1352 1367 [ 1353 1 84,1354 91355 ] 1356 ] 1357 ] 1358 }, 1359 { 1360 "actions": [ 1361 [ 1362 1 85,1363 [ 1364 5 0,1368 192, 1369 18 1370 ] 1371 ] 1372 ] 1373 }, 1374 { 1375 "actions": [ 1376 [ 1377 193, 1378 [ 1379 59, 1365 1380 5, 1366 1381 6 1367 1382 ], 1368 1383 [ 1369 1 86,1370 91371 ] 1372 ], 1373 [ 1374 1 85,1375 [ 1376 1 87,1384 194, 1385 18 1386 ] 1387 ], 1388 [ 1389 193, 1390 [ 1391 195, 1377 1392 7, 1378 1393 8, … … 1383 1398 ], 1384 1399 [ 1385 1 88,1386 91387 ] 1388 ] 1389 ] 1390 }, 1391 { 1392 "actions": [ 1393 [ 1394 1 89,1400 196, 1401 18 1402 ] 1403 ] 1404 ] 1405 }, 1406 { 1407 "actions": [ 1408 [ 1409 197, 1395 1410 [ 1396 1411 1, … … 1400 1415 ], 1401 1416 [ 1402 19 0,1403 91404 ] 1405 ] 1406 ] 1407 }, 1408 { 1409 "actions": [ 1410 [ 1411 19 1,1417 198, 1418 18 1419 ] 1420 ] 1421 ] 1422 }, 1423 { 1424 "actions": [ 1425 [ 1426 199, 1412 1427 [ 1413 1428 1, … … 1417 1432 ], 1418 1433 [ 1419 192,1420 91421 ] 1422 ] 1423 ] 1424 }, 1425 { 1426 "actions": [ 1427 [ 1428 193,1434 200, 1435 18 1436 ] 1437 ] 1438 ] 1439 }, 1440 { 1441 "actions": [ 1442 [ 1443 201, 1429 1444 [], 1430 1445 [ 1431 194,1432 91433 ] 1434 ] 1435 ] 1436 }, 1437 { 1438 "actions": [ 1439 [ 1440 195,1446 202, 1447 18 1448 ] 1449 ] 1450 ] 1451 }, 1452 { 1453 "actions": [ 1454 [ 1455 203, 1441 1456 [], 1442 1457 [ 1443 196,1444 91445 ] 1446 ] 1447 ] 1448 }, 1449 { 1450 "actions": [ 1451 [ 1452 197,1458 204, 1459 18 1460 ] 1461 ] 1462 ] 1463 }, 1464 { 1465 "actions": [ 1466 [ 1467 205, 1453 1468 [ 1454 1469 1 1455 1470 ], 1456 1471 [ 1457 198,1458 91459 ] 1460 ] 1461 ] 1462 }, 1463 { 1464 "actions": [ 1465 [ 1466 199,1472 206, 1473 18 1474 ] 1475 ] 1476 ] 1477 }, 1478 { 1479 "actions": [ 1480 [ 1481 207, 1467 1482 [], 1468 1483 [ 1469 20 0,1470 91471 ] 1472 ] 1473 ] 1474 }, 1475 { 1476 "actions": [ 1477 [ 1478 20 1,1484 208, 1485 18 1486 ] 1487 ] 1488 ] 1489 }, 1490 { 1491 "actions": [ 1492 [ 1493 209, 1479 1494 [ 1480 1495 1, … … 1482 1497 ], 1483 1498 [ 1484 2 02,1485 91486 ] 1487 ] 1488 ] 1489 }, 1490 { 1491 "actions": [ 1492 [ 1493 2 03,1499 210, 1500 18 1501 ] 1502 ] 1503 ] 1504 }, 1505 { 1506 "actions": [ 1507 [ 1508 211, 1494 1509 [ 1495 1510 null 1496 1511 ], 1497 1512 [ 1498 2 04,1499 91500 ] 1501 ], 1502 [ 1503 2 03,1513 212, 1514 18 1515 ] 1516 ], 1517 [ 1518 211, 1504 1519 [ 1505 1520 1 1506 1521 ], 1507 1522 [ 1508 2 05,1509 91510 ] 1511 ] 1512 ] 1513 }, 1514 { 1515 "actions": [ 1516 [ 1517 2 06,1518 [ 1519 2 071520 ], 1521 [ 1522 2 08,1523 91524 ] 1525 ], 1526 [ 1527 2 06,1528 [ 1529 761530 ], 1531 [ 1532 2 09,1533 91534 ] 1535 ] 1536 ] 1537 }, 1538 { 1539 "actions": [ 1540 [ 1541 21 0,1542 [ 1543 6 01544 ], 1545 [ 1546 21 1,1547 91548 ] 1549 ], 1550 [ 1551 21 0,1552 [ 1553 64,1523 213, 1524 18 1525 ] 1526 ] 1527 ] 1528 }, 1529 { 1530 "actions": [ 1531 [ 1532 214, 1533 [ 1534 215 1535 ], 1536 [ 1537 216, 1538 18 1539 ] 1540 ], 1541 [ 1542 214, 1543 [ 1544 85 1545 ], 1546 [ 1547 217, 1548 18 1549 ] 1550 ] 1551 ] 1552 }, 1553 { 1554 "actions": [ 1555 [ 1556 218, 1557 [ 1558 69 1559 ], 1560 [ 1561 219, 1562 18 1563 ] 1564 ], 1565 [ 1566 218, 1567 [ 1568 73, 1554 1569 1 1555 1570 ], 1556 1571 [ 1557 2 12,1558 91559 ] 1560 ], 1561 [ 1562 21 0,1572 220, 1573 18 1574 ] 1575 ], 1576 [ 1577 218, 1563 1578 [ 1564 1579 2, … … 1566 1581 ], 1567 1582 [ 1568 2 13,1569 91570 ] 1571 ], 1572 [ 1573 21 0,1583 221, 1584 18 1585 ] 1586 ], 1587 [ 1588 218, 1574 1589 [ 1575 1590 3, … … 1577 1592 ], 1578 1593 [ 1579 2 14,1580 91581 ] 1582 ], 1583 [ 1584 21 0,1594 222, 1595 18 1596 ] 1597 ], 1598 [ 1599 218, 1585 1600 [ 1586 1601 5, … … 1590 1605 ], 1591 1606 [ 1592 2 15,1593 91594 ] 1595 ], 1596 [ 1597 21 0,1607 223, 1608 18 1609 ] 1610 ], 1611 [ 1612 218, 1598 1613 [ 1599 1614 9, … … 1604 1619 ], 1605 1620 [ 1606 2 16,1607 91608 ] 1609 ] 1610 ] 1611 }, 1612 { 1613 "actions": [ 1614 [ 1615 2 17,1616 [ 1617 2 071618 ], 1619 [ 1620 2 18,1621 91622 ] 1623 ], 1624 [ 1625 2 17,1626 [ 1627 761628 ], 1629 [ 1630 2 19,1631 91632 ] 1633 ] 1634 ] 1635 }, 1636 { 1637 "actions": [ 1638 [ 1639 22 0,1621 224, 1622 18 1623 ] 1624 ] 1625 ] 1626 }, 1627 { 1628 "actions": [ 1629 [ 1630 225, 1631 [ 1632 215 1633 ], 1634 [ 1635 226, 1636 18 1637 ] 1638 ], 1639 [ 1640 225, 1641 [ 1642 85 1643 ], 1644 [ 1645 227, 1646 18 1647 ] 1648 ] 1649 ] 1650 }, 1651 { 1652 "actions": [ 1653 [ 1654 228, 1640 1655 [ 1641 1656 [ … … 1645 1660 ], 1646 1661 [ 1647 22 1,1648 91649 ] 1650 ] 1651 ] 1652 }, 1653 { 1654 "actions": [ 1655 [ 1656 2 22,1657 [ 1658 2 071659 ], 1660 [ 1661 2 23,1662 91663 ] 1664 ], 1665 [ 1666 2 22,1667 [ 1668 761669 ], 1670 [ 1671 2 24,1672 91673 ] 1674 ] 1675 ] 1676 }, 1677 { 1678 "actions": [ 1679 [ 1680 2 25,1662 229, 1663 18 1664 ] 1665 ] 1666 ] 1667 }, 1668 { 1669 "actions": [ 1670 [ 1671 230, 1672 [ 1673 215 1674 ], 1675 [ 1676 231, 1677 18 1678 ] 1679 ], 1680 [ 1681 230, 1682 [ 1683 85 1684 ], 1685 [ 1686 232, 1687 18 1688 ] 1689 ] 1690 ] 1691 }, 1692 { 1693 "actions": [ 1694 [ 1695 233, 1681 1696 [ 1682 1697 null 1683 1698 ], 1684 1699 [ 1685 2 26,1686 91687 ] 1688 ], 1689 [ 1690 2 25,1700 234, 1701 18 1702 ] 1703 ], 1704 [ 1705 233, 1691 1706 [ 1692 1707 1 1693 1708 ], 1694 1709 [ 1695 2 27,1696 91697 ] 1698 ] 1699 ] 1700 }, 1701 { 1702 "actions": [ 1703 [ 1704 2 28,1710 235, 1711 18 1712 ] 1713 ] 1714 ] 1715 }, 1716 { 1717 "actions": [ 1718 [ 1719 236, 1705 1720 [ 1706 1721 null 1707 1722 ], 1708 1723 [ 1709 2 29,1710 91711 ] 1712 ], 1713 [ 1714 2 28,1724 237, 1725 18 1726 ] 1727 ], 1728 [ 1729 236, 1715 1730 [ 1716 1731 1 1717 1732 ], 1718 1733 [ 1719 23 0,1720 91721 ] 1722 ] 1723 ] 1724 }, 1725 { 1726 "actions": [ 1727 [ 1728 23 1,1734 238, 1735 18 1736 ] 1737 ] 1738 ] 1739 }, 1740 { 1741 "actions": [ 1742 [ 1743 239, 1729 1744 [ 1730 1745 1, 1731 1746 2, 1732 1747 3, 1733 2 321734 ], 1735 [ 1736 2 33,1737 91738 ] 1739 ], 1740 [ 1741 23 1,1748 240 1749 ], 1750 [ 1751 241, 1752 18 1753 ] 1754 ], 1755 [ 1756 239, 1742 1757 [ 1743 1758 4, 1744 1759 5, 1745 1760 6, 1746 76,1761 85, 1747 1762 7 1748 1763 ], 1749 1764 [ 1750 2 34,1751 91752 ] 1753 ], 1754 [ 1755 23 1,1765 242, 1766 18 1767 ] 1768 ], 1769 [ 1770 239, 1756 1771 [ 1757 1772 8, … … 1762 1777 ], 1763 1778 [ 1764 2 35,1765 91766 ] 1767 ], 1768 [ 1769 23 1,1779 243, 1780 18 1781 ] 1782 ], 1783 [ 1784 239, 1770 1785 [ 1771 1786 12, … … 1776 1791 ], 1777 1792 [ 1778 2 36,1779 91780 ] 1781 ], 1782 [ 1783 23 1,1793 244, 1794 18 1795 ] 1796 ], 1797 [ 1798 239, 1784 1799 [ 1785 1800 17, … … 1792 1807 ], 1793 1808 [ 1794 2 37,1795 91796 ] 1797 ], 1798 [ 1799 23 1,1809 245, 1810 18 1811 ] 1812 ], 1813 [ 1814 239, 1800 1815 [ 1801 1816 24, … … 1809 1824 ], 1810 1825 [ 1811 2 38,1812 91813 ] 1814 ] 1815 ] 1816 }, 1817 { 1818 "actions": [ 1819 [ 1820 2 39,1821 [ 1822 6 01823 ], 1824 [ 1825 24 0,1826 91827 ] 1828 ], 1829 [ 1830 2 39,1831 [ 1832 64,1826 246, 1827 18 1828 ] 1829 ] 1830 ] 1831 }, 1832 { 1833 "actions": [ 1834 [ 1835 247, 1836 [ 1837 69 1838 ], 1839 [ 1840 248, 1841 18 1842 ] 1843 ], 1844 [ 1845 247, 1846 [ 1847 73, 1833 1848 1 1834 1849 ], 1835 1850 [ 1836 24 1,1837 91838 ] 1839 ], 1840 [ 1841 2 39,1851 249, 1852 18 1853 ] 1854 ], 1855 [ 1856 247, 1842 1857 [ 1843 1858 2, … … 1845 1860 ], 1846 1861 [ 1847 2 42,1848 91849 ] 1850 ], 1851 [ 1852 2 39,1862 250, 1863 18 1864 ] 1865 ], 1866 [ 1867 247, 1853 1868 [ 1854 1869 3, … … 1856 1871 ], 1857 1872 [ 1858 2 43,1859 91860 ] 1861 ], 1862 [ 1863 2 39,1873 251, 1874 18 1875 ] 1876 ], 1877 [ 1878 247, 1864 1879 [ 1865 1880 5, … … 1869 1884 ], 1870 1885 [ 1871 2 44,1872 91873 ] 1874 ], 1875 [ 1876 2 39,1886 252, 1887 18 1888 ] 1889 ], 1890 [ 1891 247, 1877 1892 [ 1878 1893 9, … … 1883 1898 ], 1884 1899 [ 1885 2 45,1886 91887 ] 1888 ] 1889 ] 1890 }, 1891 { 1892 "actions": [ 1893 [ 1894 2 46,1900 253, 1901 18 1902 ] 1903 ] 1904 ] 1905 }, 1906 { 1907 "actions": [ 1908 [ 1909 254, 1895 1910 [ 1896 1911 1, … … 1902 1917 ], 1903 1918 [ 1904 2 47,1905 91906 ] 1907 ], 1908 [ 1909 2 46,1919 255, 1920 18 1921 ] 1922 ], 1923 [ 1924 254, 1910 1925 [ 1911 1926 [ … … 1919 1934 ], 1920 1935 [ 1921 2 48,1922 6,1923 2 49,1924 91925 ] 1926 ], 1927 [ 1928 2 46,1936 256, 1937 15, 1938 257, 1939 18 1940 ] 1941 ], 1942 [ 1943 254, 1929 1944 [ 1930 1945 [ … … 1938 1953 ], 1939 1954 [ 1940 25 0,1941 6,1942 25 1,1943 91944 ] 1945 ] 1946 ] 1947 }, 1948 { 1949 "actions": [ 1950 [ 1951 2 52,1955 258, 1956 15, 1957 259, 1958 18 1959 ] 1960 ] 1961 ] 1962 }, 1963 { 1964 "actions": [ 1965 [ 1966 260, 1952 1967 [], 1953 1968 [ 1954 2 53,1955 91956 ] 1957 ], 1958 [ 1959 2 52,1969 261, 1970 18 1971 ] 1972 ], 1973 [ 1974 260, 1960 1975 [ 1961 1976 1 1962 1977 ], 1963 1978 [ 1964 2 54,1965 91966 ] 1967 ] 1968 ] 1969 }, 1970 { 1971 "actions": [ 1972 [ 1973 2 55,1979 262, 1980 18 1981 ] 1982 ] 1983 ] 1984 }, 1985 { 1986 "actions": [ 1987 [ 1988 263, 1974 1989 [], 1975 1990 [ 1976 2 56,1977 91978 ] 1979 ], 1980 [ 1981 2 55,1982 [ 1983 761984 ], 1985 [ 1986 2 57,1987 91988 ] 1989 ] 1990 ] 1991 }, 1992 { 1993 "actions": [ 1994 [ 1995 2 58,1991 264, 1992 18 1993 ] 1994 ], 1995 [ 1996 263, 1997 [ 1998 85 1999 ], 2000 [ 2001 265, 2002 18 2003 ] 2004 ] 2005 ] 2006 }, 2007 { 2008 "actions": [ 2009 [ 2010 266, 1996 2011 [], 1997 2012 [ 1998 2 59,1999 92000 ] 2001 ], 2002 [ 2003 2 58,2013 267, 2014 18 2015 ] 2016 ], 2017 [ 2018 266, 2004 2019 [ 2005 2020 1 2006 2021 ], 2007 2022 [ 2008 26 0,2009 92010 ] 2011 ] 2012 ] 2013 }, 2014 { 2015 "actions": [ 2016 [ 2017 26 1,2023 268, 2024 18 2025 ] 2026 ] 2027 ] 2028 }, 2029 { 2030 "actions": [ 2031 [ 2032 269, 2018 2033 [], 2019 2034 [ 2020 2 62,2021 92022 ] 2023 ], 2024 [ 2025 26 1,2035 270, 2036 18 2037 ] 2038 ], 2039 [ 2040 269, 2026 2041 [ 2027 2042 1 2028 2043 ], 2029 2044 [ 2030 2 63,2031 92032 ] 2033 ] 2034 ] 2035 }, 2036 { 2037 "actions": [ 2038 [ 2039 2 64,2045 271, 2046 18 2047 ] 2048 ] 2049 ] 2050 }, 2051 { 2052 "actions": [ 2053 [ 2054 272, 2040 2055 [], 2041 2056 [ 2042 2 65,2043 92044 ] 2045 ], 2046 [ 2047 2 64,2048 [ 2049 412050 ], 2051 [ 2052 2 66,2053 92054 ] 2055 ] 2056 ] 2057 }, 2058 { 2059 "actions": [ 2060 [ 2061 2 67,2057 273, 2058 18 2059 ] 2060 ], 2061 [ 2062 272, 2063 [ 2064 50 2065 ], 2066 [ 2067 274, 2068 18 2069 ] 2070 ] 2071 ] 2072 }, 2073 { 2074 "actions": [ 2075 [ 2076 275, 2062 2077 [ 2063 2078 1, … … 2067 2082 ], 2068 2083 [ 2069 2 68,2070 92071 ] 2072 ] 2073 ] 2074 }, 2075 { 2076 "actions": [ 2077 [ 2078 2 69,2084 276, 2085 18 2086 ] 2087 ] 2088 ] 2089 }, 2090 { 2091 "actions": [ 2092 [ 2093 277, 2079 2094 [], 2080 2095 [ 2081 27 0,2082 92083 ] 2084 ], 2085 [ 2086 2 69,2087 [ 2088 762089 ], 2090 [ 2091 27 1,2092 92093 ] 2094 ], 2095 [ 2096 2 69,2097 [ 2098 12 02099 ], 2100 [ 2101 2 72,2102 92103 ] 2104 ], 2105 [ 2106 2 69,2107 [ 2108 1 232109 ], 2110 [ 2111 2 73,2112 92113 ] 2114 ], 2115 [ 2116 2 69,2117 [ 2118 1 282119 ], 2120 [ 2121 2 74,2122 92123 ] 2124 ] 2125 ] 2126 }, 2127 { 2128 "actions": [ 2129 [ 2130 2 75,2131 [ 2132 6 0,2096 278, 2097 18 2098 ] 2099 ], 2100 [ 2101 277, 2102 [ 2103 85 2104 ], 2105 [ 2106 279, 2107 18 2108 ] 2109 ], 2110 [ 2111 277, 2112 [ 2113 129 2114 ], 2115 [ 2116 280, 2117 18 2118 ] 2119 ], 2120 [ 2121 277, 2122 [ 2123 132 2124 ], 2125 [ 2126 281, 2127 18 2128 ] 2129 ], 2130 [ 2131 277, 2132 [ 2133 137 2134 ], 2135 [ 2136 282, 2137 18 2138 ] 2139 ] 2140 ] 2141 }, 2142 { 2143 "actions": [ 2144 [ 2145 283, 2146 [ 2147 69, 2133 2148 1, 2134 2149 2 2135 2150 ], 2136 2151 [ 2137 2 76,2138 92139 ] 2140 ], 2141 [ 2142 2 75,2143 [ 2144 64,2152 284, 2153 18 2154 ] 2155 ], 2156 [ 2157 283, 2158 [ 2159 73, 2145 2160 3, 2146 2161 4, … … 2148 2163 ], 2149 2164 [ 2150 2 77,2151 92152 ] 2153 ] 2154 ] 2155 }, 2156 { 2157 "actions": [ 2158 [ 2159 2 78,2165 285, 2166 18 2167 ] 2168 ] 2169 ] 2170 }, 2171 { 2172 "actions": [ 2173 [ 2174 286, 2160 2175 [], 2161 2176 [ 2162 2 79,2163 92164 ] 2165 ], 2166 [ 2167 2 78,2168 [ 2169 762170 ], 2171 [ 2172 28 0,2173 92174 ] 2175 ] 2176 ] 2177 }, 2178 { 2179 "actions": [ 2180 [ 2181 28 1,2177 287, 2178 18 2179 ] 2180 ], 2181 [ 2182 286, 2183 [ 2184 85 2185 ], 2186 [ 2187 288, 2188 18 2189 ] 2190 ] 2191 ] 2192 }, 2193 { 2194 "actions": [ 2195 [ 2196 289, 2182 2197 [], 2183 2198 [ 2184 2 82,2185 92186 ] 2187 ], 2188 [ 2189 28 1,2190 [ 2191 762192 ], 2193 [ 2194 2 83,2195 92196 ] 2197 ] 2198 ] 2199 }, 2200 { 2201 "actions": [ 2202 [ 2203 2 84,2199 290, 2200 18 2201 ] 2202 ], 2203 [ 2204 289, 2205 [ 2206 85 2207 ], 2208 [ 2209 291, 2210 18 2211 ] 2212 ] 2213 ] 2214 }, 2215 { 2216 "actions": [ 2217 [ 2218 292, 2204 2219 [ 2205 2220 1, … … 2211 2226 ], 2212 2227 [ 2213 2 85,2214 92215 ] 2216 ] 2217 ] 2218 }, 2219 { 2220 "actions": [ 2221 [ 2222 2 86,2228 293, 2229 18 2230 ] 2231 ] 2232 ] 2233 }, 2234 { 2235 "actions": [ 2236 [ 2237 294, 2223 2238 [ 2224 2239 1, … … 2226 2241 ], 2227 2242 [ 2228 2 87,2229 92230 ] 2231 ] 2232 ] 2233 }, 2234 { 2235 "actions": [ 2236 [ 2237 2 88,2243 295, 2244 18 2245 ] 2246 ] 2247 ] 2248 }, 2249 { 2250 "actions": [ 2251 [ 2252 296, 2238 2253 [], 2239 2254 [ 2240 2 89,2241 92242 ] 2243 ] 2244 ] 2245 }, 2246 { 2247 "actions": [ 2248 [ 2249 29 0,2255 297, 2256 18 2257 ] 2258 ] 2259 ] 2260 }, 2261 { 2262 "actions": [ 2263 [ 2264 298, 2250 2265 [ 2251 2266 1, … … 2255 2270 ], 2256 2271 [ 2257 29 1,2258 6,2259 292,2260 92261 ] 2262 ] 2263 ] 2264 }, 2265 { 2266 "actions": [ 2267 [ 2268 293,2272 299, 2273 15, 2274 300, 2275 18 2276 ] 2277 ] 2278 ] 2279 }, 2280 { 2281 "actions": [ 2282 [ 2283 301, 2269 2284 [], 2270 2285 [ 2271 294,2272 92273 ] 2274 ], 2275 [ 2276 293,2286 302, 2287 18 2288 ] 2289 ], 2290 [ 2291 301, 2277 2292 [ 2278 2293 1 2279 2294 ], 2280 2295 [ 2281 295,2282 92283 ] 2284 ] 2285 ] 2286 }, 2287 { 2288 "actions": [ 2289 [ 2290 296,2296 303, 2297 18 2298 ] 2299 ] 2300 ] 2301 }, 2302 { 2303 "actions": [ 2304 [ 2305 304, 2291 2306 [], 2292 2307 [ 2293 297,2294 92295 ] 2296 ], 2297 [ 2298 296,2308 305, 2309 18 2310 ] 2311 ], 2312 [ 2313 304, 2299 2314 [ 2300 2315 [ … … 2304 2319 ], 2305 2320 [ 2306 298,2307 92308 ] 2309 ] 2310 ] 2311 }, 2312 { 2313 "actions": [ 2314 [ 2315 299,2321 306, 2322 18 2323 ] 2324 ] 2325 ] 2326 }, 2327 { 2328 "actions": [ 2329 [ 2330 307, 2316 2331 [], 2317 2332 [ 2318 30 0,2319 92320 ] 2321 ], 2322 [ 2323 299,2333 308, 2334 18 2335 ] 2336 ], 2337 [ 2338 307, 2324 2339 [ 2325 2340 1 2326 2341 ], 2327 2342 [ 2328 30 1,2329 92330 ] 2331 ] 2332 ] 2333 }, 2334 { 2335 "actions": [ 2336 [ 2337 3 02,2338 [ 2339 5 0,2343 309, 2344 18 2345 ] 2346 ] 2347 ] 2348 }, 2349 { 2350 "actions": [ 2351 [ 2352 310, 2353 [ 2354 59, 2340 2355 5, 2341 2356 6 2342 2357 ], 2343 2358 [ 2344 3 03,2345 92346 ] 2347 ], 2348 [ 2349 3 02,2350 [ 2351 1 87,2359 311, 2360 18 2361 ] 2362 ], 2363 [ 2364 310, 2365 [ 2366 195, 2352 2367 7, 2353 2368 8, … … 2358 2373 ], 2359 2374 [ 2360 3 04,2361 92375 312, 2376 18 2362 2377 ] 2363 2378 ] … … 2366 2381 ], 2367 2382 "data": [ 2383 "source-over", 2384 "butt", 2385 "miter", 2386 "rgba(0, 0, 0, 0)", 2387 "10px sans-serif", 2388 "start", 2389 "alphabetic", 2390 "ltr", 2368 2391 "#000000", 2392 "low", 2393 "", 2369 2394 "arc", 2370 "",2371 2395 "inspector/canvas/recording-2d.html", 2372 2396 [ 2373 2,2374 3,2375 58,2397 10, 2398 12, 2399 77, 2376 2400 42 2377 2401 ], 2378 2402 "ignoreException", 2379 2403 [ 2380 5,2381 3,2382 4 5,2404 14, 2405 12, 2406 48, 2383 2407 10 2384 2408 ], 2385 2409 [ 2386 2,2387 3,2388 58,2410 10, 2411 12, 2412 77, 2389 2413 28 2390 2414 ], 2391 2415 "f", 2392 2416 [ 2393 8,2394 3,2395 3 78,2417 17, 2418 12, 2419 399, 2396 2420 24 2397 2421 ], 2398 2422 "performActions", 2399 2423 [ 2400 1 0,2401 3,2402 382,2424 19, 2425 12, 2426 403, 2403 2427 6 2404 2428 ], 2405 2429 "global code", 2406 2430 [ 2407 12,2408 2,2431 21, 2432 10, 2409 2433 1, 2410 2434 15 … … 2413 2437 "[native code]", 2414 2438 [ 2415 14,2416 15,2439 23, 2440 24, 2417 2441 0, 2418 2442 0 … … 2420 2444 "_evaluateOn", 2421 2445 [ 2422 17,2423 2,2446 26, 2447 10, 2424 2448 128, 2425 2449 29 … … 2427 2451 "_evaluateAndWrap", 2428 2452 [ 2429 19,2430 2,2453 28, 2454 10, 2431 2455 122, 2432 2456 108 2433 2457 ], 2434 2458 [ 2435 2,2436 3,2437 59,2459 10, 2460 12, 2461 78, 2438 2462 42 2439 2463 ], 2440 2464 [ 2441 2,2442 3,2443 59,2465 10, 2466 12, 2467 78, 2444 2468 28 2445 2469 ], 2446 2470 "arcTo", 2447 2471 [ 2448 2,2449 3,2450 62,2472 10, 2473 12, 2474 81, 2451 2475 44 2452 2476 ], 2453 2477 [ 2454 2,2455 3,2456 62,2478 10, 2479 12, 2480 81, 2457 2481 28 2458 2482 ], 2459 2483 "beginPath", 2460 2484 [ 2461 2,2462 3,2463 65,2485 10, 2486 12, 2487 84, 2464 2488 26 2465 2489 ], 2466 2490 "bezierCurveTo", 2467 2491 [ 2468 2,2469 3,2470 68,2492 10, 2493 12, 2494 87, 2471 2495 30 2472 2496 ], 2473 2497 "canvas", 2474 2498 [ 2475 2,2476 3,2477 71,2499 10, 2500 12, 2501 90, 2478 2502 16 2479 2503 ], 2480 2504 "clearRect", 2481 2505 [ 2482 2,2483 3,2484 74,2506 10, 2507 12, 2508 93, 2485 2509 26 2486 2510 ], 2487 2511 "clearShadow", 2488 2512 [ 2489 2,2490 3,2491 77,2513 10, 2514 12, 2515 96, 2492 2516 28 2493 2517 ], … … 2495 2519 "nonzero", 2496 2520 [ 2497 2,2498 3,2499 80,2521 10, 2522 12, 2523 99, 2500 2524 21 2501 2525 ], 2502 2526 "evenodd", 2503 2527 [ 2504 2,2505 3,2506 81,2528 10, 2529 12, 2530 100, 2507 2531 21 2508 2532 ], 2509 2533 "M1 2", 2510 2534 [ 2511 2,2512 3,2513 82,2535 10, 2536 12, 2537 101, 2514 2538 21 2515 2539 ], 2516 2540 "M3 4", 2517 2541 [ 2518 2,2519 3,2520 83,2542 10, 2543 12, 2544 102, 2521 2545 21 2522 2546 ], 2523 2547 "closePath", 2524 2548 [ 2525 2,2526 3,2527 86,2549 10, 2550 12, 2551 105, 2528 2552 26 2529 2553 ], 2530 2554 "commit", 2531 2555 [ 2532 2,2533 3,2534 89,2556 10, 2557 12, 2558 108, 2535 2559 23 2536 2560 ], … … 2559 2583 ], 2560 2584 [ 2561 2,2562 3,2563 92,2585 10, 2586 12, 2587 111, 2564 2588 54 2565 2589 ], 2566 2590 [ 2567 2,2568 3,2569 92,2591 10, 2592 12, 2593 111, 2570 2594 28 2571 2595 ], 2572 2596 [ 2573 2,2574 3,2575 93,2597 10, 2598 12, 2599 112, 2576 2600 54 2577 2601 ], 2578 2602 [ 2579 2,2580 3,2581 93,2603 10, 2604 12, 2605 112, 2582 2606 28 2583 2607 ], 2584 2608 "createLinearGradient", 2585 2609 [ 2586 2,2587 3,2588 96,2610 10, 2611 12, 2612 115, 2589 2613 59 2590 2614 ], 2591 2615 [ 2592 2,2593 3,2594 96,2616 10, 2617 12, 2618 115, 2595 2619 28 2596 2620 ], … … 2599 2623 "testA", 2600 2624 [ 2601 2,2602 3,2603 99,2625 10, 2626 12, 2627 118, 2604 2628 52 2605 2629 ], 2606 2630 [ 2607 2,2608 3,2609 99,2631 10, 2632 12, 2633 118, 2610 2634 28 2611 2635 ], … … 2613 2637 "testB", 2614 2638 [ 2615 2,2616 3,2617 1 00,2639 10, 2640 12, 2641 119, 2618 2642 52 2619 2643 ], 2620 2644 [ 2621 2,2622 3,2623 1 00,2645 10, 2646 12, 2647 119, 2624 2648 28 2625 2649 ], … … 2627 2651 "testC", 2628 2652 [ 2629 2,2630 3,2631 1 01,2653 10, 2654 12, 2655 120, 2632 2656 52 2633 2657 ], 2634 2658 [ 2635 2,2636 3,2637 1 01,2659 10, 2660 12, 2661 120, 2638 2662 28 2639 2663 ], 2640 2664 "createRadialGradient", 2641 2665 [ 2642 2,2643 3,2644 1 04,2666 10, 2667 12, 2668 123, 2645 2669 59 2646 2670 ], 2647 2671 [ 2648 2,2649 3,2650 1 04,2672 10, 2673 12, 2674 123, 2651 2675 28 2652 2676 ], 2653 2677 "direction", 2654 2678 [ 2655 2,2656 3,2657 1 07,2679 10, 2680 12, 2681 126, 2658 2682 16 2659 2683 ], 2660 2684 "test", 2661 2685 [ 2662 2,2663 3,2664 1 08,2686 10, 2687 12, 2688 127, 2665 2689 16 2666 2690 ], … … 2668 2692 "element", 2669 2693 [ 2670 2,2671 3,2672 1 11,2694 10, 2695 12, 2696 130, 2673 2697 34 2674 2698 ], 2675 2699 [ 2676 2,2677 3,2678 1 12,2700 10, 2701 12, 2702 131, 2679 2703 34 2680 2704 ], 2681 2705 "drawImage", 2682 2706 [ 2683 2,2684 3,2685 1 15,2707 10, 2708 12, 2709 134, 2686 2710 48 2687 2711 ], 2688 2712 [ 2689 2,2690 3,2691 1 15,2713 10, 2714 12, 2715 134, 2692 2716 28 2693 2717 ], 2694 2718 [ 2695 2,2696 3,2697 1 16,2719 10, 2720 12, 2721 135, 2698 2722 48 2699 2723 ], 2700 2724 [ 2701 2,2702 3,2703 1 16,2725 10, 2726 12, 2727 135, 2704 2728 28 2705 2729 ], 2706 2730 [ 2707 2,2708 3,2709 1 17,2731 10, 2732 12, 2733 136, 2710 2734 48 2711 2735 ], 2712 2736 [ 2713 2,2714 3,2715 1 17,2737 10, 2738 12, 2739 136, 2716 2740 28 2717 2741 ], 2718 2742 [ 2719 2,2720 3,2721 1 18,2743 10, 2744 12, 2745 137, 2722 2746 48 2723 2747 ], 2724 2748 [ 2725 2,2726 3,2727 1 18,2749 10, 2750 12, 2751 137, 2728 2752 28 2729 2753 ], 2730 2754 [ 2731 2,2732 3,2733 1 19,2755 10, 2756 12, 2757 138, 2734 2758 48 2735 2759 ], 2736 2760 [ 2737 2,2738 3,2739 1 19,2761 10, 2762 12, 2763 138, 2740 2764 28 2741 2765 ], 2742 2766 [ 2743 2,2744 3,2745 1 20,2767 10, 2768 12, 2769 139, 2746 2770 48 2747 2771 ], 2748 2772 [ 2749 2,2750 3,2751 1 20,2773 10, 2774 12, 2775 139, 2752 2776 28 2753 2777 ], 2754 2778 [ 2755 2,2756 3,2757 1 21,2779 10, 2780 12, 2781 140, 2758 2782 48 2759 2783 ], 2760 2784 [ 2761 2,2762 3,2763 1 21,2785 10, 2786 12, 2787 140, 2764 2788 28 2765 2789 ], 2766 2790 [ 2767 2,2768 3,2769 1 22,2791 10, 2792 12, 2793 141, 2770 2794 48 2771 2795 ], 2772 2796 [ 2773 2,2774 3,2775 1 22,2797 10, 2798 12, 2799 141, 2776 2800 28 2777 2801 ], 2778 2802 [ 2779 2,2780 3,2781 1 23,2803 10, 2804 12, 2805 142, 2782 2806 48 2783 2807 ], 2784 2808 [ 2785 2,2786 3,2787 1 23,2809 10, 2810 12, 2811 142, 2788 2812 28 2789 2813 ], 2790 2814 "drawImageFromRect", 2791 2815 [ 2792 2,2793 3,2794 1 26,2816 10, 2817 12, 2818 145, 2795 2819 34 2796 2820 ], 2797 2821 [ 2798 2,2799 3,2800 1 27,2822 10, 2823 12, 2824 146, 2801 2825 34 2802 2826 ], 2803 2827 "ellipse", 2804 2828 [ 2805 2,2806 3,2807 1 30,2829 10, 2830 12, 2831 149, 2808 2832 46 2809 2833 ], 2810 2834 [ 2811 2,2812 3,2813 1 30,2835 10, 2836 12, 2837 149, 2814 2838 28 2815 2839 ], 2816 2840 [ 2817 2,2818 3,2819 1 31,2841 10, 2842 12, 2843 150, 2820 2844 46 2821 2845 ], 2822 2846 [ 2823 2,2824 3,2825 1 31,2847 10, 2848 12, 2849 150, 2826 2850 28 2827 2851 ], 2828 2852 "fill", 2829 2853 [ 2830 2,2831 3,2832 1 34,2854 10, 2855 12, 2856 153, 2833 2857 21 2834 2858 ], 2835 2859 [ 2836 2,2837 3,2838 1 35,2860 10, 2861 12, 2862 154, 2839 2863 21 2840 2864 ], 2841 2865 [ 2842 2,2843 3,2844 1 36,2866 10, 2867 12, 2868 155, 2845 2869 21 2846 2870 ], 2847 2871 [ 2848 2,2849 3,2850 1 37,2872 10, 2873 12, 2874 156, 2851 2875 21 2852 2876 ], 2853 2877 "fillRect", 2854 2878 [ 2855 2,2856 3,2857 1 40,2879 10, 2880 12, 2881 159, 2858 2882 25 2859 2883 ], 2860 2884 "fillStyle", 2861 2885 [ 2862 2,2863 3,2864 1 43,2865 16 2866 ], 2867 [ 2868 2,2869 3,2870 1 44,2886 10, 2887 12, 2888 162, 2889 16 2890 ], 2891 [ 2892 10, 2893 12, 2894 163, 2871 2895 16 2872 2896 ], 2873 2897 "linear-gradient", 2874 2898 [ 2875 1 19,2899 128, 2876 2900 [ 2877 2901 1, … … 2883 2907 ], 2884 2908 [ 2885 2,2886 3,2887 1 45,2909 10, 2910 12, 2911 164, 2888 2912 16 2889 2913 ], 2890 2914 "radial-gradient", 2891 2915 [ 2892 1 22,2916 131, 2893 2917 [ 2894 2918 1, … … 2902 2926 ], 2903 2927 [ 2904 2,2905 3,2906 1 46,2928 10, 2929 12, 2930 165, 2907 2931 16 2908 2932 ], … … 2911 2935 "no-repeat", 2912 2936 [ 2913 1 25,2914 1 26,2915 1 272916 ], 2917 [ 2918 2,2919 3,2920 1 47,2937 134, 2938 135, 2939 136 2940 ], 2941 [ 2942 10, 2943 12, 2944 166, 2921 2945 16 2922 2946 ], 2923 2947 "fillText", 2924 2948 [ 2925 2,2926 3,2927 1 50,2949 10, 2950 12, 2951 169, 2928 2952 25 2929 2953 ], 2930 2954 [ 2931 2,2932 3,2933 1 51,2955 10, 2956 12, 2957 170, 2934 2958 25 2935 2959 ], 2936 2960 "font", 2937 2961 [ 2938 2,2939 3,2940 1 54,2941 16 2942 ], 2943 [ 2944 2,2945 3,2946 1 55,2962 10, 2963 12, 2964 173, 2965 16 2966 ], 2967 [ 2968 10, 2969 12, 2970 174, 2947 2971 16 2948 2972 ], 2949 2973 "getImageData", 2950 2974 [ 2951 2,2952 3,2953 1 58,2975 10, 2976 12, 2977 177, 2954 2978 51 2955 2979 ], 2956 2980 [ 2957 2,2958 3,2959 1 58,2981 10, 2982 12, 2983 177, 2960 2984 28 2961 2985 ], 2962 2986 "getLineDash", 2963 2987 [ 2964 2,2965 3,2966 1 61,2988 10, 2989 12, 2990 180, 2967 2991 28 2968 2992 ], 2969 2993 "getTransform", 2970 2994 [ 2971 2,2972 3,2973 1 64,2995 10, 2996 12, 2997 183, 2974 2998 29 2975 2999 ], 2976 3000 "globalAlpha", 2977 3001 [ 2978 2,2979 3,2980 1 67,2981 16 2982 ], 2983 [ 2984 2,2985 3,2986 1 68,3002 10, 3003 12, 3004 186, 3005 16 3006 ], 3007 [ 3008 10, 3009 12, 3010 187, 2987 3011 16 2988 3012 ], 2989 3013 "globalCompositeOperation", 2990 3014 [ 2991 2,2992 3,2993 1 71,2994 16 2995 ], 2996 [ 2997 2,2998 3,2999 1 72,3015 10, 3016 12, 3017 190, 3018 16 3019 ], 3020 [ 3021 10, 3022 12, 3023 191, 3000 3024 16 3001 3025 ], 3002 3026 "imageSmoothingEnabled", 3003 3027 [ 3004 2,3005 3,3006 1 75,3007 16 3008 ], 3009 [ 3010 2,3011 3,3012 1 76,3028 10, 3029 12, 3030 194, 3031 16 3032 ], 3033 [ 3034 10, 3035 12, 3036 195, 3013 3037 16 3014 3038 ], 3015 3039 "imageSmoothingQuality", 3016 3040 [ 3017 2, 3018 3, 3019 179, 3020 16 3021 ], 3022 "low", 3023 [ 3024 2, 3025 3, 3026 180, 3041 10, 3042 12, 3043 198, 3044 16 3045 ], 3046 [ 3047 10, 3048 12, 3049 199, 3027 3050 16 3028 3051 ], 3029 3052 "isPointInPath", 3030 3053 [ 3031 2,3032 3,3033 183,3054 10, 3055 12, 3056 202, 3034 3057 30 3035 3058 ], 3036 3059 [ 3037 2,3038 3,3039 184,3060 10, 3061 12, 3062 203, 3040 3063 30 3041 3064 ], 3042 3065 [ 3043 2,3044 3,3045 185,3066 10, 3067 12, 3068 204, 3046 3069 30 3047 3070 ], 3048 3071 [ 3049 2,3050 3,3051 186,3072 10, 3073 12, 3074 205, 3052 3075 30 3053 3076 ], 3054 3077 "isPointInStroke", 3055 3078 [ 3056 2,3057 3,3058 189,3079 10, 3080 12, 3081 208, 3059 3082 32 3060 3083 ], 3061 3084 [ 3062 2,3063 3,3064 190,3085 10, 3086 12, 3087 209, 3065 3088 32 3066 3089 ], 3067 3090 "lineCap", 3068 3091 [ 3069 2,3070 3,3071 193,3072 16 3073 ], 3074 [ 3075 2,3076 3,3077 194,3092 10, 3093 12, 3094 212, 3095 16 3096 ], 3097 [ 3098 10, 3099 12, 3100 213, 3078 3101 16 3079 3102 ], 3080 3103 "lineDashOffset", 3081 3104 [ 3082 2,3083 3,3084 197,3085 16 3086 ], 3087 [ 3088 2,3089 3,3090 198,3105 10, 3106 12, 3107 216, 3108 16 3109 ], 3110 [ 3111 10, 3112 12, 3113 217, 3091 3114 16 3092 3115 ], 3093 3116 "lineJoin", 3094 3117 [ 3095 2,3096 3,3097 2 01,3098 16 3099 ], 3100 [ 3101 2,3102 3,3103 2 02,3118 10, 3119 12, 3120 220, 3121 16 3122 ], 3123 [ 3124 10, 3125 12, 3126 221, 3104 3127 16 3105 3128 ], 3106 3129 "lineTo", 3107 3130 [ 3108 2,3109 3,3110 2 05,3131 10, 3132 12, 3133 224, 3111 3134 23 3112 3135 ], 3113 3136 "lineWidth", 3114 3137 [ 3115 2,3116 3,3117 2 08,3118 16 3119 ], 3120 [ 3121 2,3122 3,3123 2 09,3138 10, 3139 12, 3140 227, 3141 16 3142 ], 3143 [ 3144 10, 3145 12, 3146 228, 3124 3147 16 3125 3148 ], 3126 3149 "measureText", 3127 3150 [ 3128 2,3129 3,3130 2 12,3151 10, 3152 12, 3153 231, 3131 3154 28 3132 3155 ], 3133 3156 "miterLimit", 3134 3157 [ 3135 2,3136 3,3137 2 15,3138 16 3139 ], 3140 [ 3141 2,3142 3,3143 2 16,3158 10, 3159 12, 3160 234, 3161 16 3162 ], 3163 [ 3164 10, 3165 12, 3166 235, 3144 3167 16 3145 3168 ], 3146 3169 "moveTo", 3147 3170 [ 3148 2,3149 3,3150 2 19,3171 10, 3172 12, 3173 238, 3151 3174 23 3152 3175 ], 3153 3176 "putImageData", 3154 3177 [ 3155 2,3156 3,3157 2 22,3178 10, 3179 12, 3180 241, 3158 3181 29 3159 3182 ], … … 3189 3212 ], 3190 3213 [ 3191 2,3192 3,3193 2 23,3214 10, 3215 12, 3216 242, 3194 3217 29 3195 3218 ], 3196 3219 "quadraticCurveTo", 3197 3220 [ 3198 2,3199 3,3200 2 26,3221 10, 3222 12, 3223 245, 3201 3224 33 3202 3225 ], 3203 3226 "rect", 3204 3227 [ 3205 2,3206 3,3207 2 29,3228 10, 3229 12, 3230 248, 3208 3231 21 3209 3232 ], 3210 3233 "resetTransform", 3211 3234 [ 3212 2,3213 3,3214 2 32,3235 10, 3236 12, 3237 251, 3215 3238 31 3216 3239 ], 3217 3240 "restore", 3218 3241 [ 3219 2,3220 3,3221 2 35,3242 10, 3243 12, 3244 254, 3222 3245 24 3223 3246 ], 3224 3247 "rotate", 3225 3248 [ 3226 2,3227 3,3228 2 38,3249 10, 3250 12, 3251 259, 3229 3252 23 3230 3253 ], 3231 3254 "save", 3232 3255 [ 3233 2,3234 3,3235 2 41,3256 10, 3257 12, 3258 262, 3236 3259 21 3237 3260 ], 3238 3261 "scale", 3239 3262 [ 3240 2,3241 3,3242 2 44,3263 10, 3264 12, 3265 265, 3243 3266 22 3244 3267 ], 3245 3268 "setAlpha", 3246 3269 [ 3247 2,3248 3,3249 2 47,3270 10, 3271 12, 3272 268, 3250 3273 25 3251 3274 ], 3252 3275 [ 3253 2,3254 3,3255 2 48,3276 10, 3277 12, 3278 269, 3256 3279 25 3257 3280 ], … … 3259 3282 "undefined", 3260 3283 [ 3261 2,3262 3,3263 2 51,3284 10, 3285 12, 3286 272, 3264 3287 38 3265 3288 ], 3266 3289 [ 3267 2,3268 3,3269 2 52,3290 10, 3291 12, 3292 273, 3270 3293 38 3271 3294 ], 3272 3295 "setFillColor", 3273 3296 [ 3274 2,3275 3,3276 2 55,3297 10, 3298 12, 3299 276, 3277 3300 29 3278 3301 ], 3279 3302 [ 3280 2,3281 3,3282 2 56,3303 10, 3304 12, 3305 277, 3283 3306 29 3284 3307 ], 3285 3308 [ 3286 2,3287 3,3288 2 57,3309 10, 3310 12, 3311 278, 3289 3312 29 3290 3313 ], 3291 3314 [ 3292 2,3293 3,3294 2 58,3315 10, 3316 12, 3317 279, 3295 3318 29 3296 3319 ], 3297 3320 [ 3298 2,3299 3,3300 2 59,3321 10, 3322 12, 3323 280, 3301 3324 29 3302 3325 ], 3303 3326 [ 3304 2,3305 3,3306 2 60,3327 10, 3328 12, 3329 281, 3307 3330 29 3308 3331 ], 3309 3332 "setLineCap", 3310 3333 [ 3311 2,3312 3,3313 2 63,3334 10, 3335 12, 3336 284, 3314 3337 27 3315 3338 ], 3316 3339 [ 3317 2,3318 3,3319 2 64,3340 10, 3341 12, 3342 285, 3320 3343 27 3321 3344 ], 3322 3345 "setLineDash", 3323 3346 [ 3324 2,3325 3,3326 2 67,3347 10, 3348 12, 3349 288, 3327 3350 28 3328 3351 ], 3329 3352 "setLineJoin", 3330 3353 [ 3331 2,3332 3,3333 2 70,3354 10, 3355 12, 3356 291, 3334 3357 28 3335 3358 ], 3336 3359 [ 3337 2,3338 3,3339 2 71,3360 10, 3361 12, 3362 292, 3340 3363 28 3341 3364 ], 3342 3365 "setLineWidth", 3343 3366 [ 3344 2,3345 3,3346 2 74,3367 10, 3368 12, 3369 295, 3347 3370 29 3348 3371 ], 3349 3372 [ 3350 2,3351 3,3352 2 75,3373 10, 3374 12, 3375 296, 3353 3376 29 3354 3377 ], 3355 3378 "setMiterLimit", 3356 3379 [ 3357 2,3358 3,3359 2 78,3380 10, 3381 12, 3382 299, 3360 3383 30 3361 3384 ], 3362 3385 [ 3363 2,3364 3,3365 279,3386 10, 3387 12, 3388 300, 3366 3389 30 3367 3390 ], … … 3369 3392 "", 3370 3393 [ 3371 2,3372 3,3373 282,3394 10, 3395 12, 3396 303, 3374 3397 26 3375 3398 ], 3376 3399 [ 3377 2,3378 3,3379 283,3400 10, 3401 12, 3402 304, 3380 3403 26 3381 3404 ], 3382 3405 [ 3383 2,3384 3,3385 284,3406 10, 3407 12, 3408 305, 3386 3409 26 3387 3410 ], 3388 3411 [ 3389 2,3390 3,3391 285,3412 10, 3413 12, 3414 306, 3392 3415 26 3393 3416 ], 3394 3417 [ 3395 2,3396 3,3397 286,3418 10, 3419 12, 3420 307, 3398 3421 26 3399 3422 ], 3400 3423 [ 3401 2,3402 3,3403 287,3424 10, 3425 12, 3426 308, 3404 3427 26 3405 3428 ], 3406 3429 "setStrokeColor", 3407 3430 [ 3408 2,3409 3,3410 290,3431 10, 3432 12, 3433 311, 3411 3434 31 3412 3435 ], 3413 3436 [ 3414 2,3415 3,3416 291,3437 10, 3438 12, 3439 312, 3417 3440 31 3418 3441 ], 3419 3442 [ 3420 2,3421 3,3422 292,3443 10, 3444 12, 3445 313, 3423 3446 31 3424 3447 ], 3425 3448 [ 3426 2,3427 3,3428 293,3449 10, 3450 12, 3451 314, 3429 3452 31 3430 3453 ], 3431 3454 [ 3432 2,3433 3,3434 294,3455 10, 3456 12, 3457 315, 3435 3458 31 3436 3459 ], 3437 3460 [ 3438 2,3439 3,3440 295,3461 10, 3462 12, 3463 316, 3441 3464 31 3442 3465 ], 3443 3466 "setTransform", 3444 3467 [ 3445 2,3446 3,3447 298,3468 10, 3469 12, 3470 319, 3448 3471 29 3449 3472 ], 3450 3473 [ 3451 2,3452 3,3453 299,3474 10, 3475 12, 3476 320, 3454 3477 51 3455 3478 ], 3456 3479 [ 3457 2,3458 3,3459 299,3480 10, 3481 12, 3482 320, 3460 3483 28 3461 3484 ], 3462 3485 [ 3463 2,3464 3,3465 3 00,3486 10, 3487 12, 3488 321, 3466 3489 51 3467 3490 ], 3468 3491 [ 3469 2,3470 3,3471 3 00,3492 10, 3493 12, 3494 321, 3472 3495 28 3473 3496 ], 3474 3497 "shadowBlur", 3475 3498 [ 3476 2,3477 3,3478 3 03,3479 16 3480 ], 3481 [ 3482 2,3483 3,3484 3 04,3499 10, 3500 12, 3501 324, 3502 16 3503 ], 3504 [ 3505 10, 3506 12, 3507 325, 3485 3508 16 3486 3509 ], 3487 3510 "shadowColor", 3488 3511 [ 3489 2,3490 3,3491 3 07,3492 16 3493 ], 3494 [ 3495 2,3496 3,3497 3 08,3512 10, 3513 12, 3514 328, 3515 16 3516 ], 3517 [ 3518 10, 3519 12, 3520 329, 3498 3521 16 3499 3522 ], 3500 3523 "shadowOffsetX", 3501 3524 [ 3502 2,3503 3,3504 3 11,3505 16 3506 ], 3507 [ 3508 2,3509 3,3510 3 12,3525 10, 3526 12, 3527 332, 3528 16 3529 ], 3530 [ 3531 10, 3532 12, 3533 333, 3511 3534 16 3512 3535 ], 3513 3536 "shadowOffsetY", 3514 3537 [ 3515 2,3516 3,3517 3 15,3518 16 3519 ], 3520 [ 3521 2,3522 3,3523 3 16,3538 10, 3539 12, 3540 336, 3541 16 3542 ], 3543 [ 3544 10, 3545 12, 3546 337, 3524 3547 16 3525 3548 ], 3526 3549 "stroke", 3527 3550 [ 3528 2,3529 3,3530 3 19,3551 10, 3552 12, 3553 340, 3531 3554 23 3532 3555 ], 3533 3556 [ 3534 2,3535 3,3536 3 20,3557 10, 3558 12, 3559 341, 3537 3560 23 3538 3561 ], 3539 3562 "strokeRect", 3540 3563 [ 3541 2,3542 3,3543 3 23,3564 10, 3565 12, 3566 344, 3544 3567 27 3545 3568 ], 3546 3569 "strokeStyle", 3547 3570 [ 3548 2,3549 3,3550 3 26,3551 16 3552 ], 3553 [ 3554 2,3555 3,3556 3 27,3557 16 3558 ], 3559 [ 3560 2,3561 3,3562 3 28,3563 16 3564 ], 3565 [ 3566 2,3567 3,3568 3 29,3569 16 3570 ], 3571 [ 3572 2,3573 3,3574 3 30,3571 10, 3572 12, 3573 347, 3574 16 3575 ], 3576 [ 3577 10, 3578 12, 3579 348, 3580 16 3581 ], 3582 [ 3583 10, 3584 12, 3585 349, 3586 16 3587 ], 3588 [ 3589 10, 3590 12, 3591 350, 3592 16 3593 ], 3594 [ 3595 10, 3596 12, 3597 351, 3575 3598 16 3576 3599 ], 3577 3600 "strokeText", 3578 3601 [ 3579 2,3580 3,3581 3 33,3602 10, 3603 12, 3604 354, 3582 3605 27 3583 3606 ], 3584 3607 [ 3585 2,3586 3,3587 3 34,3608 10, 3609 12, 3610 355, 3588 3611 27 3589 3612 ], 3590 3613 "textAlign", 3591 3614 [ 3592 2,3593 3,3594 3 37,3595 16 3596 ], 3597 [ 3598 2,3599 3,3600 3 38,3615 10, 3616 12, 3617 358, 3618 16 3619 ], 3620 [ 3621 10, 3622 12, 3623 359, 3601 3624 16 3602 3625 ], 3603 3626 "textBaseline", 3604 3627 [ 3605 2,3606 3,3607 3 41,3608 16 3609 ], 3610 [ 3611 2,3612 3,3613 3 42,3628 10, 3629 12, 3630 362, 3631 16 3632 ], 3633 [ 3634 10, 3635 12, 3636 363, 3614 3637 16 3615 3638 ], 3616 3639 "transform", 3617 3640 [ 3618 2,3619 3,3620 3 45,3641 10, 3642 12, 3643 366, 3621 3644 26 3622 3645 ], 3623 3646 "translate", 3624 3647 [ 3625 2,3626 3,3627 3 48,3648 10, 3649 12, 3650 369, 3628 3651 26 3629 3652 ], 3630 3653 "webkitBackingStorePixelRatio", 3631 3654 [ 3632 2,3633 3,3634 3 51,3655 10, 3656 12, 3657 372, 3635 3658 16 3636 3659 ], 3637 3660 "webkitGetImageDataHD", 3638 3661 [ 3639 2,3640 3,3641 3 54,3662 10, 3663 12, 3664 375, 3642 3665 59 3643 3666 ], 3644 3667 [ 3645 2,3646 3,3647 3 54,3668 10, 3669 12, 3670 375, 3648 3671 28 3649 3672 ], 3650 3673 "webkitImageSmoothingEnabled", 3651 3674 [ 3652 2,3653 3,3654 3 57,3655 16 3656 ], 3657 [ 3658 2,3659 3,3660 3 58,3675 10, 3676 12, 3677 378, 3678 16 3679 ], 3680 [ 3681 10, 3682 12, 3683 379, 3661 3684 16 3662 3685 ], 3663 3686 "webkitLineDash", 3664 3687 [ 3665 2,3666 3,3667 3 61,3668 16 3669 ], 3670 [ 3671 2,3672 3,3673 3 62,3688 10, 3689 12, 3690 382, 3691 16 3692 ], 3693 [ 3694 10, 3695 12, 3696 383, 3674 3697 16 3675 3698 ], 3676 3699 "webkitLineDashOffset", 3677 3700 [ 3678 2,3679 3,3680 3 65,3681 16 3682 ], 3683 [ 3684 2,3685 3,3686 3 66,3701 10, 3702 12, 3703 386, 3704 16 3705 ], 3706 [ 3707 10, 3708 12, 3709 387, 3687 3710 16 3688 3711 ], 3689 3712 "webkitPutImageDataHD", 3690 3713 [ 3691 2,3692 3,3693 3 69,3714 10, 3715 12, 3716 390, 3694 3717 37 3695 3718 ], 3696 3719 [ 3697 2,3698 3,3699 3 70,3720 10, 3721 12, 3722 391, 3700 3723 37 3701 3724 ] … … 3712 3735 "height": 2, 3713 3736 "setTransform": [ 3714 25,3715 28,3716 57,3717 64,3718 239,3719 2683737 1, 3738 0, 3739 0, 3740 1, 3741 0, 3742 0 3720 3743 ], 3721 3744 "globalAlpha": 1, 3722 "globalCompositeOperation": "source-over",3745 "globalCompositeOperation": 0, 3723 3746 "lineWidth": 1, 3724 "lineCap": "butt",3725 "lineJoin": "miter",3726 "miterLimit": 1 ,3727 "shadowOffsetX": 1,3728 "shadowOffsetY": 1,3729 "shadowBlur": 1,3730 "shadowColor": "#ffffff",3747 "lineCap": 1, 3748 "lineJoin": 2, 3749 "miterLimit": 10, 3750 "shadowOffsetX": 0, 3751 "shadowOffsetY": 0, 3752 "shadowBlur": 0, 3753 "shadowColor": 3, 3731 3754 "setLineDash": [ 3732 [ 3733 1, 3734 2 3735 ] 3755 [] 3736 3756 ], 3737 "lineDashOffset": 1,3738 "font": "10px sans-serif",3739 "textAlign": "start",3740 "textBaseline": "alphabetic",3741 "direction": "ltr",3742 "strokeStyle": 3,3743 "fillStyle": 4,3757 "lineDashOffset": 0, 3758 "font": 4, 3759 "textAlign": 5, 3760 "textBaseline": 6, 3761 "direction": 7, 3762 "strokeStyle": 8, 3763 "fillStyle": 8, 3744 3764 "imageSmoothingEnabled": true, 3745 "imageSmoothingQuality": "low" 3765 "imageSmoothingQuality": 9, 3766 "setPath": [ 3767 10 3768 ] 3746 3769 }, 3747 3770 "content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAAtJREFUCB1jYEAHAAASAAGAFMrMAAAAAElFTkSuQmCC" … … 3751 3774 "actions": [ 3752 3775 [ 3753 5,3776 11, 3754 3777 [ 3755 3778 1, … … 3761 3784 ], 3762 3785 [ 3763 8,3764 10,3765 11,3766 3786 13, 3767 3787 15, 3768 17, 3788 16, 3789 18, 3769 3790 20, 3770 3791 22, 3771 24 3792 25, 3793 27, 3794 29 3772 3795 ] 3773 3796 ] … … 3777 3800 ], 3778 3801 "data": [ 3779 "pattern", 3780 "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABNJREFUCB1j/M/AAEQMDEwgAgQAHxcCAmtAm/sAAAAASUVORK5CYII=", 3781 "no-repeat", 3782 [ 3783 0, 3784 1, 3785 2 3786 ], 3787 "#ffffff", 3802 "source-over", 3803 "butt", 3804 "miter", 3805 "rgba(0, 0, 0, 0)", 3806 "10px sans-serif", 3807 "start", 3808 "alphabetic", 3809 "ltr", 3810 "#000000", 3811 "low", 3812 "", 3788 3813 "arc", 3789 "",3790 3814 "inspector/canvas/recording-2d.html", 3791 3815 [ 3792 6,3793 7,3794 58,3816 10, 3817 12, 3818 77, 3795 3819 42 3796 3820 ], 3797 3821 "ignoreException", 3798 3822 [ 3799 9,3800 7,3801 4 5,3823 14, 3824 12, 3825 48, 3802 3826 10 3803 3827 ], 3804 3828 [ 3805 6,3806 7,3807 58,3829 10, 3830 12, 3831 77, 3808 3832 28 3809 3833 ], 3810 3834 "f", 3811 3835 [ 3812 1 2,3813 7,3814 3 78,3836 17, 3837 12, 3838 399, 3815 3839 24 3816 3840 ], 3817 3841 "performActions", 3818 3842 [ 3819 1 4,3820 7,3821 382,3843 19, 3844 12, 3845 403, 3822 3846 6 3823 3847 ], 3824 3848 "global code", 3825 3849 [ 3826 16,3827 6,3850 21, 3851 10, 3828 3852 1, 3829 3853 15 … … 3832 3856 "[native code]", 3833 3857 [ 3834 18,3835 19,3858 23, 3859 24, 3836 3860 0, 3837 3861 0 … … 3839 3863 "_evaluateOn", 3840 3864 [ 3841 2 1,3842 6,3865 26, 3866 10, 3843 3867 128, 3844 3868 29 … … 3846 3870 "_evaluateAndWrap", 3847 3871 [ 3848 2 3,3849 6,3872 28, 3873 10, 3850 3874 122, 3851 3875 108 -
trunk/LayoutTests/inspector/canvas/recording-2d.html
r220188 r220370 38 38 document.body.appendChild(canvas); 39 39 40 ctx.save(); 41 ctx.save(); // This matches the `restore` call in `performActions`. 42 40 43 runTest(); 41 44 } … … 48 51 49 52 let timeoutID = NaN; 53 let restoreCalled = false; 50 54 51 55 function cancelActions() { 56 if (!isNaN(timeoutID)) { 57 ctx.restore(); 58 if (!restoreCalled) 59 ctx.restore(); 60 } 61 52 62 clearTimeout(timeoutID); 63 timeoutID = NaN; 64 65 ctx.save(); 66 ctx.save(); 67 ctx.resetTransform(); 68 ctx.beginPath(); 69 ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height); 70 71 restoreCalled = false; 53 72 } 54 73 … … 234 253 () => { 235 254 ctx.restore(); 255 256 restoreCalled = true; 236 257 }, 237 258 () => { -
trunk/Source/WebCore/ChangeLog
r220366 r220370 1 2017-08-07 Devin Rousso <drousso@apple.com> 2 3 Web Inspector: Preview Canvas path when viewing a recording 4 https://bugs.webkit.org/show_bug.cgi?id=174967 5 6 Reviewed by Brian Burg. 7 8 Tests: fast/canvas/2d.currentPoint.html 9 fast/canvas/2d.getPath.modification.html 10 fast/canvas/2d.getPath.newobject.html 11 fast/canvas/2d.setPath.html 12 13 * html/canvas/CanvasPath.idl: 14 * html/canvas/CanvasPath.h: 15 * html/canvas/CanvasPath.cpp: 16 (WebCore::CanvasPath::currentX const): 17 (WebCore::CanvasPath::currentY const): 18 19 * html/canvas/CanvasRenderingContext2D.idl: 20 * html/canvas/CanvasRenderingContext2D.h: 21 * html/canvas/CanvasRenderingContext2D.cpp: 22 (WebCore::CanvasRenderingContext2D::setPath): 23 (WebCore::CanvasRenderingContext2D::getPath const): 24 25 * page/RuntimeEnabledFeatures.h: 26 (WebCore::RuntimeEnabledFeatures::setInspectorAdditionsEnabled): 27 (WebCore::RuntimeEnabledFeatures::inspectorAdditionsEnabled const): 28 Add runtime flag for added IDL items above so that they are only usable within the inspector 29 process. The runtime flag is not enabled from anywhere else as of now. 30 31 * inspector/InspectorCanvas.cpp: 32 (WebCore::InspectorCanvas::buildInitialState): 33 Send current path as part of the InitialState. 34 Drive-by: deduplicate more string values. 35 1 36 2017-08-07 Chris Dumez <cdumez@apple.com> 2 37 -
trunk/Source/WebCore/html/canvas/CanvasPath.cpp
r219856 r220370 235 235 m_path.addRect(FloatRect(x, y, width, height)); 236 236 } 237 } 237 238 float CanvasPath::currentX() const 239 { 240 return m_path.currentPoint().x(); 241 } 242 243 float CanvasPath::currentY() const 244 { 245 return m_path.currentPoint().y(); 246 } 247 248 } -
trunk/Source/WebCore/html/canvas/CanvasPath.h
r207720 r220370 48 48 void rect(float x, float y, float width, float height); 49 49 50 float currentX() const; 51 float currentY() const; 52 50 53 protected: 51 54 CanvasPath() { } -
trunk/Source/WebCore/html/canvas/CanvasPath.idl
r207720 r220370 39 39 [MayThrowException] void arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); 40 40 [MayThrowException] void ellipse(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); 41 42 [EnabledAtRuntime=InspectorAdditions] readonly attribute float currentX; 43 [EnabledAtRuntime=InspectorAdditions] readonly attribute float currentY; 41 44 }; -
trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
r219970 r220370 2655 2655 } 2656 2656 2657 void CanvasRenderingContext2D::setPath(DOMPath& path) 2658 { 2659 m_path = path.path(); 2660 } 2661 2662 Ref<DOMPath> CanvasRenderingContext2D::getPath() const 2663 { 2664 return DOMPath::create(m_path); 2665 } 2666 2657 2667 } // namespace WebCore -
trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.h
r219970 r220370 227 227 void setImageSmoothingQuality(ImageSmoothingQuality); 228 228 229 void setPath(DOMPath&); 230 Ref<DOMPath> getPath() const; 231 229 232 bool usesDisplayListDrawing() const { return m_usesDisplayListDrawing; }; 230 233 void setUsesDisplayListDrawing(bool flag) { m_usesDisplayListDrawing = flag; }; -
trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.idl
r220008 r220370 190 190 [ImplementedAs=imageSmoothingEnabled] attribute boolean webkitImageSmoothingEnabled; 191 191 attribute ImageSmoothingQuality imageSmoothingQuality; 192 193 [EnabledAtRuntime=InspectorAdditions] void setPath(DOMPath path); 194 [EnabledAtRuntime=InspectorAdditions, NewObject] DOMPath getPath(); 192 195 }; 193 196 -
trunk/Source/WebCore/inspector/InspectorCanvas.cpp
r220188 r220370 339 339 attributes->setArray(ASCIILiteral("setTransform"), buildArrayForAffineTransform(state.transform)); 340 340 attributes->setDouble(ASCIILiteral("globalAlpha"), context2d->globalAlpha()); 341 attributes->set String(ASCIILiteral("globalCompositeOperation"), context2d->globalCompositeOperation());341 attributes->setInteger(ASCIILiteral("globalCompositeOperation"), indexForData(context2d->globalCompositeOperation())); 342 342 attributes->setDouble(ASCIILiteral("lineWidth"), context2d->lineWidth()); 343 attributes->set String(ASCIILiteral("lineCap"), context2d->lineCap());344 attributes->set String(ASCIILiteral("lineJoin"), context2d->lineJoin());343 attributes->setInteger(ASCIILiteral("lineCap"), indexForData(context2d->lineCap())); 344 attributes->setInteger(ASCIILiteral("lineJoin"), indexForData(context2d->lineJoin())); 345 345 attributes->setDouble(ASCIILiteral("miterLimit"), context2d->miterLimit()); 346 346 attributes->setDouble(ASCIILiteral("shadowOffsetX"), context2d->shadowOffsetX()); 347 347 attributes->setDouble(ASCIILiteral("shadowOffsetY"), context2d->shadowOffsetY()); 348 348 attributes->setDouble(ASCIILiteral("shadowBlur"), context2d->shadowBlur()); 349 attributes->set String(ASCIILiteral("shadowColor"), context2d->shadowColor());349 attributes->setInteger(ASCIILiteral("shadowColor"), indexForData(context2d->shadowColor())); 350 350 351 351 // The parameter to `setLineDash` is itself an array, so we need to wrap the parameters … … 356 356 357 357 attributes->setDouble(ASCIILiteral("lineDashOffset"), context2d->lineDashOffset()); 358 attributes->set String(ASCIILiteral("font"), context2d->font());359 attributes->set String(ASCIILiteral("textAlign"), context2d->textAlign());360 attributes->set String(ASCIILiteral("textBaseline"), context2d->textBaseline());361 attributes->set String(ASCIILiteral("direction"), context2d->direction());358 attributes->setInteger(ASCIILiteral("font"), indexForData(context2d->font())); 359 attributes->setInteger(ASCIILiteral("textAlign"), indexForData(context2d->textAlign())); 360 attributes->setInteger(ASCIILiteral("textBaseline"), indexForData(context2d->textBaseline())); 361 attributes->setInteger(ASCIILiteral("direction"), indexForData(context2d->direction())); 362 362 363 363 int strokeStyleIndex; … … 380 380 381 381 attributes->setBoolean(ASCIILiteral("imageSmoothingEnabled"), context2d->imageSmoothingEnabled()); 382 attributes->setString(ASCIILiteral("imageSmoothingQuality"), CanvasRenderingContext2D::stringForImageSmoothingQuality(context2d->imageSmoothingQuality())); 382 attributes->setInteger(ASCIILiteral("imageSmoothingQuality"), indexForData(CanvasRenderingContext2D::stringForImageSmoothingQuality(context2d->imageSmoothingQuality()))); 383 384 auto setPath = Inspector::Protocol::Array<InspectorValue>::create(); 385 setPath->addItem(indexForData(buildStringFromPath(context2d->getPath()->path()))); 386 attributes->setArray(ASCIILiteral("setPath"), WTFMove(setPath)); 383 387 } 384 388 -
trunk/Source/WebCore/page/RuntimeEnabledFeatures.h
r220337 r220370 208 208 #endif 209 209 210 void setInspectorAdditionsEnabled(bool isEnabled) { m_inspectorAdditionsEnabled = isEnabled; } 211 bool inspectorAdditionsEnabled() const { return m_inspectorAdditionsEnabled; } 212 210 213 WEBCORE_EXPORT static RuntimeEnabledFeatures& sharedFeatures(); 211 214 … … 320 323 #endif 321 324 325 bool m_inspectorAdditionsEnabled { false }; 326 322 327 friend class WTF::NeverDestroyed<RuntimeEnabledFeatures>; 323 328 }; -
trunk/Source/WebInspectorUI/ChangeLog
r220294 r220370 1 2017-08-07 Devin Rousso <drousso@apple.com> 2 3 Web Inspector: Preview Canvas path when viewing a recording 4 https://bugs.webkit.org/show_bug.cgi?id=174967 5 6 Reviewed by Brian Burg. 7 8 * Localizations/en.lproj/localizedStrings.js: 9 * UserInterface/Base/Setting.js: 10 11 * UserInterface/Views/RecordingContentView.js: 12 (WI.RecordingContentView): 13 (WI.RecordingContentView.supportsCanvasPathDebugging): 14 (WI.RecordingContentView.prototype.get navigationItems): 15 (WI.RecordingContentView.prototype.shown): 16 (WI.RecordingContentView.prototype._generateContentCanvas2D): 17 (WI.RecordingContentView.prototype._actionModifiesPath): 18 (WI.RecordingContentView.prototype._updateCanvasPath): 19 (WI.RecordingContentView.prototype._showPathButtonClicked): 20 Show each segment of the current path as an overlay when the setting is enabled. 21 Drive-by: fix forgotten function rename. 22 23 * UserInterface/Views/RecordingContentView.css: 24 (.content-view:not(.tab).recording canvas.path): 25 26 * UserInterface/Views/RecordingStateDetailsSidebarPanel.js: 27 (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D): 28 Show the currentX/currentY in the current state. 29 30 * UserInterface/Models/RecordingAction.js: 31 (WI.RecordingAction.isFunctionForType): 32 (WI.RecordingAction.prototype.swizzle): 33 Use Sets for better performance. 34 1 35 2017-08-04 Devin Rousso <drousso@apple.com> 2 36 -
trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
r220294 r220370 450 450 localizedStrings["Hide Console"] = "Hide Console"; 451 451 localizedStrings["Hide Grid"] = "Hide Grid"; 452 localizedStrings["Hide Path"] = "Hide Path"; 452 453 localizedStrings["Hide compositing borders"] = "Hide compositing borders"; 453 454 localizedStrings["Hide shadow DOM nodes"] = "Hide shadow DOM nodes"; … … 790 791 localizedStrings["Show Contexts in Resources Tab"] = "Show Contexts in Resources Tab"; 791 792 localizedStrings["Show Grid"] = "Show Grid"; 793 localizedStrings["Show Path"] = "Show Path"; 792 794 localizedStrings["Show Remaining (%d)"] = "Show Remaining (%d)"; 793 795 localizedStrings["Show Scope Chain on pause"] = "Show Scope Chain on pause"; -
trunk/Source/WebInspectorUI/UserInterface/Base/Setting.js
r220119 r220370 122 122 showScopeChainOnPause: new WI.Setting("show-scope-chain-sidebar", true), 123 123 showImageGrid: new WI.Setting("show-image-grid", false), 124 showCanvasPath: new WI.Setting("show-canvas-path", false), 124 125 125 126 // Experimental -
trunk/Source/WebInspectorUI/UserInterface/Models/RecordingAction.js
r220188 r220370 41 41 this._isGetter = false; 42 42 this._isVisual = false; 43 this._stateModifiers = [];43 this._stateModifiers = new Set; 44 44 } 45 45 … … 70 70 return false; 71 71 72 return functionNames. includes(name);72 return functionNames.has(name); 73 73 } 74 74 … … 120 120 121 121 let visualNames = WI.RecordingAction._visualNames[recording.type]; 122 this._isVisual = visualNames ? visualNames. includes(this._name) : false;123 124 this._stateModifiers = [this._name];122 this._isVisual = visualNames ? visualNames.has(this._name) : false; 123 124 this._stateModifiers = new Set([this._name]); 125 125 let stateModifiers = WI.RecordingAction._stateModifiers[recording.type]; 126 126 if (stateModifiers) { 127 let modifiedByAction = stateModifiers[this._name] ;128 if (modifiedByAction)129 this._stateModifiers = this._stateModifiers.concat(modifiedByAction);127 let modifiedByAction = stateModifiers[this._name] || []; 128 for (let item of modifiedByAction) 129 this._stateModifiers.add(item); 130 130 } 131 131 } … … 297 297 298 298 WI.RecordingAction._functionNames = { 299 [WI.Recording.Type.Canvas2D]: [299 [WI.Recording.Type.Canvas2D]: new Set([ 300 300 "arc", 301 301 "arcTo", … … 356 356 "webkitGetImageDataHD", 357 357 "webkitPutImageDataHD", 358 ] ,358 ]), 359 359 }; 360 360 361 361 WI.RecordingAction._visualNames = { 362 [WI.Recording.Type.Canvas2D]: [362 [WI.Recording.Type.Canvas2D]: new Set([ 363 363 "clearRect", 364 364 "drawFocusIfNeeded", … … 373 373 "strokeText", 374 374 "webkitPutImageDataHD", 375 ] ,375 ]), 376 376 }; 377 377 -
trunk/Source/WebInspectorUI/UserInterface/Views/RecordingContentView.css
r220114 r220370 42 42 max-height: 100%; 43 43 } 44 45 .content-view:not(.tab).recording canvas.path { 46 position: absolute; 47 z-index: 10; 48 } -
trunk/Source/WebInspectorUI/UserInterface/Views/RecordingContentView.js
r220119 r220370 39 39 40 40 if (this.representedObject.type === WI.Recording.Type.Canvas2D) { 41 if (WI.RecordingContentView.supportsCanvasPathDebugging()) { 42 this._pathContext = null; 43 44 this._showPathButtonNavigationItem = new WI.ActivateButtonNavigationItem("show-path", WI.UIString("Show Path"), WI.UIString("Hide Path"), "Images/PaintFlashing.svg", 13, 13); 45 this._showPathButtonNavigationItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, this._showPathButtonClicked, this); 46 this._showPathButtonNavigationItem.activated = !!WI.settings.showCanvasPath.value; 47 } 48 41 49 this._showGridButtonNavigationItem = new WI.ActivateButtonNavigationItem("show-grid", WI.UIString("Show Grid"), WI.UIString("Hide Grid"), "Images/NavigationItemCheckers.svg", 13, 13); 42 50 this._showGridButtonNavigationItem.addEventListener(WI.ButtonNavigationItem.Event.Clicked, this._showGridButtonClicked, this); … … 46 54 this._previewContainer = this.element.appendChild(document.createElement("div")); 47 55 this._previewContainer.classList.add("preview-container"); 48 } 56 } 57 58 // Static 59 60 static supportsCanvasPathDebugging() 61 { 62 return "currentX" in CanvasRenderingContext2D.prototype && "currentY" in CanvasRenderingContext2D.prototype; 63 } 64 65 static _actionModifiesPath(recordingAction) 66 { 67 switch (recordingAction.name) { 68 case "arc": 69 case "arcTo": 70 case "beginPath": 71 case "bezierCurveTo": 72 case "closePath": 73 case "ellipse": 74 case "lineTo": 75 case "moveTo": 76 case "quadraticCurveTo": 77 case "rect": 78 return true; 79 } 80 81 return false; 82 } 49 83 50 84 // Public … … 52 86 get navigationItems() 53 87 { 54 if (this.representedObject.type === WI.Recording.Type.Canvas2D) 55 return [this._showGridButtonNavigationItem]; 88 if (this.representedObject.type === WI.Recording.Type.Canvas2D) { 89 let navigationItems = [this._showGridButtonNavigationItem]; 90 if (WI.RecordingContentView.supportsCanvasPathDebugging()) 91 navigationItems.unshift(this._showPathButtonNavigationItem); 92 return navigationItems; 93 } 56 94 return []; 57 95 } … … 75 113 super.shown(); 76 114 77 if (this.representedObject.type === WI.Recording.Type.Canvas2D) 115 if (this.representedObject.type === WI.Recording.Type.Canvas2D) { 116 this._updateCanvasPath(); 78 117 this._updateImageGrid(); 118 } 79 119 } 80 120 … … 110 150 let snapshot = this._snapshots[snapshotIndex]; 111 151 152 let showCanvasPath = WI.RecordingContentView.supportsCanvasPathDebugging() && WI.settings.showCanvasPath.value; 153 let indexOfLastBeginPathAction = Infinity; 154 112 155 let actions = this.representedObject.actions; 113 156 let applyActions = (from, to, callback) => { … … 125 168 126 169 try { 127 if (WI.RecordingAction. functionForType(this.representedObject.type, name))170 if (WI.RecordingAction.isFunctionForType(this.representedObject.type, name)) 128 171 snapshot.context[name](...snapshot.state[name]); 129 172 else … … 133 176 } 134 177 } 178 179 let shouldDrawCanvasPath = showCanvasPath && indexOfLastBeginPathAction <= to; 180 if (shouldDrawCanvasPath) { 181 if (!this._pathContext) { 182 let pathCanvas = document.createElement("canvas"); 183 pathCanvas.classList.add("path"); 184 this._pathContext = pathCanvas.getContext("2d"); 185 } 186 187 this._pathContext.canvas.width = snapshot.element.width; 188 this._pathContext.canvas.height = snapshot.element.height; 189 this._pathContext.clearRect(0, 0, snapshot.element.width, snapshot.element.height); 190 191 this._pathContext.save(); 192 193 this._pathContext.fillStyle = "hsla(0, 0%, 100%, 0.75)"; 194 this._pathContext.fillRect(0, 0, snapshot.element.width, snapshot.element.height); 195 } 196 197 let lastPathPoint = {}; 198 let subPathStartPoint = {}; 135 199 136 200 for (let i = from; i <= to; ++i) { … … 144 208 145 209 this._applyAction(snapshot.context, actions[i]); 146 } 210 211 if (shouldDrawCanvasPath && i >= indexOfLastBeginPathAction && WI.RecordingContentView._actionModifiesPath(actions[i])) { 212 lastPathPoint = {x: this._pathContext.currentX, y: this._pathContext.currentY}; 213 214 if (i === indexOfLastBeginPathAction) 215 this._pathContext.setTransform(snapshot.context.getTransform()); 216 217 let isMoveTo = actions[i].name === "moveTo"; 218 this._pathContext.lineWidth = isMoveTo ? 0.5 : 1; 219 this._pathContext.setLineDash(isMoveTo ? [5, 5] : []); 220 this._pathContext.strokeStyle = i === to ? "red" : "black"; 221 222 this._pathContext.beginPath(); 223 if (!isEmptyObject(lastPathPoint)) 224 this._pathContext.moveTo(lastPathPoint.x, lastPathPoint.y); 225 226 if (actions[i].name === "closePath" && !isEmptyObject(subPathStartPoint)) { 227 this._pathContext.lineTo(subPathStartPoint.x, subPathStartPoint.y); 228 subPathStartPoint = {}; 229 } else { 230 this._applyAction(this._pathContext, actions[i], {nameOverride: isMoveTo ? "lineTo" : null}); 231 if (isMoveTo) 232 subPathStartPoint = {x: this._pathContext.currentX, y: this._pathContext.currentY}; 233 } 234 235 this._pathContext.stroke(); 236 } 237 } 238 239 if (shouldDrawCanvasPath) { 240 this._pathContext.restore(); 241 this._previewContainer.appendChild(this._pathContext.canvas); 242 } else if (this._pathContext) 243 this._pathContext.canvas.remove(); 147 244 148 245 callback(); … … 168 265 let lastSnapshotIndex = snapshotIndex; 169 266 while (--lastSnapshotIndex >= 0) { 170 if (this._snapshots[ --lastSnapshotIndex])267 if (this._snapshots[lastSnapshotIndex]) 171 268 break; 172 269 } … … 179 276 for (let key in initialState.attributes) { 180 277 let value = initialState.attributes[key]; 181 if (key === "strokeStyle" || key === "fillStyle") 278 279 switch (key) { 280 case "fillStyle": 281 case "strokeStyle": 182 282 value = this.representedObject.swizzle(value, WI.Recording.Swizzle.CanvasStyle); 183 184 if (value === WI.Recording.Swizzle.Invalid) 283 break; 284 285 case "direction": 286 case "font": 287 case "globalCompositeOperation": 288 case "imageSmoothingEnabled": 289 case "imageSmoothingQuality": 290 case "lineCap": 291 case "lineJoin": 292 case "shadowColor": 293 case "textAlign": 294 case "textBaseline": 295 value = this.representedObject.swizzle(value, WI.Recording.Swizzle.String); 296 break; 297 298 case "setPath": 299 value = [this.representedObject.swizzle(value[0], WI.Recording.Swizzle.Path2D)]; 300 break; 301 } 302 303 if (value === WI.Recording.Swizzle.Invalid || (Array.isArray(value) && value.includes(WI.Recording.Swizzle.Invalid))) 185 304 continue; 186 305 … … 220 339 webkitLineDashOffset: snapshot.context.webkitLineDashOffset, 221 340 }; 341 342 if (WI.RecordingContentView.supportsCanvasPathDebugging()) 343 snapshot.state.setPath = [snapshot.context.getPath()]; 222 344 }); 223 345 … … 229 351 230 352 this._previewContainer.removeChildren(); 353 354 if (showCanvasPath) { 355 indexOfLastBeginPathAction = this._index; 356 while (indexOfLastBeginPathAction > snapshot.index && actions[indexOfLastBeginPathAction].name !== "beginPath") 357 --indexOfLastBeginPathAction; 358 } 231 359 232 360 applyActions(snapshot.index, this._index, () => { … … 264 392 } 265 393 394 _updateCanvasPath() 395 { 396 let activated = WI.settings.showCanvasPath.value; 397 if (this._showPathButtonNavigationItem.activated !== activated) 398 this._generateContentCanvas2D(this._index); 399 400 this._showPathButtonNavigationItem.activated = activated; 401 } 402 266 403 _updateImageGrid() 267 404 { … … 274 411 } 275 412 413 _showPathButtonClicked(event) 414 { 415 WI.settings.showCanvasPath.value = !this._showPathButtonNavigationItem.activated; 416 417 this._updateCanvasPath(); 418 } 419 276 420 _showGridButtonClicked(event) 277 421 { -
trunk/Source/WebInspectorUI/UserInterface/Views/RecordingStateDetailsSidebarPanel.js
r220119 r220370 99 99 return; 100 100 101 let state = { 102 direction: context.direction, 103 fillStyle: context.fillStyle, 104 font: context.font, 105 globalAlpha: context.globalAlpha, 106 globalCompositeOperation: context.globalCompositeOperation, 107 imageSmoothingEnabled: context.imageSmoothingEnabled, 108 imageSmoothingQuality: context.imageSmoothingQuality, 109 lineCap: context.lineCap, 110 lineDash: context.getLineDash(), 111 lineDashOffset: context.lineDashOffset, 112 lineJoin: context.lineJoin, 113 lineWidth: context.lineWidth, 114 miterLimit: context.miterLimit, 115 shadowBlur: context.shadowBlur, 116 shadowColor: context.shadowColor, 117 shadowOffsetX: context.shadowOffsetX, 118 shadowOffsetY: context.shadowOffsetY, 119 strokeStyle: context.strokeStyle, 120 textAlign: context.textAlign, 121 textBaseline: context.textBaseline, 122 transform: context.getTransform(), 123 webkitImageSmoothingEnabled: context.webkitImageSmoothingEnabled, 124 webkitLineDash: context.webkitLineDash, 125 webkitLineDashOffset: context.webkitLineDashOffset, 126 }; 101 let state = {}; 102 103 if (WI.RecordingContentView.supportsCanvasPathDebugging()) { 104 state.currentX = context.currentX; 105 state.currentY = context.currentY; 106 } 107 108 state.direction = context.direction; 109 state.fillStyle = context.fillStyle; 110 state.font = context.font; 111 state.globalAlpha = context.globalAlpha; 112 state.globalCompositeOperation = context.globalCompositeOperation; 113 state.imageSmoothingEnabled = context.imageSmoothingEnabled; 114 state.imageSmoothingQuality = context.imageSmoothingQuality; 115 state.lineCap = context.lineCap; 116 state.lineDash = context.getLineDash(); 117 state.lineDashOffset = context.lineDashOffset; 118 state.lineJoin = context.lineJoin; 119 state.lineWidth = context.lineWidth; 120 state.miterLimit = context.miterLimit; 121 state.shadowBlur = context.shadowBlur; 122 state.shadowColor = context.shadowColor; 123 state.shadowOffsetX = context.shadowOffsetX; 124 state.shadowOffsetY = context.shadowOffsetY; 125 state.strokeStyle = context.strokeStyle; 126 state.textAlign = context.textAlign; 127 state.textBaseline = context.textBaseline; 128 state.transform = context.getTransform(); 129 state.webkitImageSmoothingEnabled = context.webkitImageSmoothingEnabled; 130 state.webkitLineDash = context.webkitLineDash; 131 state.webkitLineDashOffset = context.webkitLineDashOffset; 127 132 128 133 let action = this._recording.actions[this._index]; … … 148 153 149 154 let classNames = []; 150 if (!action.isGetter && action.stateModifiers. includes(name))155 if (!action.isGetter && action.stateModifiers.has(name)) 151 156 classNames.push("modified"); 152 157 if (name.startsWith("webkit")) -
trunk/Source/WebKit/ChangeLog
r220368 r220370 1 2017-08-07 Devin Rousso <drousso@apple.com> 2 3 Web Inspector: Preview Canvas path when viewing a recording 4 https://bugs.webkit.org/show_bug.cgi?id=174967 5 6 Reviewed by Brian Burg. 7 8 * Shared/WebPreferencesDefinitions.h: 9 * UIProcess/API/C/WKPreferencesRefPrivate.h: 10 * UIProcess/API/C/WKPreferences.cpp: 11 (WKPreferencesSetInspectorAdditionsEnabled): 12 (WKPreferencesGetInspectorAdditionsEnabled): 13 * WebProcess/WebPage/WebPage.cpp: 14 (WebKit::WebPage::updatePreferences): 15 Add plumbing for new InspectorAdditions runtime flag. 16 17 * WebProcess/WebPage/WebInspectorUI.cpp: 18 (WebKit::WebInspectorUI::WebInspectorUI): 19 Enable InspectorAdditions by default in the WebInspector page. 20 1 21 2017-08-07 Filip Pizlo <fpizlo@apple.com> 2 22 -
trunk/Source/WebKit/Shared/WebPreferencesDefinitions.h
r220311 r220370 292 292 macro(LegacyEncryptedMediaAPIEnabled, legacyEncryptedMediaAPIEnabled, Bool, bool, DEFAULT_LEGACY_ENCRYPTED_MEDIA_API_ENABLED, "Enable Legacy EME API", "Enable legacy EME API") \ 293 293 macro(AllowMediaContentTypesRequiringHardwareSupportAsFallback, allowMediaContentTypesRequiringHardwareSupportAsFallback, Bool, bool, DEFAULT_ALLOW_MEDIA_CONTENT_TYPES_REQUIRING_HARDWARE_SUPPORT_AS_FALLBACK, "Allow Media Content Types Requirining Hardware As Fallback", "Allow Media Content Types Requirining Hardware As Fallback") \ 294 macro(InspectorAdditionsEnabled, inspectorAdditionsEnabled, Bool, bool, false, "Web Inspector Additions", "Enable additional page APIs used by the Web Inspector frontend page") \ 294 295 \ 295 296 -
trunk/Source/WebKit/UIProcess/API/C/WKPreferences.cpp
r220121 r220370 1824 1824 } 1825 1825 1826 void WKPreferencesSetInspectorAdditionsEnabled(WKPreferencesRef preferencesRef, bool flag) 1827 { 1828 toImpl(preferencesRef)->setInspectorAdditionsEnabled(flag); 1829 } 1830 1831 bool WKPreferencesGetInspectorAdditionsEnabled(WKPreferencesRef preferencesRef) 1832 { 1833 return toImpl(preferencesRef)->inspectorAdditionsEnabled(); 1834 } -
trunk/Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h
r220121 r220370 510 510 WK_EXPORT bool WKPreferencesGetIsSecureContextAttributeEnabled(WKPreferencesRef); 511 511 512 // Defaults to false. 513 WK_EXPORT void WKPreferencesSetInspectorAdditionsEnabled(WKPreferencesRef, bool flag); 514 WK_EXPORT bool WKPreferencesGetInspectorAdditionsEnabled(WKPreferencesRef); 515 512 516 #ifdef __cplusplus 513 517 } -
trunk/Source/WebKit/WebProcess/WebPage/WebInspectorUI.cpp
r220278 r220370 35 35 #include <WebCore/InspectorController.h> 36 36 #include <WebCore/NotImplemented.h> 37 #include <WebCore/RuntimeEnabledFeatures.h> 37 38 38 39 using namespace WebCore; … … 49 50 , m_frontendAPIDispatcher(page) 50 51 { 52 RuntimeEnabledFeatures::sharedFeatures().setInspectorAdditionsEnabled(true); 51 53 } 52 54 -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
r220311 r220370 3385 3385 RuntimeEnabledFeatures::sharedFeatures().setLegacyEncryptedMediaAPIEnabled(store.getBoolValueForKey(WebPreferencesKey::legacyEncryptedMediaAPIEnabledKey())); 3386 3386 #endif 3387 3388 RuntimeEnabledFeatures::sharedFeatures().setInspectorAdditionsEnabled(store.getBoolValueForKey(WebPreferencesKey::inspectorAdditionsEnabledKey())); 3387 3389 } 3388 3390 -
trunk/Source/WebKitLegacy/mac/ChangeLog
r220336 r220370 1 2017-08-07 Devin Rousso <drousso@apple.com> 2 3 Web Inspector: Preview Canvas path when viewing a recording 4 https://bugs.webkit.org/show_bug.cgi?id=174967 5 6 Reviewed by Brian Burg. 7 8 * WebView/WebPreferenceKeysPrivate.h: 9 * WebView/WebPreferences.mm: 10 (+[WebPreferences initialize]): 11 (-[WebPreferences inspectorAdditionsEnabled]): 12 (-[WebPreferences setInspectorAdditionsEnabled:]): 13 * WebView/WebPreferencesPrivate.h: 14 * WebView/WebView.mm: 15 (-[WebView _preferencesChanged:]): 16 Add plumbing for new InspectorAdditions runtime flag. 17 1 18 2017-08-07 Brian Burg <bburg@apple.com> 2 19 -
trunk/Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h
r220311 r220370 248 248 #define WebKitLegacyEncryptedMediaAPIEnabledKey @"WebKitLegacyEncryptedMediaAPIEnabled" 249 249 #define WebKitAllowMediaContentTypesRequiringHardwareSupportAsFallbackKey @"WebKitAllowMediaContentTypesRequiringHardwareSupportAsFallback" 250 #define WebKitInspectorAdditionsEnabledPreferenceKey @"WebKitInspectorAdditionsEnabled" -
trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm
r220311 r220370 680 680 @YES, WebKitConstantPropertiesEnabledPreferenceKey, 681 681 @YES, WebKitAllowMediaContentTypesRequiringHardwareSupportAsFallbackKey, 682 @NO, WebKitInspectorAdditionsEnabledPreferenceKey, 682 683 (NSString *)Settings::defaultMediaContentTypesRequiringHardwareSupport(), WebKitMediaContentTypesRequiringHardwareSupportPreferenceKey, 683 684 nil]; … … 3207 3208 } 3208 3209 3210 - (BOOL)inspectorAdditionsEnabled 3211 { 3212 return [self _boolValueForKey:WebKitInspectorAdditionsEnabledPreferenceKey]; 3213 } 3214 3215 - (void)setInspectorAdditionsEnabled:(BOOL)flag 3216 { 3217 [self _setBoolValue:flag forKey:WebKitInspectorAdditionsEnabledPreferenceKey]; 3218 } 3219 3209 3220 @end 3210 3221 -
trunk/Source/WebKitLegacy/mac/WebView/WebPreferencesPrivate.h
r220311 r220370 586 586 @property (nonatomic) BOOL viewportFitEnabled; 587 587 @property (nonatomic) BOOL constantPropertiesEnabled; 588 @property (nonatomic) BOOL inspectorAdditionsEnabled; 588 589 @property (nonatomic) BOOL allowMediaContentTypesRequiringHardwareSupportAsFallback; 589 590 -
trunk/Source/WebKitLegacy/mac/WebView/WebView.mm
r220311 r220370 3039 3039 #endif 3040 3040 3041 RuntimeEnabledFeatures::sharedFeatures().setInspectorAdditionsEnabled(preferences.inspectorAdditionsEnabled); 3042 3041 3043 settings.setAllowMediaContentTypesRequiringHardwareSupportAsFallback(preferences.allowMediaContentTypesRequiringHardwareSupportAsFallback); 3042 3044 -
trunk/Tools/ChangeLog
r220369 r220370 1 2017-08-07 Devin Rousso <drousso@apple.com> 2 3 Web Inspector: Preview Canvas path when viewing a recording 4 https://bugs.webkit.org/show_bug.cgi?id=174967 5 6 Reviewed by Brian Burg. 7 8 * DumpRenderTree/TestOptions.h: 9 * DumpRenderTree/TestOptions.mm: 10 (TestOptions::TestOptions): 11 * DumpRenderTree/mac/DumpRenderTree.mm: 12 (setWebPreferencesForTestOptions): 13 * WebKitTestRunner/TestController.cpp: 14 (WTR::TestController::resetPreferencesToConsistentValues): 15 (WTR::updateTestOptionsFromTestHeader): 16 * WebKitTestRunner/TestOptions.h: 17 (WTR::TestOptions::hasSameInitializationOptions const): 18 Add plumbing for new InspectorAdditions runtime flag. 19 1 20 2017-08-07 obinna obike <oobike@apple.com> 2 21 -
trunk/Tools/DumpRenderTree/TestOptions.h
r218196 r220370 37 37 bool layerBackedWebView { false }; 38 38 bool enableIsSecureContextAttribute { true }; 39 bool enableInspectorAdditions { false }; 39 40 40 41 TestOptions(NSURL*, const TestCommand&); -
trunk/Tools/DumpRenderTree/TestOptions.mm
r220179 r220370 93 93 else if (key == "enableIsSecureContextAttribute") 94 94 this->enableIsSecureContextAttribute = parseBooleanTestHeaderValue(value); 95 else if (key == "enableInspectorAdditions") 96 this->enableInspectorAdditions = parseBooleanTestHeaderValue(value); 95 97 pairStart = pairEnd + 1; 96 98 } -
trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm
r220322 r220370 983 983 preferences.credentialManagementEnabled = options.enableCredentialManagement; 984 984 preferences.isSecureContextAttributeEnabled = options.enableIsSecureContextAttribute; 985 preferences.inspectorAdditionsEnabled = options.enableInspectorAdditions; 985 986 } 986 987 -
trunk/Tools/WebKitTestRunner/TestController.cpp
r220121 r220370 729 729 WKPreferencesSetLargeImageAsyncDecodingEnabled(preferences, false); 730 730 731 WKPreferencesSetInspectorAdditionsEnabled(preferences, options.enableInspectorAdditions); 732 731 733 platformResetPreferencesToConsistentValues(); 732 734 } … … 1022 1024 if (key == "enableIsSecureContextAttribute") 1023 1025 testOptions.enableIsSecureContextAttribute = parseBooleanTestHeaderValue(value); 1026 if (key == "enableInspectorAdditions") 1027 testOptions.enableInspectorAdditions = parseBooleanTestHeaderValue(value); 1024 1028 pairStart = pairEnd + 1; 1025 1029 } -
trunk/Tools/WebKitTestRunner/TestOptions.h
r218196 r220370 49 49 bool enableCredentialManagement { false }; 50 50 bool enableIsSecureContextAttribute { true }; 51 bool enableInspectorAdditions { false }; 51 52 52 53 float deviceScaleFactor { 1 }; … … 70 71 || enablePointerLock != options.enablePointerLock 71 72 || enableCredentialManagement != options.enableCredentialManagement 72 || enableIsSecureContextAttribute != options.enableIsSecureContextAttribute) 73 || enableIsSecureContextAttribute != options.enableIsSecureContextAttribute 74 || enableInspectorAdditions != options.enableInspectorAdditions) 73 75 return false; 74 76
Note: See TracChangeset
for help on using the changeset viewer.